Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 466

 
Rewerpool:
Das ist eine nette Geste. Aus dem Code entfernt.

Stop zuckt jetzt bei jedem Tick )))))

Hinzufügen.

          double    OOP = OrderOpenPrice(),
                    OSL = OrderStopLoss(),
                    OTP = OrderTakeProfit();
          if ((OSL!=0&&stoploss==0) && (OTP!=0&&takeprofit==0)) continue;
 

Nochmals guten Abend. Das Wesentliche der Frage.

Ich setze einen EA (funktioniert) in den Markt. MT4-Plattform. Ich kann eine einzelne Datei anzeigen. Eine Datei des Expert Advisors. Es sollte die Gültigkeit bestehen, kann es aber nicht, weil es ein EA ohne Indikatoren ist. Sie befinden sich in separaten Dateien. Der Expert Advisor arbeitet mit vier Indikatoren. Sie müssen irgendwie mit dem Expert Advisor verbunden sein. Sie müssen den Pfad angeben, d. h. sie in den Expert Advisor schreiben. Bitte teilen Sie uns mit, welches Formular und wie Sie dies tun können.

Soviel ich weiß, müssen wir die "Ressourcen" verwenden. Ich weiß nicht, wie ich sie korrekt im Expert Advisor registrieren kann. Vielleicht kennen Sie andere Lösungen.

Ich danke Ihnen.

So sieht es aus, wenn es die Gültigkeit nicht besteht

 2016.04.01 00:00:00 kann Datei 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' nicht öffnen [2] 2016.04.01 00:00:00 kann Datei 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' nicht öffnen [2]01 00:00:00 kann Datei 'MQL4\indicators\MA in Color_wAppliedPrice.ex4' nicht öffnen [2] 2016.04.01 00:00:00 kann Datei 'MQL4\indicators\MA in Color_wAppliedPrice.ex4' nicht öffnen [2] 2016.04.01 00:00:00 kann Datei 'MQL4\indicators\HA_Smooth.ex4' [2] 2016.04.01 00:00:00 kann Datei 'MQL4\indicators\HA_Smooth.ex4' nicht öffnen [2] 2016.04.01 00:00:00 kann Datei 'MQL4\indicators\TrendLord.ex4' nicht öffnen [2] 2016.04.01 00:00:00 kann Datei 'MQL4\indicators\TrendLord.ex4' [2] 2016.04.01 00:00:05 kann die Datei 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' [2] 2016.04.01 00:00:05 kann die Datei 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' [2] 2016.04.01 00:00:0504.01 00:00:05 kann Datei 'MQL4\indicators\MA in Color_wAppliedPrice.ex4' nicht öffnen [2] 2016.04.01 00:00:05 kann Datei 'MQL4\indicators\MA in Color_wAppliedPrice.ex4' nicht öffnen [2] 2016.04.0101 00:00:05 kann Datei 'MQL4\indicators\HA_Smooth.ex4' nicht öffnen [2] 2016.04.01 00:00:05 kann Datei 'MQL4\indicators\HA_Smooth.ex4' nicht öffnen [2] 2016.04.01 00:00:05 kann Datei 'MQL4\indicators\TrendLord.ex4' nicht öffnen [2] 2016.04.0101 00:00:05 kann Datei 'MQL4\indicators\TrendLord.ex4' nicht öffnen [2] 2016.04.01 00:00:10 kann Datei 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' nicht öffnen [2] 2016.04.01 00:00:10 kann Datei 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' [2] 2016.04.01 00:00:10 kann Datei 'MQL4\indicators\MA in Color_wAppliedPrice.ex4' nicht öffnen [2] 2016.04.01 00:00:10 kann Datei 'MQL4\indicators\MA in Color_wAppliedPrice.ex4' nicht öffnen [2]

 
Guten Abend, wie macht man einen Slip? Ich habe das ganze Internet durchforstet, kann aber nichts finden....
 
Oleksandr Kulibaba:

Nochmals guten Abend. Das Wesentliche der Frage.

Ich setze einen EA (funktioniert) in den Markt. MT4-Plattform. Ich kann eine einzelne Datei anzeigen. Eine Datei des Expert Advisors. Es sollte die Gültigkeit bestehen, kann es aber nicht, weil es ein EA ohne Indikatoren ist. Sie befinden sich in separaten Dateien. Der Expert Advisor arbeitet mit vier Indikatoren. Sie müssen irgendwie mit dem Expert Advisor verbunden sein. Sie müssen den Pfad angeben, d. h. sie in den Expert Advisor schreiben. Bitte teilen Sie uns mit, welches Formular und wie Sie dies tun können.

Soviel ich weiß, müssen wir die "Ressourcen" verwenden. Ich weiß nicht, wie ich sie korrekt im Expert Advisor registrieren kann. Vielleicht kennen Sie andere Lösungen.

Ich danke Ihnen.

So sieht es aus, wenn die Gültigkeit nicht überschritten wird

Ich finde es traurig, dass Sie einen EA geschrieben haben und ihm keine Indikatoren hinzufügen können.

 
Vladislav Andruschenko:

Es ist traurig, dass Sie einen EA geschrieben haben und ihm keine Indikatoren hinzufügen können, damit er funktioniert.

 
Oleksandr Kulibaba:
Ich bin dabei, es herauszufinden. Ich hoffe, es klappt. Ihre Antwort hat mir überhaupt nicht weitergeholfen. Und ich bin überhaupt nicht traurig, im Gegenteil, ich bin begeistert. Und ich werde es tun.
 
//+------------------------------------------------------------------+
//|                                                        temp1.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

extern int    Slippage=29;

int Slippage1;

int OnInit()
  {
//---
   Slippage1=Slippage;
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  if(Slippage1!=Slippage){Slippage1=Slippage; Print("Параметры изменены");}
//---
   Comment(Slippage1);
  }
//+------------------------------------------------------------------+

Grüße.

Ein neues Häkchen sollte den Wert des EingabeparametersSchlupf der VariablenSchlupf1 zuweisen, den Wert vonSchlupf1 in einem Kommentar ausgeben und im Protokoll"Parameter geändert" anzeigen.

Was nicht funktioniert: WennSlippage1!=Slippage, wird die Option"Parameter geändert" nicht im Protokoll ausgegeben.

Frage: Was mache ich falsch?

 
Andrey Sokolov:

Grüße.

Ein neues Häkchen soll den Wert des EingangsparametersSchlupf der VariablenSchlupf1 zuweisen, den Wert vonSchlupf1 in einem Kommentar ausgeben und im Journal"Parameter geändert" anzeigen.

Was nicht funktioniert: WennSlippage1!=Slippage, wird die Meldung"Parameter geändert" nicht im Protokoll ausgegeben.

Frage: Was mache ich falsch?

Wird ein Eingangsparameter geändert, so wird der Variablen Slippage1 in OnInit der Wert von Slippag zugewiesen.Daher können sie nicht ungleich sein.

extern int    Slippage=29;

int Slippage1 = 0;

int OnInit()
  {
//---
   //Slippage1=Slippage;
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  if(Slippage1!=Slippage){Slippage1=Slippage; Print("Параметры изменены");}
//---
   Comment(Slippage1);
  }

 
Alexey Viktorov:

Wenn der Eingangsparameter geändert wird, wird die Variable Slippage1 in OnInit auf Slippag gesetzt.Daher können sie nicht ungleich sein.

Ja, ich danke Ihnen. Ich habe es gerade bekommen.

 

Hallo, bitte helfen Sie mir mit dem Fehler, der im Tester auftritt, wenn ich versuche, eine Order zu ändern (Übertragung auf Breakeven): Ich habe die Funktion OrderOpenPrice() anstelle von SL eingesetzt, aber der Tester zeigt error1 an (laut Dokumentation bedeutet dies, dass versucht wird,unveränderte Werte als Parameter an die Funktion zu übergeben).Ich füge den Code bei! Vielen Dank im Voraus!

void DeleteOrderFunction2() //Funktion, die den zweiten ausstehenden Auftrag löscht und den zweiten Auftrag an einem bestimmten Abend zum Breakeven speichert

{

bool flag = false;

if (FlagDeleteSecondOrder2 == true)

{

if(DayOfWeek() == DAYOFWEEK && //wenn ein Wochentag ausgewählt ist

Stunde() == 22 //wenn Abend

)

{

if(BuyCount() == 1 && if(es liegt eine offene Kauforder vor

SellStopCount() == 1 //und es liegt ein schwebender Verkaufsauftrag vor

)

{

for( int i = 0; i < OrdersTotal(); i++) //Aufträge erstellen

{

OrderSelectX(i, SELECT_BY_POS, MODE_TRADES;)

switch(Auftragsart())

{

case OP_BUY: if(OrderProfit() > 0 &&

Bid > OrderOpenPrice()

)

{

OrderModifyX(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(),0,Arrow_Color);

flag =true;

}

Pause;

case OP_SELLSTOP: if(flag==true)

{

OrderDeleteX(OrderTicket(), Arrow_Color);

}

Pause;

}

}

}

if(SellCount() == 1 && // wenn ein offener Verkaufsauftrag vorhanden ist

BuyStopCount() == 1 //und es liegt ein schwebender Kaufauftrag vor

)

{ Print("IS!!!!");

for( int i = 0; i < OrdersTotal(); i++) //Aufträge erstellen

{

OrderSelectX(i, SELECT_BY_POS, MODE_TRADES;)

switch(Auftragsart())

{

case OP_SELL: if (OrderProfit() > 0 &&

Ask < OrderOpenPrice()

)

{

OrderModifyX(OrderTicket(), OrderOpenPrice(),OrderTakeProfit(),0, Arrow_Color);

flag = true;Print("flag =", flag);

}

Pause;

case OP_BUYSTOP: if(flag == true)

{

Print("flag =", flag);

OrderDeleteX(OrderTicket(), Arrow_Color);

}

Pause;

}

}

}


}


}

}

Grund der Beschwerde: