Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 949

 
Vasiliy Sokolov:

Это шаблонный метод. Тип параметра в нем будет подобран согласно переданному типу в этих скобках. Тип определяется статически, на этапе компиляции программы. Более подробно об этом можно почитать в "шаблонах функций и классов": https://www.mql5.com/ru/docs/basis/oop/templates 

Спасибо!

 
Artyom Trishkin:
  1. Сгенерировался новый тик - выполнилось условие, например, на этом тике будет отрисовываться указание паттерна и будет подан алерт.
    1. Нужна функция получения условия с установкой флага отработки этого условия последующими двумя пунктами
    2. Нужна функция отрисовки паттерна
    3. Нужна функция отсылки алерта (не обязательно функция - есть стандартные функции для только алерта, только e-mail и только push)
  2. Нужно после выполнения условия выше остановить выполнения множества повторений одного и того же действия вышеописанного дествия до периода времени, равного...
    1. Если стоит флаг, что три вышеперечисленных действия из пункта 1 уже выполнены, то ничего не делать - идём к пункту 3, иначе - идём на пункт 1
  3. Как только бар сменяется на следующий, вновь возобновить работу условия до следующего временного периода, описанного выше
    1. Нужна функция определения нового бара. Как только новый бар определили - идём на пункт 1. Иначе - идём на пункт 2.

Спасибо, буду пробовать делать

 
Подскажите если аналоги функций TimeLocal и TimeCurrent отдающие время с точностью до миллисекунд  ? 
 

Добрый день!

В советнике выдаются предупреждения:

possible use of uninitialized variable 'hv1' test_gme.mq5 154 23
0 error(s), 14 warning(s), compile time: 1306 msec  1 15

Вот код: в чем ошибка?

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

Добрый день!

В советнике выдаются предупреждения:

possible use of uninitialized variable 'hv1' test_gme.mq5 154 23
0 error(s), 14 warning(s), compile time: 1306 msec  1 15

Вот код: в чем ошибка?

Добавьте =0 .

double hv1=0,hv2=0,hv3=0...
 
спасибо!
 

При компиляции все окей, нет ошибок и предупреждений. Но

При тестировании выдает следующее:

2018.12.01 17:53:00.074 Core 4 genetic pass (0, 509) tested with error "OnInit failed" in 0:00:00.000

 
 вроде заработало.спасибо.
 
Подскажите, пожалуйста, как получить список директорий в указанной директории MQL5\Files ?
 
Aleksey Vyazmikin:
Подскажите, пожалуйста, как получить список директорий в указанной директории MQL5\Files ?
пример из статьи LifeHack для трейдера: один бэк-тест хорошо, а четыре лучше:
Причина обращения: