Некоторые вопросы касательно индикаторов - страница 3

 
AlexeyVik:
Я говорил о непрерывном цикле в коде брошенном на НЕработающий инструмент. Да и таймер тоже должен быть на неработающем.

Да,конечно ,код я кидаю только на НЕработающий инструмент. Потому что рисовать картинку мне надо именно на не работающем. Сам удивился  , когда увидел, что  OnCalculate  индикатора , наброшенного на неработающий инструмент перезапускается от тика работающего. Может это связано с тем, что индикатор , наброшенный на неработающий инструмент у меня постоянно (фактически в цикле ) опрашивает через  iOpen    и iTime значения последнего-нулевого бара  другого- работающего инструмента ?

 

Сам прочитал, что написал и вижу что чепуха. Не может индикатор , наброшенный на один инструмент , перезапускаться от тика другого (или все-таки может ?). Скорее всего

я где-то сам напутал , буду разбираться

 
vdrd:

Сам прочитал, что написал и вижу что чепуха. Не может индикатор , наброшенный на один инструмент , перезапускаться от тика другого (или все-таки может ?). Скорее всего

я где-то сам напутал , буду разбираться

int OnCalculate() не должен выполняться, разве что один раз, не знаю точно, небыло необходимости запоминать. А вот void OnTimer() должен работать не зависимо от тиков с установленным интервалом EventSetTimer(1); каждую секунду.
 
Будет-то он будет, но обновит ли он картинку не неработающем инструменте ? Пойду проверять, спасибо за обсуждение, сообщу что получилось.
 

Увы, попытка рисования на графике неработающего инструмента по таймеру не сработала. Зато выяснилось , что картинка обновляется не только при перезапуске индикатора вручную, но и при любом воздействии на график снаружи- например изменение сдвиг его мышкой или изменение масштаба , то есть похоже ,что пользовательский индикаторный буфер не постоянно связан с внутренним системным, а сбрасывает туда информацию только по определенным событиям - таким как новый тик,  перезапуск индикатора или внешнеевоздействие на график. Так что проблема, увы,  пока остается.

 
Ура, а вот  заполнение индексного буфера по таймеру  в сочетании с WindowRedraw сработало !!!!  Спасибо за помощь.
 

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

Я написал индикатор, который, анализируя форму графика , рисует вертикальные линии разных цветов, в зависимости от заданных критериев. 

Однако порой выполняются несколько разных критериев одновременно- в пределах одного бара. И тогда требуется нарисовать несколько

разных вертикальных линий разных цветов в пределах одного таймфрейма. Нарисовать-то не проблема, но они накладываются друг на друга и на картинке видно только последнюю. Я пытался как-то разнести их, добавляя к параметру time при вызове графического объекта vline несколько секунд (при работе на минутках).Однако это не срабатывает,  линии все равно рисуются на временах, кратных таймфрейму. Может кто-нибудь подскажет, как же все таки разнести несолько линий в пределах одного таймфрейма, чтобы видеть их все.

Спасибо. 

 
vdrd:

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

Я написал индикатор, который, анализируя форму графика , рисует вертикальные линии разных цветов, в зависимости от заданных критериев. 

Однако порой выполняются несколько разных критериев одновременно- в пределах одного бара. И тогда требуется нарисовать несколько

разных вертикальных линий разных цветов в пределах одного таймфрейма. Нарисовать-то не проблема, но они накладываются друг на друга и на картинке видно только последнюю. Я пытался как-то разнести их, добавляя к параметру time при вызове графического объекта vline несколько секунд (при работе на минутках).Однако это не срабатывает,  линии все равно рисуются на временах, кратных таймфрейму. Может кто-нибудь подскажет, как же все таки разнести несолько линий в пределах одного таймфрейма, чтобы видеть их все.

Спасибо. 

По вертикали.
 
evillive:
По вертикали.
да, пожалуй.спасибо
 
разные стили линий и толщину (более светлые- более толстые)
Причина обращения: