Прошу помощь зала. - страница 3

 
 
Eugeni Neumoin #:

Там я глазами все до дыр протер.

   datetime time = iTime(Symbol(),Period(),20);
   double price = iLow(Symbol(),Period(),20);
//---
   if(ObjectFind(0,namePoint)!=0)
     {
      //---
      if(ObjectCreate(0,namePoint, OBJ_ARROW, 0,time,price))
        {
         //----
         //ObjectSetInteger(0,namePoint,OBJPROP_TIME,time);
         //ObjectSetDouble(0,namePoint,OBJPROP_PRICE,price);
         ObjectSetInteger(0,namePoint,OBJPROP_ARROWCODE,241);
         ObjectSetInteger(0,namePoint,OBJPROP_COLOR,clrAqua);
         ObjectSetInteger(0,namePoint,OBJPROP_WIDTH,3);
         ObjectSetInteger(0,namePoint,OBJPROP_SELECTED,true);
         ObjectSetInteger(0,namePoint,OBJPROP_SELECTABLE,true);
        }
     }
 
Ihor Herasko #:

Ну а просто запустить приведенный отрывок кода в виде скрипта пробовали? Попробуйте. Скорее всего, проблема не на этом участке кода, а где-то далее в индикаторе.

Об этом также подумал. Я делал проще. После этого участка кода вызывал return(0), чтобы дальнейший код не влиял. Результат тот же. То есть выводится стрелка где-то за левым краем графика.

 
Eugeni Neumoin #:

Результат тот же:

2023.11.08 20:27:15.049 Gann (GBPUSD,H1) 226  Date1=1970.01.01 00:00 Price1=0.0  Period()=16385 time=1993.06.09 00:00:00  low=1.5069


в 5рке есть один нюанс

после создания обьектов, нужно чарт перерисовать

есть у Вас такое ?

ChartRedraw - Операции с графиками - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Документация по MQL5: Операции с графиками / ChartRedraw
Документация по MQL5: Операции с графиками / ChartRedraw
  • www.mql5.com
ChartRedraw - Операции с графиками - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Eugeni Neumoin #:

Об этом также подумал. Я делал проще. После этого участка кода вызывал return(0), чтобы дальнейший код не влиял. Результат тот же. То есть выводится стрелка где-то за левым краем графика.

К сожалению, это не проще, а нарушение чистоты эксперимента. Запустите код отдельно, чтобы самого себя убедить в том, что проблема не в приведенном участке кода, и нужно искать причины в другом месте кода.

 
trampampam #:
   datetime time = iTime(Symbol(),Period(),shift);    double price = iLow(Symbol(),Period(),shift);

Результат тот же

 
Eugeni Neumoin #:

Об этом также подумал. Я делал проще. После этого участка кода вызывал return(0), чтобы дальнейший код не влиял. Результат тот же. То есть выводится стрелка где-то за левым краем графика.

Не используйте это: time[20]. Так к таймсериям лучше не обращаться в 5ке. Вы просто получаете результат в 1993-м году:)

 
Eugeni Neumoin #:

Результат тот же

Мой код вставьте.  Внимательно! 

И покажите что Вы вставили.

 
Ihor Herasko #:

К сожалению, это не проще, а нарушение чистоты эксперимента. Запустите код отдельно, чтобы самого себя убедить в том, что проблема не в приведенном участке кода, и нужно искать причины в другом месте кода.

Спасибо. Занес код в скрипт. Стрелка вывелась где надо. Буду с кодом разбираться. 

 
trampampam #:

Мой код вставьте.  Внимательно! 

И покажите что Вы вставили.

В скрипте Ваш код работает.

Буду анализировать код индикатора. 

--------------

Спасибо всем за помощь.