|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Delay zwischen Orders einfügen?
Hallo Zusammen,
ich habe ein Problem mit meinem EA. Es gibt eine if-Abfrage, die erfüllt sein muss, damit ein Trade geöffnet wird. In dieser if-Abfrage, dürfen Maximal 5 unterschiedliche Paare getradet werden, soblad bereits 5 offen sind, kann kein neues Paar getradet/geöffnet werden. Nun kommt es häufig vor, dass ich ein Signal für zwei unterschiedliche Paare zur exakt der selben Uhrzeit bekomme und somit zB. der EA zwei Paare öffnet, obwohl bereits 4 Paare geöffnet sind. Somit habe ich 6 offene Paare, was eigentlich mit der if-Abfrage verhindert werden sollte. Gibt es eine möglichkeit einen "DELAY" einzufügen, nachdem der EA mit der nächsten öffnenden Position wartet, oder wie fange ich dieses Problem ab? Über Antworten freue ich mich! MFG Dennis |
|
|||
Wenn die if-Abfrage nach 4 Paaren noch true ergibt, dann wäre doch eher die Frage, für welches der anderen beiden Paare, deren Signale exakt zum selben Zeitpunkt gegegebwn wurden, soll als erstes eine Order geöffnet werden.
Ist diese Order geöffnet wird zwangsweise das sechste Paar, per Abfrage, eben nicht geöffnet. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
es ist "eigentlich" egal welches der beiden Paare zuerst geöffnet werden soll, da für beide die if Abfrage True wäre und somit ein Trade nach den konditionen möglich ist.
Der EA könnte meinetwegen ein zufälliges Paar auswählen, nur soll er nicht beide Orders zeitgleich ausführen... |
|
|||
Werden denn beide unterschiedlichen Paare per einem EA geöffnet oder werden die in zwei separaten EAs (d.h. auf 2 Charts) geöffnet?
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Beide Paare werden per unterschiedlichem EA geöffnet.
Also ein EA tradet nur ein Paar |
|
|||
Gut, dann sollte eine Globale Variable existieren, auf die beide EA schauen können. D.h. sobald die Signale gegeben werden (wer oder was geben diese Signale konkret?) muss vor der if-Abfrage diese Globale Variable mit den Währungspaarnamen gefüllt werden. Also z.B. EURUSD, USDJPY, NZDUSD, wenn für diese drei WP gleichzeitig ein Signal generiert worder war.
Nun sollte in der if-Abfrage zuerst diese Globale Variable abgefragt weden, ob nur 1 WP enthalten ist oder zwei oder mehrere. Bei 1 WP wird die Order geöffnet, sofern das WP in der Globalen Variablen mit dem des Charts übereinstimmt. Sollten zwei oder mehrere WP in dieser GV enthalten sein, dann kann nach dem ersten in der GV abgespeicherten WP entschieden werden oder die Order des WP wird geöffnet, dessen WP-Symbol zuerst im Alphabet erscheint o.ä. Auswahlkriterien. Nach dem Öffnen der einen Order muss die GV gelöscht werden oder mit dem Leerstring gefüllt wird. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Zitat:
Die Signale werden durch mehrere Indikatoren ausgelöst die übereinstimmen müssen. Welche GV nehme ich am besten zur Lösung des Problems? Es gibt ja unzähliige: -GlobalVariableCheck -GlobalVariableDel etc. Globale Variablen sind absolutes Neuland für mich.... |
|
|||
Warum soll er nur 5 WP gleichzeitig traden?
GV deklariert man einfach vor OnInit(). Wie wärs mit sowas wie Code:
Vor OnInit():int OT; Dann nach OnTick(){ if( Handelssignal == true ){ OT = 0; ( OrdersTotal Zähler-Startwert ) for(i=OrdersTotal()-1;i>=0;i--){ if(OrderSelect(i,SELECT_BY_POS)){ OT++;} } if( OT < (z.B.) 6 ){ OrderSend(...UndSoWeiterUndSoFort... Oder nach WP selektieren und schalten und walten... |
|
|||
Zitat:
Gesetzt werden die GVs über GlobalVariableSet() und ausgelesen werden sie über GlobalVariableGet(). >es wäre hilfreich, wenn Du in der MQL4-Referenz über die verschiedenen Funktionen bzgl. der GV nachliest. Diese Funktionen sind eigentlich recht simpel. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Zitat:
AUDNZD 3x AUDCHF 1x sind zwar 4 Orders aber nur 2 Paare. 5 Paare deshalb, um den Drawdown gering wie möglich zu halten > 10%. |
Lesezeichen |
|
|