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

 
AVAAR:

Спасибо! Реально - работает!)

А я и подумать не мог, что компиляцию необходимо проводить регулярно, даже не внося изменений..

Достаточно читать что пишется во вкладках "Эксперты" и "Журнал" или в тестере - чтобы понять причину.

 

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

   long handle=ChartID(); 
   if(handle>0) // если получилось, дополнительно настроим 
     { 
      ChartNavigate(handle,CHART_END,-2000); 
     } 
 
Aleksey Vyazmikin:

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

Это асинхронная команда.
 
Artyom Trishkin:
Это асинхронная команда.

Тогда как проверить её отработку?

 
Aleksey Vyazmikin:

Тогда как проверить её отработку?

По факту смещения.
 
Artyom Trishkin:
По факту смещения.

Понятно, т.е. предлагается ждать смещения, если его не произошло, то повторить команду на смещение, так?

 
Aleksey Vyazmikin:

Понятно, т.е. предлагается ждать смещения, если его не произошло, то повторить команду на смещение, так?

Обдумать нужно как отлавливать сработку асинхронной команды, и какие там могут быть подводные камни.

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

А если не сменится? Когда принимать решение о том, что команда потерялась в очереди и повторять команду? А если после повтора команды, прошлая-таки сработала, а у нас ещё одна в очереди стоит - будет лишнее смещение.

В общем тут нужны эксперименты. Так вот сразу не придумаю...

 
Artyom Trishkin:

Обдумать нужно как отлавливать сработку асинхронной команды, и какие там могут быть подводные камни.

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

А если не сменится? Когда принимать решение о том, что команда потерялась в очереди и повторять команду? А если после повтора команды, прошлая-таки сработала, а у нас ещё одна в очереди стоит - будет лишнее смещение.

В общем тут нужны эксперименты. Так вот сразу не придумаю...

Понял - тяжелый случай - буду думать, спасибо.

 
Aleksey Vyazmikin:

Понял - тяжелый случай - буду думать, спасибо.

Если полагаться лишь на факт смещения, то график ведь можно и руками сместить - вот и дырка в логике...

 
Artyom Trishkin:

Если полагаться лишь на факт смещения, то график ведь можно и руками сместить - вот и дырка в логике...

Через три минуты экспериментов, я пришёл к выводу, что смещение происходит от


а не от текущего положения.

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