Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 949

 
Vasiliy Sokolov:

Es handelt sich um eine Schablonenmethode. Der darin enthaltene Parametertyp wird entsprechend dem in diesen Klammern übergebenen Typ abgeglichen. Der Typ wird statisch, zur Kompilierzeit, bestimmt. Mehr dazu erfahren Sie unter "Funktions- und Klassenvorlagen":https://www.mql5.com/ru/docs/basis/oop/templates.

Ich danke Ihnen!

 
Artyom Trishkin:
  1. Ein neuer Tick wird erzeugt - die Bedingung ist erfüllt, z.B. wird auf diesem Tick eine Musteranzeige gezeichnet und ein Alarm erzeugt.
    1. Benötigt wird eine Funktion, die eine Bedingung mit dem Flag dieser Bedingung empfängt, das durch die nächsten beiden Absätze gesetzt wird
    2. Benötigt eine Funktion zum Zeichnen von Mustern
    3. Benötigt wird eine Funktion zum Senden von Benachrichtigungen (nicht unbedingt eine Funktion - es gibt Standardfunktionen für nur Benachrichtigung, nur E-Mail und nur Push)
  2. Nachdem die obige Bedingung erfüllt ist, müssen wir die Ausführung mehrerer Wiederholungen derselben Aktion der obigen Aktion bis zu einer Zeitspanne von ... stoppen.
    1. Wenn die drei Schritte aus Schritt 1 bereits erledigt sind, dann nichts tun - mit Schritt 3 fortfahren, ansonsten mit Schritt 1 fortfahren
  3. Sobald der Balken zum nächsten wechselt, wird die Bedingung bis zum nächsten oben beschriebenen Zeitraum neu gestartet
    1. Wir brauchen eine Funktion zur Definition eines neuen Balkens. Sobald ein neuer Balken definiert ist, gehen Sie zu Punkt 1, ansonsten zu Punkt 2.

Danke, ich werde versuchen, das zu tun.

 
Können Sie mir sagen, ob die Funktionen TimeLocal und TimeCurrent die Zeit auf Millisekunden genau angeben können?
 

Guten Tag!

Der Berater spricht Warnungen aus:

mögliche Verwendung einer nicht initialisierten Variablen 'hv1' test_gme.mq5 154 23
0 Fehler, 14 Warnung(en), Kompilierzeit: 1306 msec 1 15

Hier ist der Code: Wo liegt der Fehler?

//============================================================================================================
   int GetSignal (string sb)
  {
    int    dig=int(SymbolInfoInteger(pos.Symbol(), SYMBOL_DIGITS));
   double vpoint  = SymbolInfoDouble(sb,SYMBOL_POINT);
   double op1,op2,op3,op4,op5,op6,op7,
              cl1,
              hi1,hi2,hi3,hi4,hi5,hi6,hi7,
              lo1,lo2,lo3,lo4,lo5,lo6,lo7;
 double hv1,hv2,hv3,hv4,hv5,hv6,hv7;
 double gr1,gr2,gr3,gr4,gr5,gr6,gr7;
 //pp=NormalizeDouble(pp, dg);
 // op=NormalizeDouble(pos.PriceOpen() , dg);
  hv1=NormalizeDouble(hv1, dig);
  hv2=NormalizeDouble(hv2, dig);
  hv3=NormalizeDouble(hv3, dig);
  hv4=NormalizeDouble(hv4, dig);
  hv5=NormalizeDouble(hv5, dig);
  hv6=NormalizeDouble(hv6, dig);
  hv7=NormalizeDouble(hv7, dig);
  gr1=NormalizeDouble(gr1, dig);
  gr2=NormalizeDouble(gr2, dig);
  gr3=NormalizeDouble(gr3, dig);
  gr4=NormalizeDouble(gr4, dig);
  gr5=NormalizeDouble(gr5, dig);
  gr6=NormalizeDouble(gr6, dig);
  gr7=NormalizeDouble(gr7, dig);
  //=================================================================================================
      double ma_sred1 =NormalizeDouble(iMA(sb,PERIOD_M5,sr,0,MODE_SMA,PRICE_CLOSE),dig);      //for M5
   //==============================================================================================
           op1=NormalizeDouble(iOpen(sb,PERIOD_M5,1),dig);       //m5
           op2=NormalizeDouble(iOpen(sb,PERIOD_M5,2),dig);      //m10 sintez
           op3=NormalizeDouble(iOpen(sb,PERIOD_M5,3),dig);     //m15 si
           op4=NormalizeDouble(iOpen(sb,PERIOD_M5,4),dig);    //m20 si
           op5=NormalizeDouble(iOpen(sb,PERIOD_M5,5),dig);   //m25 si
           op6=NormalizeDouble(iOpen(sb,PERIOD_M5,6),dig);  //m30 si
           op7=NormalizeDouble(iOpen(sb,PERIOD_M5,7),dig); //m35 si
 //==================================================================================
       cl1=NormalizeDouble(iClose(sb,PERIOD_M5,1),dig);     //m5
 //=================================================================================   
  //   hay1=NormalizeDouble(iHigh(sb,PERIOD_M5,30),dig);
    
     //   niz1=NormalizeDouble(iLow(sb,PERIOD_M5,30),dig);
       
 //======================================================================================
            lo1=NormalizeDouble(iLow(sb,PERIOD_M5,1),dig);                                      //m5
            lo2=NormalizeDouble(MathMin(iLow(sb,PERIOD_M5,1),iLow(sb,PERIOD_M5,2)),dig);  //m10
            lo3=NormalizeDouble(MathMin(lo2,iLow(sb,PERIOD_M5,3)),dig);                       //m15 
            lo4=NormalizeDouble(MathMin(lo3,iLow(sb,PERIOD_M5,4)),dig);                      //m20
            lo5=NormalizeDouble(MathMin(lo4,iLow(sb,PERIOD_M5,5)),dig);                     //m25
            lo6=NormalizeDouble(MathMin(lo5,iLow(sb,PERIOD_M5,6)),dig);                    //m30
            lo7=NormalizeDouble(MathMin(lo6,iLow(sb,PERIOD_M5,7)),dig);                   //m35
      
 //=========================================================================================================
            hi1=NormalizeDouble(iHigh(sb,PERIOD_M5,1),dig);                                       //m5
            hi2=NormalizeDouble(MathMax(iHigh(sb,PERIOD_M5,1),iHigh(sb,PERIOD_M5,2)),dig);  //m10 sint
            hi3=NormalizeDouble(MathMax(hi2,iHigh(sb,PERIOD_M5,3)),dig);                        //m15 sint
            hi4=NormalizeDouble(MathMax(hi3,iHigh(sb,PERIOD_M5,4)),dig);                       //m20 sint
            hi5=NormalizeDouble(MathMax(hi4,iHigh(sb,PERIOD_M5,5)),dig);                      //m25 sint
            hi6=NormalizeDouble(MathMax(hi5,iHigh(sb,PERIOD_M5,6)),dig);                     //m30 sint
            hi7=NormalizeDouble(MathMax(hi6,iHigh(sb,PERIOD_M5,7)),dig);                    //m35 sint
 
fregat555:

Guten Tag!

Der Berater spricht Warnungen aus:

mögliche Verwendung einer nicht initialisierten Variablen 'hv1' test_gme.mq5 154 23
0 Fehler, 14 Warnung(en), Kompilierzeit: 1306 msec 1 15

Hier ist der Code: Was ist der Fehler?

Hinzufügen =0 .

double hv1=0,hv2=0,hv3=0...
 
Ich danke Ihnen!
 

Beim Kompilieren ist alles in Ordnung, keine Fehler oder Warnungen. Aber

Bei der Prüfung ergibt sich folgendes Bild:

2018.12.01 17:53:00.074 Core 4 genetic pass (0, 509) getestet mit Fehler "OnInit failed" um 0:00:00.000

 
Ich glaube, es klappt. Danke.
 
Können Sie mir bitte sagen, wie ich eine Liste der Verzeichnisse im angegebenen Verzeichnis MQL5\Files erhalte?
 
Aleksey Vyazmikin:
Bitte sagen Sie mir, wie man eine Liste der Verzeichnisse in einem bestimmten Verzeichnis MQL5\Files erhalten?
Beispiel vonLifeHack for Trader: Ein Backtest ist gut, aber vier sind besser: