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

 
MakarFX #:

1) Ja, dies sind die Werte für die Anzahl der "Bestätigungskerzen" .

2) Nein, sie öffnet sich nicht beim ersten Mal, sondern erst nach einer bestimmten Anzahl von "Bestätigungskerzen" .

3) Ändere die Magie und lege sie auf ein beliebiges Paar

Es ist besser, die Magie zu einer externen Variablen zu machen

1) Ich hab's;

2) Ich werde einen Screenshot in diesem Beitrag anhängen, es öffnet sich nicht auf der ersten, aber wenn Eintrag von 4 Kerzen in Bedingungen ist, wird es auf der 4. öffnen, wie im Screenshot. Das ist natürlich nicht die Hauptsache, ich möchte nur wissen, wie man das Problem beheben kann. Aber selbst wenn wir es dabei belassen, wozu ist "Init=true" gut? Was ist das Wesentliche daran?

3) Und wie kann man eine externe Magievariable erstellen? Ich habe nur noch nicht mit Magie gearbeitet und weiß nicht, wie man sie einsetzt:

#property copyright "Copyright 2021, DrMak."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//--- input parameters
#define MagicNumber  122122
extern string s1             = "Trading options";
extern double Lot            = 0.01;    // размер лота 0 - авт.расчет
extern double StopLoss       = 40;     // стоплосс
extern double TakeProfit     = 10;     // тейкпрофит
extern double TrailStop      = 21;     // уровень без убытка
extern int    Trailing       = 0;      // трейлинг стоп 1 вкл. 0 выкл.
extern int    Breakeven      = 0;      // перенос стоп лосса в без убыток
extern string s2             = "Day & Hour";
extern int    HrStart        = 0;      // время начала торговли
extern int    HrEnd          = 23;     // время окончания торговли
extern int    Monday         = 1;      // Понедельник 1 вкд. 0 выкл.
extern int    Tuesday        = 1;      // Вторник
extern int    Wednesday      = 1;      // Среда
extern int    Thursday       = 1;      // Четверг
extern int    Friday         = 1;      // Пятница
//+------------------------------------------------------------------+
// параметры индикаторов
int MovingPeriodLw        = 5;      
int MovingPeriodS1        = 75;
int MovingPeriodS2        = 85;
double StopLevel;
double TrailStep             = 3;      // шаг трейлинг стопа
bool OrderBuy = true, OrderSell = true, Order = false, Init = true;
int timeprev = 0, Slip = 3.0, Start, cnt=1;
datetime newbar=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   if (Digits == 3 || Digits == 5) { // Пересчет для 5-ти знаков                                                    
      TakeProfit *= 10;
      TrailStop *= 10;
      TrailStep *= 10;
      StopLoss *=10;
      Slip *=10;
   } 
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL); 
   //---
   if(newbar!=Time[0])
     {
      if(CheckForOpen()!=Start)
        {Start=CheckForOpen(); cnt=1;}
      else
        {cnt+=1;}
      //---
      if(cnt==8)
        {
         // Открытие ордера по методу Пуриа
         if(CheckForOpen()==0) // Если сигнал для покупок 
           {
            if(OrderSend(Symbol(),OP_BUY,Lots(),Ask,Slip,Bid-StopLoss*Point,Ask+TakeProfit*Point,"",MagicNumber,0,Blue))
              {Print("BUY OK");}
              else {Print(GetLastError());}
           } 
         if(CheckForOpen()==1) // Если сигнал для продаж 
           {
            if(OrderSend(Symbol(),OP_SELL,Lots(),Bid,Slip,Ask+StopLoss*Point,Bid-TakeProfit*Point,"",MagicNumber,0,Red))
              {Print("SELL OK");}
              else {Print(GetLastError());}
           }
        }   
      newbar=Time[0];
     }
  }
Dateien:
 
MakarFX #:

Nicht schlecht!

 
artem artem #:

1) Ich hab's;

2) Ich werde einen Screenshot in diesem Beitrag anhängen, es öffnet nicht auf die erste Kerze, aber wenn Eintrag von 4 Kerzen in den Bedingungen ist, wird es auf der 4. öffnen, wie im Screenshot. Das ist natürlich nicht die Hauptsache, ich möchte nur wissen, wie man es beheben kann. Aber selbst wenn wir es dabei belassen, wozu ist "Init=true" gut? Was ist das Wesentliche daran?

3) Und wie kann man eine externe Magievariable erstellen? Es ist nur so, dass ich die Magie noch nicht einmal annähernd angefasst habe und nicht weiß, wie man sie einsetzt:

#define MagicNumber  122122

ersetzen durch

extern string MagicNumber = 122122;

"Init=true" kann entfernt werden.

Über die erste Eingabe werde ich nachdenken, aber morgen)

 

artem artem #:

Ich würde gerne wissen, wie man dies beheben kann.

Entfernt

Dateien:
artem.mq4  11 kb
 
MakarFX #:
// Мертвая строка

Gute Idee, gut gemacht, Makar!

 

Sagen Sie mir, was ich tun soll, ich habe einen abnormalen Fall:

Passage im Test zeigt 40 Trades in den letzten sechs Monaten. Das Guthaben auf dem Konto beträgt über 1000 Dollar.

Ich habe das ganze Jahr über das gleiche Set benutzt - nur 8 Trades. Rest ca. 1000 Dollar.

Ich lasse es ab Anfang 2020 laufen, 3 Monate handelt es - weiter 0 Reaktion.

Ich verstehe nicht, warum es nicht über einen großen Zeitraum handeln will. Es zeigt keine Fehler im Logbuch an.

 
artem artem #:

Der ist gut für den Spaß im Tester.

und das hier ist für Sie, als Geschenk - um Geld zu verdienen.

\\\\\\\\\\\\\\\\\\\\\\\\\\

Ich habe es getestet und werde heute Abend sehen, wie es funktioniert.

Bildschirmfoto 2021-10-10 054654

\\\\\\\\\\\\\\\\\\\\\\\\\\\

überprüft, wie es das Muster auf allen Karten ändert - alles hat funktioniert! -wie der Gesamtgewinn das Ziel erreicht hat.

Bildschirmfoto 2021-10-10 055232

Dateien:
artem_artem.mq4  26 kb
 

Es ist gut, im Tester zu prüfen, ob Sie die Indikatoreinstellungen ändern, wenn Sie die Vorlage mit den Indikatoren speichern - drücken Sie einfach im Tester auf Pause und passen Sie die Indikatoren an.

Bildschirmfoto 2021-10-10 063557

\\\\\\

Diagrammvorlage - für den Experten oben.

Dateien:
 
SanAlex #:

Der ist gut für den Spaß im Tester.

und das hier ist für Sie, als Geschenk, um Geld zu verdienen.

Guten Morgen an alle und gute Laune! Ich bin neugierig. Bitte übersetzen Sieartem artem.mq4 Code für MT5, wenn Sie keine Probleme mit ihm haben. Ich möchte sehen, wie es Rollover auf einem echten Konto "handhabt".

Mit freundlichen Grüßen Vladimir.

 
MrBrooklin #:

Guten Morgen allerseits und gute Laune! Ich bin neugierig. Bitte, wenn es für Sie nicht schwierig ist, übersetzen Sieartem artem.mq4 Code für MT5. Ich möchte sehen, wie es die Rollover bei einem echten Konto "handhabt".

Mit freundlichen Grüßen, Vladimir.

Guten Morgen, jetzt werde ich aus diesen Indikatoren einen Signalindikator für mt5 erstellen

\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Hier habe ich es gemacht - der Rest ist sehr einfach - in Expert Advisor mit seinen Wünschen und seiner Logik, Schleppnetz und alles andere.

EURUSDH1

\\\\\\\\\\\\\\\\\\\\\\

Im Expert Advisor können Sie einstellen, dass er bei einem Null-Bar oder beim ersten Bar geöffnet wird

Bildschirmfoto 2021-10-10 085616

Dateien:
Fx10_artem.mq5  20 kb