|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Ja, meistens sind es immer nur "Kleinigkeiten", die einen verzweifeln lassen.
Deshalb empfehle ich jeden, an bestimmten Stellen des Codes Alert()-Funktionen einzubauen, mit einem spezifischen Text. Dann erkennt man relativ leicht, wo das Programm hinläuft oder eben nicht. Dann kann man die möglichen Fehlerquellen einengen, bis man halt genau die Stelle hat, wo die Säge klemmt. Viel Erfolg! traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Bedingungen
Hallo zusammen!
Möchte den Code erweitern. Wenn der Stoch z.B. unten war, also z.B. unter 20, soll er nichts machen, sondern erst wenn er dreht und rauskommt, z.B. 21 einen Long eingehen. Ich habe zwei "If" Bedingungen hintereinander gestellt. Das funktioniert aber nicht, weil er nun wohl auf die Erfüllung beider Bedingungen wartet. Es soll aber erst die eine erfüllt werden, um dann die zweite zu nehmen. Also irgendwas zwischen den beiden "If" Anweisungen fehlt. Bloß was? PHP-Code:
|
|
|||
Habe es mit Datetime versucht. Funktioniert aber nicht und spielt Irre.
PHP-Code:
|
|
|||
Nach gefühlten 100.000 Versuchen!
So geht es dann auch, wenn es dann passt. PHP-Code:
RRRRRRRRRR - Verzweifel |
|
|||
Nun, da sollten wir erst einmal klären, ob das Triggersignal auf der letzten geschlossenen Kerze liegen soll oder auf der aktuellen Kerze? D.h. soll bei einem Kerzenwechsel der Close-Kurs der letzten geschlossenen Kerze betrachtet werden, der dann unter 80 oder über 20 liegen soll oder soll eben das Signal kommen, sobald der Kurs der aktuellen Kerze unter 80 oder über 20 liegt?
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Moin mein lieber!
Hatte im stillen ein wenig die Hoffnung, dass Du dich meldest. Das Signal sollte eigentlich kommen, sobald der Kurs die 21 überschreitet, bzw. die 79 unterschreitet. Mir ist es jedoch nicht gelungen, die Bewegung unter 20 bzw. über 80, als Bedingung zu "verankern", die erfüllt sein muss, um dann über 21 bzw. unter 79 ein Signal zu erhalten. Deswegen dieser Umweg über Perioden. Der dann auch noch direkt passen muss. Eigentlich soll es egal sein, wie viel Kerzen (Perioden) zwischen z.B. unter 20 und über 21 entstehen. |
|
|||
Bin auf Dienstreise und könnte den Code nicht! testen.
Bei Kerzenwechsel wird die MAIN-Linie auf Kerze 2 und 1 ausgelesen und bei Verlassen der 80er bzw 20er Linie das Signal generiert, welche dann noch in der Ordersetzung umgesetzt werden muß. Code:
//an entsprechender Stelle LongSignal und ShortSignal mit bool deklarieren und auf false setzen. Und datetime OldTime; deklarieren. if (Time[0] != OldTime) { if(iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 2) >= 80) && iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 1) < 80) { LongSignal = true; } if(iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 2) <= 20 && iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 1) > 20) { ShortSignal = true; } OldTime = Time[0]; } if (LongSignal) { int ticket = OrderSend(...); if (ticket > 0) LongSignal = false; } if (ShortSignal) { int ticket = OrderSend(...); if (ticket > 0) ShortSignal = false; } traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
Lesezeichen |
Stichworte |
mql4, programmierung, programmierung metatrader, stochastic, stochastic programmierung, stochastic signal |
|
|