Wer kann mir helfen, nächsten Trade erst bei Signalwechsel

Manfred289  

Kann mir jemand schreiben wie ich im MQL5 eingeben kann, dass der nächste Trade erst erfolgen soll, wenn ein Signalwechsel stattfindet.

Bsp1: Es kommt vor, dass wenn ich einen EA erstmalig verwende, er sofort in die Richtung einsteigt, wo er gerade sein Signal bekommt. Ich möchte aber erst einsteigen, wenn zum ersten mal das Signal (kaufen oder verkaufen) wechselt, also wenn ein Signalwechsel von kaufen auf verkaufen oder von verkaufen auf kaufen wechselt.

Bsp2: Es kommt vor, dass wenn ein Stopp ausgeführt wird, dass sofort wieder ein Trade in die selbe Richtung eröffnet wird, weil im Speicher immer noch das selbe Signal ist, wie der ausgestoppte Trade ausgelöst wurde. Ich möchte aber, dass wenn ein Stopp ausgelöst wurde, der nächste Trade erst wieder eröffnet wird, wenn sich das Signal (kaufen oder verkaufen) wechselt, also wenn ein Signalwechsel von kaufen auf verkaufen oder von verkaufen auf kaufen wechselt.

Teilen Sie mir einfach die Zeilen mit, welche ich einfügen muss und wo ich es einfügen muss. Ich denke bei Bsp1 wo anders als bei Bsp2, da Bsp1 nur beim ersten Start, bei Bsp2 nach jeder ausgestoppten Position erforderlich.

Vielen Dank für Ihre Hilfe.

Uwe Goetzke  
Manfred289:

Kann mir jemand schreiben wie ich im MQL5 eingeben kann, dass der nächste Trade erst erfolgen soll, wenn ein Signalwechsel stattfindet.

Bsp1: Es kommt vor, dass wenn ich einen EA erstmalig verwende, er sofort in die Richtung einsteigt, wo er gerade sein Signal bekommt. Ich möchte aber erst einsteigen, wenn zum ersten mal das Signal (kaufen oder verkaufen) wechselt, also wenn ein Signalwechsel von kaufen auf verkaufen oder von verkaufen auf kaufen wechselt.

Bsp2: Es kommt vor, dass wenn ein Stopp ausgeführt wird, dass sofort wieder ein Trade in die selbe Richtung eröffnet wird, weil im Speicher immer noch das selbe Signal ist, wie der ausgestoppte Trade ausgelöst wurde. Ich möchte aber, dass wenn ein Stopp ausgelöst wurde, der nächste Trade erst wieder eröffnet wird, wenn sich das Signal (kaufen oder verkaufen) wechselt, also wenn ein Signalwechsel von kaufen auf verkaufen oder von verkaufen auf kaufen wechselt.

Teilen Sie mir einfach die Zeilen mit, welche ich einfügen muss und wo ich es einfügen muss. Ich denke bei Bsp1 wo anders als bei Bsp2, da Bsp1 nur beim ersten Start, bei Bsp2 nach jeder ausgestoppten Position erforderlich.

Vielen Dank für Ihre Hilfe.

Kein Gewähr für korrekten Code (ist PseudoCode einfach runtergeschrieben, so als Idee...)

int NO_Signal =0;

int BUY_Signal =1;

int SELL_Signal =-1;

int gCurrentSignal ;

Ich würde in der Initphase (also beim Starten des EA) den leeren Signalstatus setze, z.B. als

gCurrentSignal  = NO_Signal;

.

Dann im OnTick Teil "einfach" prüfen:

if (gCurrentSignal  != GetCurrentSignal())

{

     int currentSignal  = GetCurrentSignal();

    if (gCurrentSignal == NO_Signal)

     {

                gCurrentSignal=currentSignal ;

     } else {

    gCurrentSignal=currentSignal ;

    if (gCurrentSignal == BUY_Signal)

     {

           // DoBuy

     } else {

           // DoSell

    }

}

}

Grund der Beschwerde: