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

 

В индикаторе я вообще OnCalculate() последнее время не использую - и ничего, морда шире только становится. :)

А серьёзно: используйте OnChartEvent (). Подходит для всех случаев в жизни (имхо).

 
Andrey Dik:

В индикаторе я вообще OnCalculate() последнее время не использую - и ничего, морда шире только становится. :)

А серьёзно: используйте OnChartEvent (). Подходит для всех случаев в жизни (имхо).

По ссылке выше показал, почему без OnCalculate со стандартными индикаторными буферами иногда происходит облом в MT5.
 

Баг. Неточность, но сильно мешает и раздражает.


За нулевым (текущим) баром вправо терминал считает время исходя из семидневной недели. В реальности торговые недели пятидневные. Из-за этого с наступлением новой даты изменяется положение на экране почти всех объектов. Они "съезжают", искажаются. Как программист, понимаю, что это трудно исправить для всех торгуемых инструментов, но этот параметр можно вынести в настройки, чтобы пользователи могли подобрать оптимальный.

Например,

торговых_дней_в_неделе = 5.

 
comp:

Если скриптом, то можно (реализация совсем иная - без изменения ТФ) вызывать OnCalculate уже какого-то конкретного индикатора на чарте, либо всех сразу.

Но такой (скрипт) вариант тоже не подходит, если индикатор должен заставить терминал вызвать свой же OnCalculate (MT5).

OnCalculate(параметры);
Так не пробовали?
 
pako:
Так не пробовали?
Пробовал (CLASS::FullOnCalculate()), бестолку. Надо, чтобы САМ терминал вызвал, а не я.
 
comp:
Пробовал (CLASS::FullOnCalculate()), бестолку.

Не могу найти, где то на форуме видел

именно из сторонней функции вызывается OnCalculate(с параметрами);

int ваша функция()

{

OnCalculate(с параметрами);

}

Чтото наподобие 

 
pako:

Не могу найти, где то на форуме видел

Это и привел.
 
comp:
Это и привел.

Нет , это не то

индюк пересчитывается в OnCalculate , только по приходу новой котировки  

Сова видит только буферы индикатора, которые заполняются в  OnCalculate

т.е если вызвать  OnCalculate между приходами котировок

и передать в буферы индикатора значения из другой функции

ну и т.д 

 
Теперь внимание вопрос -- как заставить терминал тотчас же перерисовать данные которые были рассчитаны таким образом?
 
Комбинатор:
Теперь внимание вопрос -- как заставить терминал тотчас же перерисовать данные которые были рассчитаны таким образом?
Похоже, никак.
Причина обращения: