Expert Advisor öffnet viele kleine Positionen gleichzeitig - Seite 2

Einloggen oder registrieren, um einen Kommentar zu schreiben
Kay7667
411
Kay7667  
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. 
Otto Pauser
1451
Otto Pauser  

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;
     }
}
Kay7667
411
Kay7667  
Otto Pauser:

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

Vielen Dank, werde ich einfügen Donnerstag Abend,🙏
12
Einloggen oder registrieren, um einen Kommentar zu schreiben