|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Hallo.
Das mit dem ran rechnen war wohl ne Schnapsidee. Derzeit wird geschlossen, wenn je nach Handelsrichtung der LC den schnellen GD überholt hat. Das scheint aber die Quelle vieler kleiner Verlust-Trades zu sein. Deswegen soll er erst schließen wenn entweder LC=langsamer GD oder LC><langsamer GD Ich glaube, LC=langsamer GD wäre besser, weil er ja ne Order öffnet, wenn LC<>beide GDs sind. Ich weiß nicht, ob die Befehle sich dann in die Quere kommen, wenn er gleichzeitig ne Order schließen und ne neue öffnen soll. Derzeit wird der Ausstieg so gemacht: Code:
//Close Trade if (IsInvested) { for (i=OrdersTotal()-1; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) { if(LC>GD1c || LC>GD2c) OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, FireBrick); } if (OrderType()==OP_BUY && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) { if(LC<GD1c || LC<GD2c) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DarkBlue); |
|
|||
Weiß keiner, obs Probleme gibt, wenn er in einer Situation öffnen
und schließen soll? Eigentlich müsste es gehn, weil er nach dem Close ja wieder zum Anfang des Programms geht. |
|
|||
du fragst permanent bei jedem tick die open orders liste ab und dann erst den zustand der gd's? finde ich ungewöhlich.
warum nicht den gd zustand zuerst und bei treffer dann erst ob überhaupt eine order offen ist, auch würde ich eine weitere kontrollinstanz einführen, um falsche close kommandos zu filtern |
|
|||
Hä? Versteh ich jetzt nicht.
|
|
|||
Er hat schon wieder vorhin ne Order geöffnet und sich dann
verabschiedet. Der EA ist nicht mehr für diesen [WIKI]Chart[/WIKI] aktiv. Da gibts irgendwelche Fehler. Im Journal und bei Experten ist nichts verzeichnet. Die Einträge dort fangen erst 11:50:58.066 und 11:50:57.206 Uhr an. Edit:Hab heute gegen 10:55 MT4-Zeit für alle Pairs den EA gestartet und die Fenster offen gelassen. Gerade eben schau ich alle durch. Bei fast allen hat sich der EA irgendwann verabschiedet. Musste ihn gerade für fast alle wieder starten. |
|
|||
bei jedem tick ladest du die offene order liste und fragst dann erst ab ob die gd's für buy/sell "matchen", wenn ja schließt du..
ich kenn das anders herum; zuerst die gd's abfragen, wenn zustand erreicht dann die offenen orders abfragen, gibt es welche diese dann schließen zusätzlich um fehl close signale aka mini minus zu erwirtschaften, lass z.b. einen rsi <>50 zusammen mit den gd's abfragen |
|
|||
Ich kapiers zwar immer noch nicht richtig aber:
er muss doch eh bei jedem LC prüfen, ob die Bedingungen für Ein/Ausstieg gegeben sind. Ist das nicht egal, wie rum er dass macht? Er läuft eh für jedes WP extra. Um viele kleine Verluste zu vermeiden, soll er ja in Zukunft beim Aus- stieg nach dem langsamen GD gehn. Allerdings weiß ich immer noch nicht, ob er aussteigen soll wenn LC=langsamer GD oder LC>/<langsamer GD (je nach Richtung). Gibts Probleme, wenn er letzteres tun soll? Er soll ja schon einsteigen, wenn LC</>beide GDs (je nach Richtung). |
|
|||
Zitat:
es ist egal ob langsamer oder schneller, sobald die gd's um den "matchpoint" den du vorgibst rangieren kommt es zu order auf/zu. um diese kleinen verluste zu vermeiden würde ich als kontrollorgan einen weiteren indi abfragen, oder eine weitere lösung wäre nach einem schließen z.b. 30 min zu warten |
|
|||
Ist das richtig?
Code:
//Close Trade if (IsInvested) { for (i=OrdersTotal()-1; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) { if(LC>GD2c) OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, FireBrick); } if (OrderType()==OP_BUY && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) { if(LC<GD2c) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DarkBlue); } } } } return(0); } |
Lesezeichen |
Stichworte |
expert advisor, gleitender durchschnitt, mql4, programmierung, programmierung metatrader, programmierung mql4, trading |
|
|