Musst du abfragen ob bereits Position offen
if(PositionSelect(_Symbol)) { PositionVerwalten } else { CheckAufPositionseröffnung }
Musst du abfragen ob bereits Position offen
Manchmal versteh ich euch wirklich nicht
Also ich finde Deine Antwort sehr eindeutig Otto, da sollten keine fragen offen bleiben
Guten Tag Leute, und zwar würde ich gerne wissen, ob mir da jemand weiter helfen kann, ich schreibe es ein, aber kriege ständig Errormeldungen, und bin langsam echt am Verzweifeln, an sich ist das ein guter EA, aber er soll nur max. 1 Position gleichzeitig eröffnen, kriege es einfach nicht hin, vielen Danke für jegliche Hilfe.
Mit freundlichen Grüßen.
Guten Tag Leute, und zwar würde ich gerne wissen, ob mir da jemand weiter helfen kann, ich schreibe es ein, aber kriege ständig Errormeldungen, und bin langsam echt am Verzweifeln, an sich ist das ein guter EA, aber er soll nur max. 1 Position gleichzeitig eröffnen, kriege es einfach nicht hin, vielen Danke für jegliche Hilfe.
Mit freundlichen Grüßen.
Falls es ein wirklich profitabler EA ist schick mir den Code und ich repariere ihn dir, aber bitte keinen mit 2 kreuzenden MAs.
Woher nimmst du an,daß es ein guter EA ist, wenn er nur Errormeldungen ausspuckt?
Falls es ein wirklich profitabler EA ist schick mir den Code und ich repariere ihn dir, aber bitte keinen mit 2 kreuzenden MAs.
Woher nimmst du an,daß es ein guter EA ist, wenn er nur Errormeldungen ausspuckt?
Falls es ein wirklich profitabler EA ist schick mir den Code und ich repariere ihn dir, aber bitte keinen mit 2 kreuzenden MAs.
Woher nimmst du an,daß es ein guter EA ist, wenn er nur Errormeldungen ausspuckt?
Habe dir den Code geschickt, vielen Dank, werde ihn für euch testen, und dann die Ergebnisse hier vorweisen
Hab mir den Code jetzt angesehen, das Problem sitzt in den 'elsen'. Die werden immer ausgeführt, falls eine Bedingung nicht zutrifft.
Im übrigen geht das alles viel einfacher mittels eines Signals. Du brauchst ja nur BUY, SELL oder NONE als Signal.
Ich repariere das.
Anbei die adaptierte Version.
Die OnTick() hat sich durch die Verwendung eines Signals dramatisch reduziert:
void OnTick() { int total= PositionsTotal(); // handle open positions for(int i=0;i<total;i++) { PositionSelect(_Symbol); datetime t0=datetime(PositionGetInteger(POSITION_TIME)); if(TimeCurrent()>=(t0+(inp_timeout*3600))) trade.PositionClose(PositionGetInteger(POSITION_TICKET)); else break; } if(IsNewBar()==false) return; ENUM_SIGNAL signal=IsPattern(p_flags,inp_ref); // check if the pattern is present if(signal==SIGNAL_NONE) return; //double candleSize=iHigh(_Symbol,_Period,1)- // höhe der Kerze 1 berechnen // iLow (_Symbol,_Period,1); // open positions double ask=SymbolInfoDouble(_Symbol,SYMBOL_ASK); double bid=SymbolInfoDouble(_Symbol,SYMBOL_BID); switch(signal) { case SIGNAL_BUY : calcSL=NormalizeDouble(ask-distSL,_Digits); calcTP=NormalizeDouble(ask+distTP,_Digits); trade.Buy (inp_lot_size,_Symbol,ask,calcSL,calcTP); break; case SIGNAL_SELL: calcSL=NormalizeDouble(bid+distSL,_Digits); calcTP=NormalizeDouble(bid-distTP,_Digits); trade.Sell(inp_lot_size,_Symbol,bid,calcSL,calcTP); break; } }
Die wesentlichen Änderungen wurden in RevPattern.mqh (sollte noch überarbeitet werden) durchgeführt.
//+------------------------------------------------------------------+ //| Signals | //+------------------------------------------------------------------+ enum ENUM_SIGNAL { SIGNAL_SELL = -1, SIGNAL_NONE = 0, SIGNAL_BUY = 1 };
Und die Funktion Check(...) gibt jetzt das Signal und nicht ein Pattern zurück.
Im EURUSD für dieses Jahr im M1 zumindest keine Katastrophe, im USDJPY zB. schon.
Hat imho zumindest Potential.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Guten Tag leute, und zwar habe ich folgendes Problem,
und zwar tut der EA was er machen soll, er geht bei bestimmten Kerzenformationen Long/Short, nur eröffnet er nicht eine einzige, sondern viele kleine Positionen gleichzeitig.
Den EA habe ich hier downgeloaded und für meine zwecke geändert.
Nur weiß ich nicht, was im Code falsch geschrieben sein soll,
HIer der EA