Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 17.10.21
Nextrader Nextrader ist offline
Neues Mitglied
 
Registriert seit: Aug 2020
Beiträge: 14
Nextrader befindet sich auf einem aufstrebenden Ast
Standard EA setzt nicht alle Signale um - Fehlermeldung 130

Guten Morgen zusammen,

mein EA funktioniert nicht ganz... Ich habe beim Test -Symuator beobachtet das dies nicht alle Handelssignale umsetztet d.h. Order eröffnet(Buy/Sell).

Als Fehlermeldung bekomme ich

- 2021.10.17 08:28:12.764 2021.06.25 16:49:25 EA (CCI+EMA200) + Zeiteinstellung + Trailing + BreakEven EURUSD,M15: modify #27 buy 0.10 EURUSD at 1.19327 sl: 1.19437 tp: 1.20227 ok

- 2021.10.17 08:28:12.764 2021.06.25 16:52:30 EA (CCI+EMA200) + Zeiteinstellung + Trailing + BreakEven EURUSD,M15: OrderModify error 1

-2021.10.17 08:28:12.764 2021.06.25 16:53:20 EA (CCI+EMA200) + Zeiteinstellung + Trailing + BreakEven EURUSD,M15: modify #27 buy 0.10 EURUSD at 1.19327 sl: 1.19448 tp: 1.20227 ok


Ich vermute beim Trailling. oder Breakeven ist ein fehler drin.... kann jemand den Fehler sehen bzw. beheben?

PHP-Code:
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

//Globale Externe Variable
extern double TrendScalping;
extern double HandelsLots 0.1SL_Point 325TP_Point 900;
extern int MagicNummer 12345;


//Break Even
extern int BreakEven 45;
extern bool UseTrailingStop true;
extern int TrailingStop 250;


//Globale Veriable 
datetime PeriodenStartZeit;
bool NeuePeriodeBegonnenLongSignal,ShortSignal;
int LongOrder,ShortOrder;



// Variable Handelszeiten
extern string OOO1="Open Orders";
extern string OOO2="from/till";
extern string OOO3="(Server Time)";

extern int From_Hour=8
extern int From_Min=26;

extern int Till_Hour=20;
extern int Till_Min=56;


//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
PeriodenStartZeit Time [0];
//---
   
return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

// Üperprüfen ob neuer Periodenbeginn vorliegt
      
if(PeriodenStartZeit != Time[0])
         {
            
NeuePeriodeBegonnen true;
            
PeriodenStartZeit Time[0];
         }
       else 
NeuePeriodeBegonnen false;
       
       
// Marktdaten ermitteln
       
TrendScalping iCCI(NULL,0,35,0,1);
       
double TrendScalpingVorperiode iCCI(NULL,0,35,0,2);
       
       
double TrendKanal iMA(NULL,0,200,0,MODE_EMA,PRICE_CLOSE,1);
      
      
        
//Handelssignale ermitteln
        
if(NeuePeriodeBegonnen == true)
        
            {
            
// Handelzeit von 8:00 - 17:00 Uhr
         
if(Hour()>=From_Hour&&Minute()>=From_Min&&Hour()<=Till_Hour&&Minute()<=Till_Min)
                {
               
//Buy Signal           
            
if(TrendScalping<-200 && TrendScalpingVorperiode>-200 && TrendKanal Bid)
                  {
                     
LongSignal true;
                  }
            else 
LongSignal =false;
         
            
//Sell Signal
            
if(TrendScalping<200 && TrendScalpingVorperiode>200 && TrendKanal Bid)
                  {
                     
ShortSignal true;
                  }
            else 
ShortSignal false;
               }
            
         
           }
   
         else
         {
            
LongSignal false;
            
ShortSignal false;  
         }
         
         

         
        
//Long Signale umsetzten
        
if(LongSignal == true
         {
         if (
LongOrder<15)         

                   {
                        
LongOrder OrderSend(Symbol(),OP_BUY,HandelsLots,Ask,10,0,0,"Maxing Long",MagicNummer,0,clrGreen);
                   }
                   
         } 
           
        
//Short Signale umsetzten
        
if(ShortSignal == true)
         {
         if (
ShortOrder<15)
                         
                   {
                        
ShortOrder OrderSend(Symbol(),OP_SELL,HandelsLots,Bid,10,0,0,"Maxing Short",MagicNummer,0,clrRed);
                   }
            
         }   
                       
        
//SL Long Deals Setzen
     
for(int bOrdersTotal()-1b>= 0b--)
      {
        
//Eine Order wird ausgewählt
       
if (OrderSelect(b,SELECT_BY_POS,MODE_TRADES))
         
//Symbol Order mit Chart prüfen
         
if(OrderSymbol() == Symbol())
         
//Wir pruefen ob es sich um eine Kauf Order handelt
         
if(OrderType() == OP_BUY)
          {
            if(
OrderCloseTime()==&& OrderStopLoss()==0)
               {
                  
double StopLossNormalizeDouble(OrderOpenPrice()- (SL_Point_Point),Digits);
                  
bool OrderAngepasst OrderModify(OrderTicket(),OrderOpenPrice(),StopLoss,OrderTakeProfit(),0,clrYellow);

               }
        
           
         
//Breakeven
            
if(BreakEven && OrderStopLoss() > OrderOpenPrice()) 
            {                 
               if ( 
OrderOpenPrice()-Ask>Point*BreakEven 
               {
               
double BuyStop OrderOpenPrice();
               if(
OrderStopLoss() > BuyStop)
               
OrderModify(OrderTicket(),OrderOpenPrice(),
                             
NormalizeDouble(BuyStop,3),
                             
OrderTakeProfit(),0,clrRed);        
              
               }    
            }  
            
//Trailing stop
            
if(UseTrailingStop && TrailingStop 0
            {                 
               if(
Ask OrderOpenPrice() > Point TrailingStop
               {
                  if(
OrderStopLoss() < Ask Point TrailingStop
                  {
                     
OrderModify(OrderTicket(), OrderOpenPrice(), Ask Point TrailingStopOrderTakeProfit(), 0clrMediumSeaGreen);
                                          
                  }
               }
            }   
                         
          }
        }
        
        
         
//SL Short Deals Setzen
       
for(int bOrdersTotal()-1b>=0b--)
        {
        
//Wir wählen eine Order aus
       
if (OrderSelect(b,SELECT_BY_POS,MODE_TRADES))
       
//Symbol Order mit Chart prüfen
       
if(OrderSymbol() == Symbol())
         
//Wir pruefen ob es sich um eine Kauf Order handelt
         
if(OrderType() == OP_SELL)
          {
            if(
OrderCloseTime()==&& OrderStopLoss()==0)
               {
                  
double StopLossNormalizeDouble(OrderOpenPrice()+ (SL_Point_Point),Digits);
                  
bool OrderAngepasst OrderModify(OrderTicket(),OrderOpenPrice(),StopLoss,OrderTakeProfit(),0,clrYellow);

               }
               
               
            
//Breakeven
                  
if(BreakEven && OrderStopLoss() > OrderOpenPrice()) 
               {                 
                  if (
Bid OrderOpenPrice() - BreakEven_Point
                  {
                  
double SellStop OrderOpenPrice();
                  if(
OrderStopLoss() > SellStop)
                  
OrderModify(OrderTicket(),OrderOpenPrice()-6*_Point,                               
                                
OrderTakeProfit(),0,clrRed);        
                 
                  }
               }  
             
               
//Trailing stop
               
if(UseTrailingStop && TrailingStop 0
                  {                 
                  if((
OrderOpenPrice() - Bid) > (Point TrailingStop)) 
                     {
                     if((
OrderStopLoss() > (Bid Point TrailingStop)) || (OrderStopLoss() == 0)) 
                        {
                        
OrderModify(OrderTicket(), OrderOpenPrice(), Bid Point TrailingStopOrderTakeProfit(), 0clrDarkOrange);
                                                
                        }
                     }
                  } 
           }            
         }    
               
        
//TP Long Deals Setzen
        
if(OrderSelect(LongOrder,SELECT_BY_TICKET) == true)
          {
            if(
OrderCloseTime()==&& OrderTakeProfit()==0)
               {
                  
double TakeProfitNormalizeDouble(OrderOpenPrice() + (TP_Point_Point),Digits);
                  
bool OrderAngepasst OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),TakeProfit,0,clrOrange);  
               }
          }
         
//TP Short Deals Setzen
        
if(OrderSelect(ShortOrder,SELECT_BY_TICKET) == true)
          {
            if(
OrderCloseTime()==&& OrderTakeProfit()==0)
               {
                  
double TakeProfitNormalizeDouble(OrderOpenPrice() - (TP_Point_Point),Digits);
                  
bool OrderAngepasst OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),TakeProfit,0,clrOrange);  
               }
          }
         
//Ticketnummern nach Closing auf  zurücksetzen
         
if(OrderSelect(LongOrder,SELECT_BY_TICKET)==true)
            {
               if(
OrderTicket()>&& OrderCloseTime()>0LongOrder=0;
            }
            
         if(
OrderSelect(LongOrder,SELECT_BY_TICKET)==true)
            {
               if(
OrderTicket()>&& OrderCloseTime()>0ShortOrder=0;   
            }
  }
//+------------------------------------------------------------------+