Problem mit EA Bedingungen für Trades/ Trade schließen

 
Ich habe erst vor kurzer Zeit mit der EA Programmierung begonnen. Mein EA soll ein von mir manuell entwickeltes Handelssystem für mich traden, hierbei bin ich auf ein Problem gestoßen, das ich wie wahrscheinlich im Titel aufgefallen, schwierig in ein paar Worte fassen kann.  Ich habe beim System einen Filter, ein Trade Open, Nachkauf und Trade close Teil. Für alles gibt es if Bedingungen. Der Filter soll aber quasi ein Signal geben und danach soll gehandelt werden, bis ein gegen Signal kommt, also nicht für einen Tick oder für einen gewissen Zeitraum. ( Ich habe dies zu erst mit Variablen versucht  umzusetzen, dabei habe ich aber nicht bedacht das diese nur einmal definiert werden können.)  Auf diesem Prinzip basiert dann der ganze Code, wenn ein Trade geöffnet wurde soll dauerhaft nach einem close Signal gesucht werden, bis der Trade wieder geschlossen wurde usw. Ich bin für jede Hilfe in Form von Tips oder Verweisen auf andere Forumsbeiträge dankbar. 
Dateien:
 
Ohne code sieht übel aus
 
Christian:
Ohne code sieht übel aus
Okay ich dachte der Code bringt nichts da er nicht zusammengefügt ist sondern nur aus den Teilen besteht. Dann muss ich ihn später nochmal hochladen. 
Danke  ;)
 
Justin101:

Formuliere dein Problem noch mal genau.

Werde aus deinem Text nicht schlau.


Was versuchst du in Zeile 342 ?

     if (1>0)

Die Bedingung wird immer wahr werden.
 
Christian:

Formuliere dein Problem noch mal genau.

Werde aus deinem Text nicht schlau.


Was versuchst du in Zeile 342 ?

     if (1>0)

Die Bedingung wird nie wahr werden.

   Mein Problem ist das Folgende: Mein EA besteht quasie aus den Teilen, Filter, Positionsöffner, Nachkauf und den beiden Positionsschließern. Nun soll der Filter bei gegebenen Bedingungen, auf einer Zeitebene X, ein Signal geben/ der EA soll dann in Form von dem Positionsöffner nach einer weiteren  Bedingung auf Zeitebene Y schauen. Wenn dann ein Gegensignal von der gegenteiligen Positionsrichtung, also bei long short oder bei short long kommt, soll der Positionsöffner nicht mehr nach einer Bedingung suchen. Das geht nicht mit einer if Bedingung da ich ja nur EINMAL ein Signal habe, z.B. Preis 1 ist größer als Preis 2 und dann diese Kondition wahr bleiben soll bis z. B. Preis 1 kleiner ist als Preis 2, wenn dazwischen die zweite Kondition nicht erfüllt wird soll immer weiter gehandelt werden, die Marktphasen sollen so abgepasst werden. Das Signal wird aber nicht bei jeder neuen Kerze bestätigt, deshalb dachte ich, ich setze den einen Wert auf 1 oder true bis ein Ereignis einsetzt und er wieder auf 2 oder false gesetzt wird. In der Zeit dazwischen soll gehandelt werden. Das gleiche gilt für den Ausstieg. Nur wenn eine Position offen ist soll nach einem Ausstieg gesucht werden. Ein Nachkaufsignal soll nur gesucht werden wenn der Filter den Short Markt z. B. vorgibt und eine short Position vorhanden ist. Dafür muss es doch eine Funktion/ einen generellen Aufbau geben den ich bei den einzelnen Schritten anwenden kann? 

Vielen Dank für deine Bemühungen.

 
Justin101:

   Mein Problem ist das Folgende: Mein EA besteht quasie aus den Teilen, Filter, Positionsöffner, Nachkauf und den beiden Positionsschließern. Nun soll der Filter bei gegebenen Bedingungen, auf einer Zeitebene X, ein Signal geben/ der EA soll dann in Form von dem Positionsöffner nach einer weiteren  Bedingung auf Zeitebene Y schauen. Wenn dann ein Gegensignal von der gegenteiligen Positionsrichtung, also bei long short oder bei short long kommt, soll der Positionsöffner nicht mehr nach einer Bedingung suchen. Das geht nicht mit einer if Bedingung da ich ja nur EINMAL ein Signal habe, z.B. Preis 1 ist größer als Preis 2 und dann diese Kondition wahr bleiben soll bis z. B. Preis 1 kleiner ist als Preis 2, wenn dazwischen die zweite Kondition nicht erfüllt wird soll immer weiter gehandelt werden, die Marktphasen sollen so abgepasst werden. Das Signal wird aber nicht bei jeder neuen Kerze bestätigt, deshalb dachte ich, ich setze den einen Wert auf 1 oder true bis ein Ereignis einsetzt und er wieder auf 2 oder false gesetzt wird. In der Zeit dazwischen soll gehandelt werden. Das gleiche gilt für den Ausstieg. Nur wenn eine Position offen ist soll nach einem Ausstieg gesucht werden. Ein Nachkaufsignal soll nur gesucht werden wenn der Filter den Short Markt z. B. vorgibt und eine short Position vorhanden ist. Dafür muss es doch eine Funktion/ einen generellen Aufbau geben den ich bei den einzelnen Schritten anwenden kann? 

Vielen Dank für deine Bemühungen.

Verstehe was dir fehlt.

Schau dir mal den EA an https://www.mql5.com/de/code/20762

Finde den sehr gut als Lehrbeispiel.

In OnTick() kommt als Erstes ein Test auf eine vollständige vergangene Kerze.

Das kannst du ja beliebig nutzen.

Somit wird nur einmal pro Kerze ein Signal erzeugt.

Versuche dich daran .


Was bringt dir ein

if (1>0)

?

Martingale
Martingale
  • www.mql5.com
2XMA_Ichimoku_Signal Ein Signalindikator, der des Algorithmus des Indikators 2XMA_Ichimoku_Oscillator verwendet. Bands 2 Ein Handelssystem basierend auf dem Indikator iBands (Bollinger Bands, BB). Er platziert die Pending-Orders Buy Stop und Sell Stop innerhalb der angegebenen Zeitspanne (von XX Uhr bis YY Uhr). AbsolutelyNoLagLWMA Ein...
 
Okay, das werde ich machen. Danke und einen schönen Abend wünsche ich. 
 
Justin101:

   Mein Problem ist das Folgende: Mein EA besteht quasie aus den Teilen, Filter, Positionsöffner, Nachkauf und den beiden Positionsschließern. Nun soll der Filter bei gegebenen Bedingungen, auf einer Zeitebene X, ein Signal geben/ der EA soll dann in Form von dem Positionsöffner nach einer weiteren  Bedingung auf Zeitebene Y schauen. Wenn dann ein Gegensignal von der gegenteiligen Positionsrichtung, also bei long short oder bei short long kommt, soll der Positionsöffner nicht mehr nach einer Bedingung suchen. Das geht nicht mit einer if Bedingung da ich ja nur EINMAL ein Signal habe, z.B. Preis 1 ist größer als Preis 2 und dann diese Kondition wahr bleiben soll bis z. B. Preis 1 kleiner ist als Preis 2, wenn dazwischen die zweite Kondition nicht erfüllt wird soll immer weiter gehandelt werden, die Marktphasen sollen so abgepasst werden. Das Signal wird aber nicht bei jeder neuen Kerze bestätigt, deshalb dachte ich, ich setze den einen Wert auf 1 oder true bis ein Ereignis einsetzt und er wieder auf 2 oder false gesetzt wird. In der Zeit dazwischen soll gehandelt werden. Das gleiche gilt für den Ausstieg. Nur wenn eine Position offen ist soll nach einem Ausstieg gesucht werden. Ein Nachkaufsignal soll nur gesucht werden wenn der Filter den Short Markt z. B. vorgibt und eine short Position vorhanden ist. Dafür muss es doch eine Funktion/ einen generellen Aufbau geben den ich bei den einzelnen Schritten anwenden kann? 

Vielen Dank für deine Bemühungen.

In solchen Situationen würde ich die versch. Signale zum (Ver-)Kaufen und Schließen und alles, was sonst noch wichtig ist, per Comment()  anzeigen lassen und den EA im Visualmode im Tester laufen lassen.

Grund der Beschwerde: