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

 
MakarFX:
это не подходит, нужны экстремумы не зиг-зага

а что нужно ?

 
Iurii Tokman:

а что нужно ?

Условия

 
люди добрые, если кто-то знает, как сделать индикатор по описанным выше моим условиям, то я готова оплатить работу, 50$ за код.
 
azolotta:
люди добрые, если кто-то знает, как сделать индикатор по описанным выше моим условиям, то я готова оплатить работу, 50$ за код.

Бесплатный совет. После Ваших условий if, индикатор ищет бар с минимальным значением в последних 3х барах. Вы правильно находите их минимум по найденному индексу. Но передаёте его в буфер бару с другим индексом. Вот и происходит сдвиг.

val_index=iLowest(NULL,0,MODE_LOW,3,n+1);
myAZBuffer[n]=Low[val_index];
ExtLowBuffer[n]=Low[val_index];

не проверял, но попробуйте

myAZBuffer[val_index]=Low[val_index];
 
azolotta:
люди добрые, если кто-то знает, как сделать индикатор по описанным выше моим условиям, то я готова оплатить работу, 50$ за код.

Обратись сюда

 
azolotta:
люди добрые, если кто-то знает, как сделать индикатор по описанным выше моим условиям, то я готова оплатить работу, 50$ за код.

Напишите словами условия и при выполнении этого условия на каком баре должно быть отображение индикатора. Можно на рисунке показать.

 
Vladimir Karputov:

1. Пожалуйста указывайте минимальную информацию (первые три строчки из вкладки Журнал после перезапуска терминала)

2. Обновите билд 

2021.01.25 07:11:36.748 Terminal Alpari MT5 x64 build 2755 started for Alpari

2021.01.25 07:11:36.749 Terminal Windows 10 build 14393, Intel Core i3-10100  @ 3.60GHz, 12 / 15 Gb memory, 77 / 111 Gb disk, IE 11, UAC, GMT+0

2021.01.25 07:11:36.749 Terminal C:\Users\User\AppData\Roaming\MetaQuotes\Terminal\36A64B8C79A6163D85E6173B54096685

Думаю , что у меня после обновления это началось! 

 
Mikhail Toptunov:

2021.01.25 07:11:36.748 Terminal Alpari MT5 x64 build 2755 started for Alpari

2021.01.25 07:11:36.749 Terminal Windows 10 build 14393, Intel Core i3-10100  @ 3.60GHz, 12 / 15 Gb memory, 77 / 111 Gb disk, IE 11, UAC, GMT+0

2021.01.25 07:11:36.749 Terminal C:\Users\User\AppData\Roaming\MetaQuotes\Terminal\36A64B8C79A6163D85E6173B54096685

Думаю , что у меня после обновления это началось! 

Обновите билд (подключитесь к серверу MetaQuotes-Demo и далее два шага:


. )


Текущий билд 2761.

 

Всем добрый день. Проверку-то я прикрутил, а протестировать забыл О_о. Хорошо, что сегодня про это вспомнил…Вот эта проверка на моде стоп левел

         //ПРОВЕРКА СТОП ЛОССА НА МОДЕ СТОП ЛЕВЕЛ- МИНИМАЛЬНЫЙ УРОВЕНЬ СТОПА 
         if(sl<MarketInfo(Symbol(),MODE_STOPLEVEL)) // ЕСЛИ СТОПОЛС МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО 
         {
          sl= MarketInfo(Symbol(),MODE_STOPLEVEL);//СТОП  ЛОССУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
         }


      // ПРОВЕРКА ТЕЙК ПРОФИТА НА МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ УСТАНОВКИ
      
  if(tp<MarketInfo(Symbol(),MODE_STOPLEVEL)) // ЕСЛИ ПРОФИТ МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО 
         {
          tp= MarketInfo(Symbol(),MODE_STOPLEVEL);// ПРОФИТУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
         }

При тесте такая проверка даёт ошибки показанные на скрине ниже

ошибки при тесте с проверкой на моде стоп левеле

И что интересно как мне  и посоветовали я добавил в эту проверку домножение на 1,5 следующим образом

 //ПРОВЕРКА СТОП ЛОССА НА МОДЕ СТОП ЛЕВЕЛ- МИНИМАЛЬНЫЙ УРОВЕНЬ СТОПА 
         if(sl<MarketInfo(Symbol(),MODE_STOPLEVEL)*1,5) // ЕСЛИ СТОПОЛС МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО 
         {
          sl= MarketInfo(Symbol(),MODE_STOPLEVEL)*1,5;//СТОП  ЛОССУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
         }


      // ПРОВЕРКА ТЕЙК ПРОФИТА НА МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ УСТАНОВКИ
      
  if(tp<MarketInfo(Symbol(),MODE_STOPLEVEL)*1,5) // ЕСЛИ ПРОФИТ МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО 
         {
          tp= MarketInfo(Symbol(),MODE_STOPLEVEL)*1,5;// ПРОФИТУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
         }


Это дополнение не решает появившейся проблемы  тест выдаёт ошибки как на скрине ниже.

ошибки с домножением в проверке на моде стоп левел

Если эту проверку на моде стоп левел закомментировать, то никаких ошибок нет. В чём ошибка по проверке, подскажите пожалуйста? Без неё же нельзя Грааль пускануть на реале- забанят сразуL О_о

 
Aleksei Stepanenko:

Бесплатный совет. После Ваших условий if, индикатор ищет бар с минимальным значением в последних 3х барах. Вы правильно находите их минимум по найденному индексу. Но передаёте его в буфер бару с другим индексом. Вот и происходит сдвиг.

не проверял, но попробуйте

Спасибо, это действительно решило проблему!!! 

Если вас не затруднит, подскажите, чтобы не отображалось два хай/лоу подряд, а была переменчивость (хай-лоу-хай), какую конструкцию надо добавить? Понимаю, что нужна проверка, типо "если предыдущий элемент массива был хай, то второй подряд хай не включать в массив, а ждать лоу", но как это оформить?

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