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

 
Renat Akhtyamov #:
Time[i],Open[i]

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

 
Eugeni Neumoin #:

НЕ помогает

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

 
Eugeni Neumoin #:

Поэтому я и не люблю МТ5. Переделывал под него свой индикатор. Сталкивался с подобными подводными камнями... несколько лет назад прекратил общение с МТ5. 

Так у Вас же индикатор. В нём уже есть предопределённые массивы с нужными Вам значениями. Вы их не используете, а пытаетесь делать в стиле МТ4 зачем-то. Хотя и в нём тоже они уже давно есть.

Это массивы time[] и low[] - их используйте.

 
Ihor Herasko #:

Так ведь в МТ4 проверки также нужны. Это не МТ5-прихоть.

В МТ4 работает

 
Eugeni Neumoin #:

В МТ4 работает

В МТ5 у себя проверьте. Именно этот участок кода и более ничего. Ведь об этом речь.

 
Eugeni Neumoin #:

Индикатор без буферов. Картинки надо выводить. Скрипт не подходит. Стрелку нельзя в буфер загонять. С ее помощью картинки перемещаются по графику.

Стрелка не перерисовывается. Проверка проводится для... если стрелка была нечаянно удалено, то она восстанавливается. Это 

не правильно. Если объект есть, зачем его создавать.

ObjectFind вообще там лишний и вас путает... :-)

он там ненужен

 
Eugeni Neumoin #:

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

тогда тут смотрите как правильно:

ObjectCreate(chart_ID,name,OBJ_ARROW,sub_window,time,price);

OBJ_ARROW - Типы объектов - Константы объектов - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_ARROW
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_ARROW
  • www.mql5.com
OBJ_ARROW - Типы объектов - Константы объектов - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Eugeni Neumoin #:
Сталкивался с подобными подводными камнями... несколько лет назад прекратил общение с МТ5.

Это не подводные камни. Это проза жизни. В МТ4 она тоже обязательно должна быть.

ЗЫ. Впрочем, Игорь Вам об этом уже написал.

 
Artyom Trishkin #:

Так у Вас же индикатор. В нём уже есть предопределённые массивы с нужными Вам значениями. Вы их не используете, а пытаетесь делать в стиле МТ4 зачем-то. Хотя и в нём тоже они уже давно есть.

Это массивы time[] и low[] - их используйте.

   ObjectCreate(0,namePoint, OBJ_ARROW, 0,time[20],low[20]);
//----     
//   ObjectSetInteger(0,namePoint,OBJPROP_TIME,iTime(Symbol(),Period(),20));
//   ObjectSetDouble(0,namePoint,OBJPROP_PRICE,iLow(Symbol(),Period(),20));
   ObjectSetInteger(0,namePoint,OBJPROP_ARROWCODE,241);
   ObjectSetInteger(0,namePoint,OBJPROP_COLOR,Blue);
   ObjectSetInteger(0,namePoint,OBJPROP_WIDTH,3); 
   ObjectSetInteger(0,namePoint,OBJPROP_SELECTED,true);
   }
//----    
   Price1=ObjectGetDouble(0,namePoint,OBJPROP_PRICE,1);
   Date1=ObjectGetInteger(0,namePoint,OBJPROP_TIME,1);

Print(__LINE__,"  Date1=",TimeToString(Date1)," Price1=",Price1,"  Period()=",Period()," time=",time[20],"  low=",low[20]);

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

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


 
Maxim Kuznetsov #:

ObjectFind вообще там лишний и вас путает... :-)

он там ненужен

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

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