|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
EA Versuch
Hallo
Wie ihr wisst bin ich neu hier . Ich habe versucht einen Halb automatischen ea zu schreiben (nicht lachen bin ja voller Anfänger). funktioniert soweit auch . Ziel ist es den Stop nach zu ziehen (SMA). Er hat aber noch Fehler : er zieht nicht immer nach er schliesst obwohl er nicht ins sl läuft wer Lust und Laune hat könnte mir bitte helfen .Würde mich sehr freuen über jede Hilfe und Verbesserung . Danke ------------------------------------------------------- #property strict input int Magic = 1 ; int OnInit() { return(INIT_SUCCEEDED); } void OnDeinit(const int reason){ } void OnTick() { double ma = iMA (_Symbol,PERIOD_CURRENT,9,0,MODE_SMA,PRICE_CLOSE,0 ); for(int i = OrdersTotal()-1; i >= 0; i--){ if(OrderSelect(i,SELECT_BY_POS)){ if(OrderSymbol() ==_Symbol) { if (OrderType()== OP_BUY){ double sl = ma; sl = NormalizeDouble(sl,_Digits); if(sl > OrderStopLoss()){ if(OrderModify(OrderTicket(),OrderOpenPrice(),sl,O rderTakeProfit(),OrderExpiration())){ Print(__FUNCTION__," > Order #",OrderTicket()," wurde angepasst ..."); } } }else if(OrderType() == OP_SELL){ double sl = ma; sl = NormalizeDouble(sl,_Digits); if(sl > OrderStopLoss()){ if(OrderModify(OrderTicket(),OrderOpenPrice(),sl,O rderTakeProfit(),OrderExpiration())){ Print(__FUNCTION__," > Order #",OrderTicket()," wurde angepasst ..."); } } } } } } } |
|
||||
Hier noch dein Code in eine deutlich besser zu lesende Form gebracht:
Code:
double ma = iMA(_Symbol,PERIOD_CURRENT,9,0,MODE_SMA,PRICE_CLOSE,0); double sl = ma; sl = NormalizeDouble(sl,_Digits); for(int i = OrdersTotal()-1; i >= 0; i--) { if(OrderSelect(i,SELECT_BY_POS)) { if((OrderSymbol() ==_Symbol) && (OrderType()== OP_BUY) && (sl > OrderStopLoss())) if(OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),OrderExpiration())) Print(__FUNCTION__," > Order #",OrderTicket()," wurde angepasst ..."); if((OrderSymbol() ==_Symbol) && (OrderType()== OP_SELL) && (sl < OrderStopLoss())) if(OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),OrderExpiration())) Print(__FUNCTION__," > Order #",OrderTicket()," wurde angepasst ..."); } } |
|
|||
Danke
Lade mal die datei hoch . weiss nicht genau wo ich das einfügen muss . Danke |
|
|||
Hallo
kriege ihn jetzt nicht mehr zum laufen . bitte um hilfe Danke |
|
|||
Wofür NormalizeDouble?
Mein Vorschlag wäre, wie gehabt nen MA zu deklarieren. Allerdings die Werte global einstellbar zu machen. Vor allem für welche Kerze er gilt. Würde jetzt mal Bar 3, vielleicht Bar 2 vorschlagen. Der Rest lautet im Grunde SL = MA... |
Lesezeichen |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|