Ошибки, баги, вопросы - страница 1717

 

у меня все ок. 

 

Здравствуйте !

Проблема не понятная обнаружилась.

Рисую обычную TrendLine между точками закрытия двух предыдущих баров (на каждом новом баре).

ObjectsDeleteAll(0," ",-1,-1);
ArrayInitialize(cclose,0);
ArrayInitialize(ttime,0);
CopyTime(Symbol(),0,1,2,ttime);
CopyClose(Symbol(),0,1,2,cclose);
price1=cclose[1];
time1=ttime[1];
price2=cclose[0];
time2=ttime[0];

Print("price1=",price1," time1=",time1," price2=",price2," time2=",time2);

//--- создадим трендовую линию по заданным координатам 
   if(!ObjectCreate(chart_ID,nname,OBJ_TREND,sub_window,time1,price1,time2,price2)) 
     { 
      Print(__FUNCTION__, 
            ": не удалось создать линию тренда! Код ошибки = ",GetLastError()); 
      return; 
     } 

В реалтайм все работает отлично. А вот в режиме визуализации в тестере левая точка линии прицепляется к началу отсчета и не двигается вообще. В чем проблема может кто знает ?

З.Ы. В MT4 такой проблемы вроде не возникало.

 
fxsaber:

Скрипт

Результат

Это ошибка? Ожидал увидеть uchar.

Минимальным типом операции является int, поэтому все операнды меньшего типа неявно приводятся к типу int.

Справка https://www.mql5.com/ru/docs/basis/types/casting

Типы данных char, uchar, short и ushort в операциях безусловно приводятся к типу int.
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Kravchenko:

Здравствуйте !

Проблема не понятная обнаружилась.

Рисую обычную TrendLine между точками закрытия двух предыдущих баров (на каждом новом баре).

В реалтайм все работает отлично. А вот в режиме визуализации в тестере левая точка линии прицепляется к началу отсчета и не двигается вообще. В чем проблема может кто знает ?
Приведите, пожалуйста, минимально работающий пример, который можно скомпилировать и запустить. Также нужна информация об операционной системе, билде и типе терминала (после перезапуска терминала взять первые три строчки из вкладки "Журнал").
 
Ilyas:

Минимальным типом операции является int, поэтому все операнды меньшего типа неявно приводятся к типу int.

Спавка

Спасибо. Видится правильным все же ПОБИТОВЫЕ операции производить без привидений На C++ так же, как в MQL5?
 
fxsaber:
Спасибо. Видится правильным все же ПОБИТОВЫЕ операции производить без привидений На C++ так же, как в MQL5?
Да. Точно так же. В чистом си тоже.
 
Vladislav Andruschenko:

у меня все ок. 

Thx, браузер допрошу с пристрастием
 
Karputov Vladimir:
Приведите, пожалуйста, минимально работающий пример, который можно скомпилировать и запустить. Также нужна информация об операционной системе, билде и типе терминала (после перезапуска терминала взять первые три строчки из вкладки "Журнал").

С примером проблемка. Там сама болванка-оболочка несколько файлов занимает. Вечером доберусь до дома слеплю попроще.

ОС WinXP SP3. Build 1434

LE    0    14:55:39.873    Terminal    MetaTrader 5 build 1434 started (MetaQuotes Software Corp.)
DI    0    14:55:39.889    Terminal    Microsoft Windows XP (X86 based PC), IE 08.00, Intel Pentium Dual  E2200 @ 2.20GHz, RAM: 1150 / 2037 Mb, HDD: 74562 / 152625 Mb, GMT+07:00

LJ    0    14:55:39.889    Terminal    C:\Program Files\MetaTrader 5

З.Ы. В любом случае окромя тех манипуляций которые я привел выше больше ничего не делается. При обнаружении нового бара все стирается и отрисовывается новая линия. Но полностью пример для компиляции я сделаю.

 
Slawa:
Да. Точно так же. В чистом си тоже.
Спасибо. Жаль, что и у них есть исторические костыли.
 
Alexey Kravchenko:

С примером проблемка. Там сама болванка-оболочка несколько файлов занимает. Вечером доберусь до дома слеплю попроще.

ОС WinXP SP3. Build 1434

LE    0    14:55:39.873    Terminal    MetaTrader 5 build 1434 started (MetaQuotes Software Corp.)
DI    0    14:55:39.889    Terminal    Microsoft Windows XP (X86 based PC), IE 08.00, Intel Pentium Dual  E2200 @ 2.20GHz, RAM: 1150 / 2037 Mb, HDD: 74562 / 152625 Mb, GMT+07:00

LJ    0    14:55:39.889    Terminal    C:\Program Files\MetaTrader 5

З.Ы. В любом случае окромя тех манипуляций которые я привел выше больше ничего не делается. При обнаружении нового бара все стирается и отрисовывается новая линия. Но полностью пример для компиляции я сделаю.

Когда будет пример - совместим всё в один пост: проблема, пример, данные операционки и терминала.
Причина обращения: