Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 824

 
Lomonosov1991:
Спасибо Игорь Макану. Функцию вчера сделал така функцию позавчера сделал такА можно сделать чтобы через выходные не обнулялся? ну то есть чтобы в понедельник вчера для него было пятница. то есть как то убрать выходные?

используйте время открытия бара на таймфрейме D1

datetime d1 =  iTime(NULL,PERIOD_D1,1);  //один торговый день назад (вчера)
datetime d2 =  iTime(NULL,PERIOD_D1,2);  //два торговых дня назад (позавчера)
.....

можете определять день недели с помощью TimeDayOfWeek()

еще можно "собрать / разобрать" datetime с помощью StructToTime() и TimeToStruct()

 
Здравствуйте. Что неправильно?
   for(int i=limit; i>=0; i--)
     {
      if(
         close[i+1]<iLow(NULL,PERIOD_CURRENT,iLowest(NULL,PERIOD_CURRENT,MODE_LOW,10,2))
         )
        {
         BufferUP[i+1]=low[i+1];
        }
     }
условие - первая свеча закрылась меньше минимума из 10 свечей, но закрыты свечи выше минимума а ставит стрелки.
 
!
 
Ghabo:
Здравствуйте. Что неправильно?условие - первая свеча закрылась меньше минимума из 10 свечей, но закрыты свечи выше минимума а ставит стрелки.
iLow[iLowest(NULL,0,MODE_LOW,period,2)] так правильнее написать

NULL - символ

0 - текущий таймфрейм

period - количество баров

2 - 1-й бар(если 1, то считается текущий бар)

https://www.mql5.com/ru/docs/series/ilowest
Документация по MQL5: Доступ к таймсериям и индикаторам / iLowest
Документация по MQL5: Доступ к таймсериям и индикаторам / iLowest
  • www.mql5.com
[in]  Индекс (смещение относительно текущего бара) начального бара, с которого начинается поиск наименьшего значения. Отрицательные значения игнорируются и заменяются нулевым значением. Индекс наименьшего найденного...
 
Sergey Nikolenko:

NULL - символ

0 - текущий таймфрейм

period - количество баров

2 - 1-й бар(если 1, то считается текущий бар)

https://www.mql5.com/ru/docs/series/ilowest
iLow[iLowest(NULL,0,MODE_LOW,period,2)] так правильнее написать

так не правильно


правильно так

Low[iLowest(NULL,0,MODE_LOW,period,2)]
 

Спасибо Игорь) 

А как написать на русском в настройках где переменные? Чтобы не StopNewOrder писал а "Просадка для остановки торгов"

extern double StopNewOrder = 10;//"Просадка для остановки торгов"
 
Lomonosov1991:

Спасибо Игорь) 

А как написать на русском в настройках где переменные? Чтобы не StopNewOrder писал а "Просадка для остановки торгов"

input double StopNewOrder = 10;//Просадка для остановки торгов
 
Igor Makanu:
Слышал что это работает на MQL5. На MQL4 это не работает.
 
Lomonosov1991:
Слышал что это работает на MQL5. На MQL4 это не работает.

работает, можете с этим скриптом поэкспериментировать:

#property copyright "IgorM"
#property link      "https://www.mql5.com/ru/users/igorm"
#property version   "1.00"
#property strict
#property show_inputs

enum ENUM_TST{param1/*один*/,param2/*два*/,param3/*три*/};
input ENUM_TST    inp1  = param1;
input double      inp2  = 20.0;//Мой параметр
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
  }
 
Alekseu Fedotov:

так не правильно


правильно так

Разве ваш вариант и то что написано у меня, не одно и тоже?

         close[i+1]<iLow(NULL,PERIOD_CURRENT,iLowest(NULL,PERIOD_CURRENT,MODE_LOW,10,2))//БЫЛО
         close[i+1] <Low[iLowest(NULL,0,MODE_LOW,10,2)]//СТАЛО

на графике, во всяком случае, ничего не изменилось

Причина обращения: