[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 585

 
Используйте функции ObjectCreate() и ObjectSet()
 

                             

Доброго дня всем. Подскажите, пожалуйста, неучу. Использую индикатор «123», мне очень нравится, как он рисует уровни. К автору индикатора обращаться бесполезно, он сразу сказал, что индикатор для профессионалов и на вопросы новичков отвечать не будет. Проблема в том: я вставляю индикатор в график, он нарисовал уровни, но через десять минут цена отскочила на 70 пунктов, а уровни остались на своих местах. Мне приходится при больших движениях цены, каждый раз отключать и включать индикатор заново, тогда он рисует уже обновленные уровни. Подскажите, пожалуйста, кто нибудь, можно ли заложить в программу индикатора параметры, чтобы он сам отключался и включался через каждые десять минут, уже с обновленными уровнями. Я не силен в программировании, поэтому прошу, по возможности объясните, можно ли это сделать и как. Заранее всем спасибо.


Файлы:
123.mq4  15 kb
 

переделанный ишимоку это индикатор для профессионалов? оригинально:)

Я так полагаю, раз "разработчик" так и не доделал свой индикатор, то пользы в нем оказалось немного:)

 
alsu:

переделанный ишимоку это индикатор для профессионалов? оригинально:)

Я так полагаю, раз "разработчик" так и не доделал свой индикатор, то пользы в нем оказалось немного:)


 То есть вы считаете, что что либо для автоматизации этого индикатора нельзя? Я знаю, что это не супер пупер индикатор, но мне нравится как он рисует уровни, по ним у меня неплохо получается работать, но вот загвоздка в том, что периодически приходится вручную обновлять уровни. Вот мне и интересно, можно ли добавит какую нибудь функцию, чтобы он сам обновлял уровни в автоматическом режиме.
 
alsu:
Используйте функции ObjectCreate() и ObjectSet()

Стрелки рисует, но на каждом баре, когда надо только при пробитии первой свечи.

https://www.mql5.com/ru/forum/111497/page583

.
   

 
mazan:

То есть вы считаете, что что либо для автоматизации этого индикатора нельзя? Я знаю, что это не супер пупер индикатор, но мне нравится как он рисует уровни, по ним у меня неплохо получается работать, но вот загвоздка в том, что периодически приходится вручную обновлять уровни. Вот мне и интересно, можно ли добавит какую нибудь функцию, чтобы он сам обновлял уровни в автоматическом режиме.

вот, держите исправленный. Уровни обновляются на каждом тике.


И даже теперь свои объекты удаляет при удалении самого индикатора с графика. "Разработчику" фи.

Файлы:
123_1.mq4  16 kb
 
gince:

Стрелки рисует, но на каждом баре, когда надо только при пробитии первой свечи.

https://www.mql5.com/ru/forum/111497/page583

.

Надо анализировать только сформировавшиеся бары, т.к. на нулевом High и Low постоянно обновляются.

попробуйте считать не for(shift=0; ..., а for(shift=1;..., тогда на нулевом баре не будет пересчетов. И анализируемые бары с 0,1,2 переправьте на 1,2,3

 
alsu:

Надо анализировать только сформировавшиеся бары, т.к. на нулевом High и Low постоянно обновляются.

попробуйте считать не for(shift=0; ..., а for(shift=1;..., тогда на нулевом баре не будет пересчетов. И анализируемые бары с 0,1,2 переправьте на 1,2,3

пардон, не разобрался.

у вас условия напутаны. Это вверх:

      if (d1_h1 < d1_h2 && d1_l1 > d1_l2  && d1_l1 > d1_l0) 

а должно быть

      if (d1_h1 < d1_h2 && d1_l1 > d1_l2  && d1_h1 < d1_h0) 
и то же со стрелкой вниз
 
alsu:

вот, держите исправленный. Уровни обновляются на каждом тике.


И даже теперь свои объекты удаляет при удалении самого индикатора с графика. "Разработчику" фи.


Безгранично благодарен, вставил в график, все работает, еще раз спасибочки. Профи есть профи. Респект!
 

Добрый день, пытаюсь разобраться с написанием советников. Взял шаблон советника из статьи на сайте по mql4, стал подставлять свои условия, чтобы разобраться с отладкой и функционалом, ввёл условия открытия позиций:

        MyATR = ((High[0] - Low[0])/Low[0]);
	BT = Open[0] + Open[0]*iMAOnArray(MyATR ,0,PerB,0,MODE_SMA,1);
        ST = Open[0] - Open[0]*iMAOnArray((MyATR ,0,PerS,0,MODE_SMA,1);

   if (Ask >= BT)                       // Если разница между
     {                                          // 
      Opn_B=true;                               // Критерий откр. Buy
      Cls_S=true;                               // Критерий закр. Sell
     }
   if (Bid <= ST)                       // Если разница между
     {                                          // 
      Opn_S=true;                               // Критерий откр. Sell
      Cls_B=true;                               // Критерий закр. Buy
     }

Ордера сыплются гроздями (см. скрин), подскажите какое необходимо добавить условие (или изменить имеющееся), чтобы ордера исполнялись по факту один раз.

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