Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 949

 
Vasiliy Sokolov:

Questo è un metodo modello. Il tipo di parametro in esso sarà abbinato secondo il tipo passato in queste parentesi. Il tipo è determinato staticamente, al momento della compilazione. Potete leggere di più su questo in "modelli di funzioni e classi":https://www.mql5.com/ru/docs/basis/oop/templates.

Grazie!

 
Artyom Trishkin:
  1. Viene generato un nuovo tick - la condizione è soddisfatta, per esempio, l'indicazione del pattern verrà disegnata su questo tick e verrà generato un allarme.
    1. Serve una funzione per ricevere una condizione con il flag di questa condizione impostato dai prossimi due paragrafi
    2. Necessità di una funzione di disegno del modello
    3. Serve una funzione per inviare un avviso (non necessariamente una funzione - ci sono funzioni standard per solo avviso, solo e-mail e solo push)
  2. Dopo che la condizione di cui sopra è soddisfatta, abbiamo bisogno di fermare le ripetizioni multiple della stessa azione fino a un periodo di tempo pari a...
    1. Se c'è un indicatore che tre passi del passo 1 sono già stati fatti, allora non fare nulla - vai al passo 3, altrimenti vai al passo 1
  3. Non appena la barra passa a quella successiva, riavvia la condizione fino al prossimo periodo di tempo descritto sopra
    1. Abbiamo bisogno di una funzione per definire una nuova barra. Non appena una nuova barra è stata definita, andate al punto 1. Altrimenti, andate al punto 2.

Grazie, cercherò di fare

 
Potete dirmi se le funzioni TimeLocal e TimeCurrent possono dare il tempo con precisione al millisecondo?
 

Buon pomeriggio!

Il consigliere sta dando degli avvertimenti:

possibile uso di una variabile non inizializzata 'hv1' test_gme.mq5 154 23
0 errore(i), 14 avviso(i), tempo di compilazione: 1306 msec 1 15

Ecco il codice: qual è l'errore?

//============================================================================================================
   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:

Buon pomeriggio!

Il consigliere sta dando degli avvertimenti:

possibile uso di una variabile non inizializzata 'hv1' test_gme.mq5 154 23
0 errore(i), 14 avviso(i), tempo di compilazione: 1306 msec 1 15

Ecco il codice: qual è l'errore?

Aggiungere =0 .

double hv1=0,hv2=0,hv3=0...
 
Grazie!
 

Durante la compilazione, tutto è OK, nessun errore o avvertimento. Ma

Durante il test, dà il seguente risultato:

2018.12.01 17:53:00.074 Core 4 genetic pass (0, 509) testato con errore "OnInit failed" a 0:00:00.000

 
Credo che stia funzionando, grazie.
 
Potete dirmi per favore come ottenere una lista di directory nella directory specificata MQL5\Files?
 
Aleksey Vyazmikin:
Per favore, ditemi come ottenere una lista di directory in una directory specificata MQL5\Files?
Esempio daLifeHack for Trader: Un backtest è buono, ma quattro sono meglio: