Вчера ночью вспомнил у Komposter`a есть ряд готовых нароботок в этой области, можно на МКЛ4 посмотреть, поминтся мне спец. индикаторы которые показывают кучу статистики по качеству соединения, оттуда и можно выдергивать инфу и анализируя ее принимать решение на обновление графика.
Надо будет поискать/посмотреть. Хотя сам я на данный момент противник автоматической торговли :). Просто наткнулся на эффект и решил немного поразмыслить на эту тему.
Я бы для начала попробовал так: заводится массив на пороговые значения допустим мувинга по интервалам между тиками. По получасовкм или по 15-минуткам. Дальше индикатор просто сравнивет текущее значение с пороговым для этого времении суток (ну и день недели можно прикрутить - тогда двумерный массив) и решает, работать или подождать. А вот заполнить этот массив - надо собирать статистику по интервалам между тиками. Я этого пока не припрёт делать не буду. Но если ты этим займёшься - последил бы с интересом.
Хотя нет, для начала я сделал бы не на тиках, а на минутках. Грубее, зато статистику на истории можно собрать. Да и представим, что алгоритм фильтрации для тиков изменится. Вся тонкая настройка псу под хвост может пойти.
Просто наткнулся на эффект и решил немного поразмыслить на эту тему.
А это не помогло?
Можно попробовать использовать ArrayCopySeries - если данные не обновлены GetLastError вернет ERR_HISTORY_WILL_UPDATED (4066 - запрошенные исторические данные в состоянии обновления).
Можно попробовать использовать ArrayCopySeries - если данные не обновлены GetLastError вернет ERR_HISTORY_WILL_UPDATED (4066 - запрошенные исторические данные в состоянии обновления).
Я думал это кто-то проверил уже. Можно использовать метод из Candid 12.11.06 17:51 с тем же принтом и включением/выключением терминала. Проверю в ближайшее время.
Просто наткнулся на эффект и решил немного поразмыслить на эту тему.
А это не помогло?
Можно попробовать использовать ArrayCopySeries - если данные не обновлены GetLastError вернет ERR_HISTORY_WILL_UPDATED (4066 - запрошенные исторические данные в состоянии обновления).
Похоже не помогает. Итак, вставка в код индикатора (вставлять можно в любой правильный) была такая:
if (shift<5) Print ("shift=",shift,", Bars=",Bars,", Time[shift]=",TimeToStr(Time[shift],TIME_DATE|TIME_MINUTES),", High[shift]=",High[shift],", Low[shift]=",Low[shift]);
ArrayCopySeries(daytimes,MODE_TIME,Symbol(),PERIOD_M1);
error=GetLastError();
if(error==4066) {
Print("ERR_HISTORY_WILL_UPDATED");
} else {
if (shift<5) Print(error);
}
Индикатор был повешен на М5. Терминал не выключался, просто была искусственно прервана на некоторое время связь. Лог демонстрирует обсуждаемый эффект, но никаких следов проблем с ArrayCopySeries нет.
А это не помогло?
Я думал это кто-то проверил уже. Можно использовать метод из Candid 12.11.06 17:51 с тем же принтом и включением/выключением терминала. Проверю в ближайшее время.
А это не помогло?
Похоже не помогает. Итак, вставка в код индикатора (вставлять можно в любой правильный) была такая:
if (shift<5) Print ("shift=",shift,", Bars=",Bars,", Time[shift]=",TimeToStr(Time[shift],TIME_DATE|TIME_MINUTES),", High[shift]=",High[shift],", Low[shift]=",Low[shift]); ArrayCopySeries(daytimes,MODE_TIME,Symbol(),PERIOD_M1); error=GetLastError(); if(error==4066) { Print("ERR_HISTORY_WILL_UPDATED"); } else { if (shift<5) Print(error); }Индикатор был повешен на М5. Терминал не выключался, просто была искусственно прервана на некоторое время связь. Лог демонстрирует обсуждаемый эффект, но никаких следов проблем с ArrayCopySeries нет.