Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 949

 
Vasiliy Sokolov:

Este é um método modelo. O tipo de parâmetro será correspondido de acordo com o tipo passado nestes parênteses. O tipo é determinado estatisticamente, em tempo de compilação. Pode ler mais sobre isto em "function and class templates":https://www.mql5.com/ru/docs/basis/oop/templates.

Obrigado!

 
Artyom Trishkin:
  1. É gerado um novo tick - a condição está preenchida, por exemplo, a indicação de padrão será desenhada neste tick e será gerado um alerta.
    1. Necessidade de uma função para receber uma condição com a bandeira desta condição definida pelos dois parágrafos seguintes
    2. Precisa de uma função de desenho de padrões
    3. Função necessária para enviar alerta (não necessariamente uma função - existem funções padrão para apenas alerta, apenas e-mail e apenas push)
  2. Depois de satisfeita a condição acima, temos de parar a execução de múltiplas repetições da mesma acção da acção acima até um período de tempo igual a...
    1. Se houver uma bandeira de que três dos passos acima referidos do passo 1 já foram dados, então não faça nada - vá para o passo 3, caso contrário vá para o passo 1
  3. Assim que a barra mudar para a próxima, reiniciar a condição até ao próximo período de tempo descrito acima
    1. Precisamos de uma função para definir uma nova barra. Assim que uma nova barra tenha sido definida, passamos ao passo 1. Caso contrário, passamos ao passo 2.

Obrigado, vou tentar fazer

 
Pode dizer-me se as funções TimeLocal e TimeCurrent podem dar tempo com precisão a milissegundos?
 

Boa tarde!

O conselheiro está a emitir avisos:

possível utilização da variável não inicializada 'hv1' test_gme.mq5 154 23
0 erro(s), 14 aviso(s), tempo de compilação: 1306 msec 1 15

Aqui está o código: Qual é o erro?

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

Boa tarde!

O conselheiro está a emitir avisos:

possível utilização da variável não inicializada 'hv1' test_gme.mq5 154 23
0 erro(s), 14 aviso(s), tempo de compilação: 1306 msec 1 15

Aqui está o código: qual é o erro?

Adicionar =0 .

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

Ao compilar, tudo está bem, sem erros ou avisos. Mas

Ao testar, dá o seguinte:

2018.12.01 17:53:00.074 Passe genético Core 4 (0, 509) testado com erro "OnInit failed" às 0:00:00.000

 
Acho que está a funcionar. Obrigado.
 
Pode por favor dizer-me como obter uma lista de directórios no directório especificado MQL5\Files ?
 
Aleksey Vyazmikin:
Por favor, diga-me como obter uma lista de directórios num directório específico MQL5\Files ?
Exemplo doLifeHack for Trader: Um backtest é bom, mas quatro é melhor: