Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43267
Benutzer: 7.220
Aktive Benutzer: 82
Links: 84
Wir begrüßen unseren neuesten Benutzer: JosephTK
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 2 Stunden
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 260
Gesamt: 260
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 17.10.21
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;   
            }
  }
//+------------------------------------------------------------------+ 
  #2 (permalink)  
Alt 17.10.21
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

In Deinem vorherigen Thread hatte ich auf den iCustom()-Fehler geantwortet, bisher ohne Antwort.
Hier scheint es sich wieder um einen anderen EA zu handeln.
Warum werden nicht die Fehler aus dem ersten EA erst einmal beseitigt?

Zu diesem EA:
Woher kommt die Meldung:

EA (CCI+EMA200) + Zeiteinstellung + Trailing + BreakEven EURUSD,M15

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #3 (permalink)  
Alt 17.10.21
Neues Mitglied
 
Registriert seit: Aug 2020
Beiträge: 14
Nextrader befindet sich auf einem aufstrebenden Ast
Standard

Hallo Traderdoc,

hier ist was schiefgelaufen, ich dachte ich hätte schon geantwortet, naja daher auf diesen wege...

Bei meinem vorherigen EA mit dem iCustom, konnte ich das Problem lösen.
Die Indikatoren konnten nicht gefunden werden da diese in einem Unterordner hinterlegt waren. Als ich den Unterordner weg gemacht habe ging das wieder - Problem gelöst, danke dir nochmal für die Tipps

Vielleicht zur Info. Beim iCustom gings mir darum mein Programmierwissen zu erweiteren, daher die neugier.

Bei diesem EA bin ich schon seit längeren dran, hat auch nichts mit den iCustom zu tun. Der soll über CCI und EMA laufen.

Problem ist wie schon bei meinem vorherigen Beitrag erwähnt. Ich vermute das duch den TSL und BE. nicht alle Order ausführen kann da hier noch eine Einstellung fehlt. Ich habe leider aber keine Ahnung was mann ändern müsste..

Zu deiner Frage - die Fehlermeldung kommt aus dem Journal beim Backtest.
Im Programmierfenster steht als Warnung folgendes:

- return value of 'OrderModify' should be checked EA (CCI+EMA200) + Zeiteinstellung + Trailing + BreakEven.mq4 162 16

- return value of 'OrderModify' should be checked EA (CCI+EMA200) + Zeiteinstellung + Trailing + BreakEven.mq4 175 22

- return value of 'OrderModify' should be checked EA (CCI+EMA200) + Zeiteinstellung + Trailing + BreakEven.mq4 210 19

- return value of 'OrderModify' should be checked EA (CCI+EMA200) + Zeiteinstellung + Trailing + BreakEven.mq4 223 25


Fehlermeldungen gibt es keine!

Gibts ne vermutung an was das liegt?
  #4 (permalink)  
Alt 17.10.21
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Code:
//Breakeven
   if(BreakEven > 0 && OrderStopLoss() > OrderOpenPrice()) 
   {                 
      if ( OrderOpenPrice()-Ask>Point*BreakEven ) 
      {
         double BuyStop = OrderOpenPrice();
         if(OrderStopLoss() > BuyStop)
            OrderModify(OrderTicket(),OrderOpenPrice(), NormalizeDouble(BuyStop,3), OrderTakeProfit(),0,clrRed);        
      }    
   }
Hm, hier passiert folgendes:
Eingesprungen wird, wenn v.a. OrderStopLoss() > OrderOpenPrice() ist.
Über die nächste Zeile wird aber nur eingesprungen, wenn der Ask-Kurs bzgl. des Wertes der Variablen BreakEven unter! dem OrderOpenPrice() liegt.
Dann wird BuyStop gleich dem OrderOpenPrice(9 gesetzt (warum?) und dann folgt
if(OrderStopLoss() > BuyStop)
Da in der ersten Zeile ja OrderStopLoss > OrderOpenPrice sein muss, ist auch automatisch dann OrderStopLoss() > BuyStop (also OrderOpenPrice()).
Letztendlich wird der StopLoss auf den OrderOpenPrice() wieder tiefer gelegt??

Bei Shorts:
Code:
//Breakeven
   if(BreakEven > 0 && OrderStopLoss() > OrderOpenPrice()) 
   {                 
      if (Bid < OrderOpenPrice() - BreakEven* _Point) 
      {
         double SellStop = OrderOpenPrice();
         if(OrderStopLoss() > SellStop)
            OrderModify(OrderTicket(),OrderOpenPrice()-6*_Point, OrderTakeProfit(),0,clrRed);        
      }
   }
Auch hier steht OrderStopLoss() > OrderOpenPrice(), warum??
Und das
OrderModify(OrderTicket(),OrderOpenPrice()-6*_Point, OrderTakeProfit(),0,clrRed);
geht gar nicht - Sytaxfehler - da fehlt ein Parameter vor OrderTakeProfit().

Das einfachste wäre, Du setzt unter jedes OrderModify() den Printbefehl
Print("immer irgendwas unterschiedliches")
um nach der Fehlermeldung angezeigt zu bekommen, woher der Fehler stammt.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #5 (permalink)  
Alt 17.10.21
Neues Mitglied
 
Registriert seit: Aug 2020
Beiträge: 14
Nextrader befindet sich auf einem aufstrebenden Ast
Standard

Also musste echt jetzt Grübeln...

Vielleicht vorab die Idee bzw. Vorgabe des TSL.

1. Order wird platzierst z.B. Buy
2. fester SL wird gesetzt
3. Kurs bewegt sich nach oben, dann wird Breakeven gesetzt.
4. Kurs steigt weiter TSL wird gesetzt und dann nachgezogen.
!! Wichtig ist das wenn Breakeven oder TSL gesetzt wird, diese sich nicht zurück bewegen!!

Bei Long:

PHP-Code:
        //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);     
                             
                            Print(
"163 immer irgendwas unterschiedliches");     
                   
              
               }    
            }  
            
//Trailing stop
            
if(UseTrailingStop && TrailingStop 0
            {                 
               if(
Ask OrderOpenPrice() > Point TrailingStop
               {
                  if(
OrderStopLoss() < Ask Point TrailingStop
                  {
                     
OrderModify(OrderTicket(), OrderOpenPrice(), Ask Point TrailingStopOrderTakeProfit(), 0clrMediumSeaGreen);
                        Print(
"179 immer irgendwas unterschiedliches");                  
                  }
               }
            }   
                         
          }
        } 
So wie ich dich verstehe, meinst du die Abfragen über BuyStop/SellStop u. OrderOpenPrice sollte ich weglassen? Wie müsste das dann genau lauten?

Bei Short:

PHP-Code:
  //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,
                              
NormalizeDouble(SellStop,3),                               
                                
OrderTakeProfit(),0,clrRed);        
                 Print(
"214 immer irgendwas unterschiedliches");  
                  }
               }  
             
               
//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);
                        Print(
"228 immer irgendwas unterschiedliches");                          
                        }
                     }
                  } 
           }            
         } 
Ohje..ich war vermutlich sparsam mit den Parametern
Ich habe das mal Korriegiert hoffe das passt so.

Danke dir für den Tipp mit Print. Hab den Journal mal angeheftet. Leider konnte ich die Fehler nicht rausbekommen... hoffe du kannst mir da weiterhelfen

Danke vorab und schönes Wochenende noch.
Angehängte Dateien
Dateityp: log 20211017.log (29,6 KB, 3x aufgerufen)
  #6 (permalink)  
Alt 18.10.21
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Warum sollte der SL, wenn er schon über dem Open-Kurs der Order liegt wieder zurück auf den Open-Preis gezogen werden. Das sieht man sehr schön an dem Auszug aus dem Logfile:

2021.10.17 19:25:40.698 2021.05.10 20:34:35 modify #1 buy 0.10 .DE40Cash at 15352.7 sl: 15362.9 tp: 15442.7 ok
2021.10.17 19:25:40.698 2021.05.10 20:34:10 163 Long,BE,Modi.
2021.10.17 19:25:40.698 2021.05.10 20:34:10 modify #1 buy 0.10 .DE40Cash at 15352.7 sl: 15352.7 tp: 15442.7 ok
2021.10.17 19:25:40.698 2021.05.10 20:33:45 179 Long,TSL,Modi
2021.10.17 19:25:40.698 2021.05.10 20:33:45 modify #1 buy 0.10 .DE40Cash at 15352.7 sl: 15361.6 tp: 15442.7 ok
2021.10.17 19:25:40.698 2021.05.10 20:33:20 163 Long,BE,Modi.
2021.10.17 19:25:40.698 2021.05.10 20:33:20 modify #1 buy 0.10 .DE40Cash at 15352.7 sl: 15352.7 tp: 15442.7 ok

Um 20:34:10 wird der Sl wieder auf 15352.7 zurückgesetzt.

Die Zeilen müsste demnach lauten:
Code:
if (BreakEven > 0 && OrderStopLoss() < OrderOpenPrice()) 
{                 
   if (OrderOpenPrice()+ Ask > Point*BreakEven ) 
   {
      OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice(), OrderTakeProfit(), 0, clrRed);     
      Print("163");  //nur zum Verfolgen         
   }    
}
Ebenso für Short:

Code:
if (BreakEven > 0 && OrderStopLoss() > OrderOpenPrice()) 
{                 
   if (Bid < OrderOpenPrice() - BreakEven* _Point) 
   {
      OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice(), OrderTakeProfit(), 0, clrRed);        
      Print("214");  //nur zum Verfolgen 
   }
}
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #7 (permalink)  
Alt 19.10.21
Neues Mitglied
 
Registriert seit: Aug 2020
Beiträge: 14
Nextrader befindet sich auf einem aufstrebenden Ast
Standard

Kurzes Fazit, - bei short funktioniert der Code - und bei buy kommt noch immer Fehlermeldung beim Journal.

2021.10.19 19:09:59.012 2021.09.27 13:50:00 Scalping EA (CCI) + Zeiteinstellung + Trailing + BreakEven .DE40Cash,M5: OrderModify error 130
2021.10.19 19:09:59.012 2021.09.27 13:50:00 Scalping EA (CCI) + Zeiteinstellung + Trailing + BreakEven .DE40Cash,M5: 163
2021.10.19 19:09:59.012 2021.09.27 13:55:00 Scalping EA (CCI) + Zeiteinstellung + Trailing + BreakEven .DE40Cash,M5: OrderModify error 130
2021.10.19 19:09:59.012 2021.09.27 13:55:00 Scalping EA (CCI) + Zeiteinstellung + Trailing + BreakEven .DE40Cash,M5: 163

Habe den Code geändert auf:

PHP-Code:
 if(BreakEven && OrderStopLoss() < OrderOpenPrice()) 
            {                 
               if ( 
OrderOpenPrice()+ Ask[COLOR="Red"]<[/COLOR]Point*BreakEven 
               {
               
OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice(), OrderTakeProfit(), 0clrRed);     
               Print(
"163");  //nur zum Verfolgen 
Jetzt kommt dann nicht bei jeder buy Position fehlermeldung sondern nur noch vereinzelt siehe unten Journal.

2021.10.19 19:29:59.058 2021.08.13 17:45:00 Scalping EA (CCI) + Zeiteinstellung + Trailing + BreakEven .DE40Cash,M5: 163
2021.10.19 19:29:59.058 2021.08.13 17:45:00 Scalping EA (CCI) + Zeiteinstellung + Trailing + BreakEven .DE40Cash,M5: OrderModify error 130
2021.10.19 19:29:59.058 2021.08.13 17:40:00 Scalping EA (CCI) + Zeiteinstellung + Trailing + BreakEven .DE40Cash,M5: modify #5 buy 0.10 .DE40Cash at 15959.0 sl: 15926.5 tp: 16049.0 ok
2021.10.19 19:29:59.058 2021.08.13 17:40:00 Scalping EA (CCI) + Zeiteinstellung + Trailing + BreakEven .DE40Cash,M5: 163
2021.10.19 19:29:59.058 2021.08.13 17:40:00 Scalping EA (CCI) + Zeiteinstellung + Trailing + BreakEven .DE40Cash,M5: OrderModify error 130
2021.10.19 19:29:59.058 2021.08.13 17:40:00 Scalping EA (CCI) + Zeiteinstellung + Trailing + BreakEven .DE40Cash,M5: modify #5 buy 0.10 .DE40Cash at 15959.0 sl: 15926.5 tp: 0.0 ok
2021.10.19 19:29:59.058 2021.08.13 17:40:00 Scalping EA (CCI) + Zeiteinstellung + Trailing + BreakEven .DE40Cash,M5: open #5 buy 0.10 .DE40Cash at 15959.0 ok

Eine Ahnung an was das liegt?
  #8 (permalink)  
Alt 19.10.21
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Kannst Du mir mal diese Zeile exakt erklären, warum da ein < steht.

if ( OrderOpenPrice()+ Ask<Point*BreakEven )

Wobei ich gerade sehe, das ich das schon falsch aus Deinem Code übernommen habe.

Richtig muss das natürlich so lauten:

if (Ask - OrderOpenPrice() > Point*BreakEven )

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.

Geändert von traderdoc (19.10.21 um 20:44 Uhr)
  #9 (permalink)  
Alt 27.10.21
Mitglied
 
Registriert seit: Jul 2012
Beiträge: 68
kamü befindet sich auf einem aufstrebenden Ast
Standard iCustom

...Bei meinem vorherigen EA mit dem iCustom, konnte ich das Problem lösen.
Die Indikatoren konnten nicht gefunden werden da diese in einem Unterordner hinterlegt waren. Als ich den Unterordner weg gemacht habe ging das wieder - Problem gelöst, danke dir nochmal für die Tipps...

Hallo Nextrader, der Ea mit dem iCustom hat wohl keine guten Ergebnisse gebracht?

Möchtest du den mal hier einstellen? Ich hätte gerne etwas damit experimentiert.

kamü
  #10 (permalink)  
Alt 27.10.21
Neues Mitglied
 
Registriert seit: Aug 2020
Beiträge: 14
Nextrader befindet sich auf einem aufstrebenden Ast
Standard

Hallo zusammen,

sorry für die verspätete Nachricht. Ne also den EA konnte ich zum laufen bringen tipps haben geholfen - danke nochmal
Thema geschlossen

Lesezeichen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------