Expert Advisor öffnet viele kleine Positionen gleichzeitig - Seite 2

 
Otto Pauser:

Anbei die adaptierte Version.

Die OnTick() hat sich durch die Verwendung eines Signals dramatisch reduziert:

Die wesentlichen Änderungen wurden in RevPattern.mqh (sollte noch überarbeitet werden) durchgeführt.

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.

Vielen vielen Dank für deine Unterstützung, ich weiß das zu schätzen Otto, werde den EA jetzt testen, auf einem Demo Account und dann auf einem echten, werde euch auf dem laufenden halten. Mit freundlichen Grüßen. 
 

Korrektur der OnTick() in revPattern.mq5: SL und TP sind jetzt richtig.

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 ask=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
   double bid=SymbolInfoDouble(_Symbol,SYMBOL_BID);

   switch(signal)
     {
      case SIGNAL_BUY :
         calcSL=NormalizeDouble(bid-distSL,_Digits);
         calcTP=NormalizeDouble(bid+distTP,_Digits);
         trade.Buy (inp_lot_size,_Symbol,ask,calcSL,calcTP);
        break;
      case SIGNAL_SELL:
         calcSL=NormalizeDouble(ask+distSL,_Digits);
         calcTP=NormalizeDouble(ask-distTP,_Digits);
         trade.Sell(inp_lot_size,_Symbol,bid,calcSL,calcTP);
        break;
     }
}
 
Otto Pauser:

Korrektur der OnTick() in revPattern.mq5: SL und TP sind jetzt richtig.

Vielen Dank, werde ich einfügen Donnerstag Abend,🙏
Grund der Beschwerde: