Не работает события ChartEvent, Timer после опроса свойств графика
Если в коде происходит опрос свойств графика (любых или только некоторых), то через некоторое время (секунды, минуты) перестают вызываться обработчики события OnChartEvent, OnTimer (возможно, и остальные), причём на всех открытых графиках. Иногда такое состояние сохраняется даже после остановки скрипта или удаления индикатора с графика.
Пример обычного ожидания в цикле скрипта:
void OnStart(void)
{
while(!IsStopped())
{
int w = (int)ChartGetInteger(0, CHART_WIDTH_IN_BARS); // <--- проблемный код
ChartRedraw();
Sleep(50);
}
}
В индикаторе:
for (long chart_id = ChartFirst(); chart_id >= 0; chart_id = ChartNext(chart_id))
{
CChart chart(chart_id);
if (chart.is_object())
continue;
if (!chart.is_docked())
continue;
if (chart.is_maximized())
return chart.id() == this_chart_id;
}
Возможно, проблема возникает только при опросе чужих графиков.
Решения нет.
Edited by FXcoder