Если цикл по 500 барам и сравнение их значений с сохраненными нужно было бы проводить много раз, и это было бы дольше, чем в том же цикле посчитать хэш и сравнить его с запомненным, то смысл был бы. Но вряд ли это так.
Что у вас так долго считается, что заметны редкие случаи сброса prev_calculated?
Эксперт каждую минуту обращается к индикатору и проверяет что нового, ели замечен prev_calculated=0, то идет полный пересчет, может и не долго считается но всё равно. А например пара USDCNH не так уж редка у моего брокера сбрасывается. Время сброса (prev_calculated=0):
П.С. Мне даже самому интересна какая свеча меняется если в терминале Max bar in history/chart поставлено 2000/2000.
П.С. Мне даже самому интересна какая свеча меняется если в терминале Max bar in history/chart поставлено 2000/2000.
напишите индикатор у которого будет 4 индикаторных буфера хранящих OHLC - заполните при первом запуске индикатора
и при срабатывании prev_calculated=0 пишете в лог свечи где появилось несоответствие OHLC и буферов и затем синхронизируйте индикаторные буфера с новыми OHLC
ЗЫ: в принципе и заполнять при первом запуске индикатора буфера нет смысла - это можно и при prev_calculated=0 выполнить
Эксперт каждую минуту обращается к индикатору и проверяет что нового, ели замечен prev_calculated=0, то идет полный пересчет, может и не долго считается но всё равно. А например пара USDCNH не так уж редка у моего брокера сбрасывается. Время сброса (prev_calculated=0):
П.С. Мне даже самому интересна какая свеча меняется если в терминале Max bar in history/chart поставлено 2000/2000.
Вряд ли это изменение баров. Скорее, что-то служебное.
О таком не подозревал. Ну тогда точно нету смысла заморачиваться. Просто читал в справочнике "Если с момента последнего вызова функции OnCalculate() ценовые данные были изменены (подкачана более глубокая история или были заполнены пропуски истории), то значение входного параметра prev_calculated будет установлено в нулевое значение самим терминалом."
напишите индикатор у которого будет 4 индикаторных буфера хранящих OHLC - заполните при первом запуске индикатора
и при срабатывании prev_calculated=0 пишете в лог свечи где появилось несоответствие OHLC и буферов и затем синхронизируйте индикаторные буфера с новыми OHLC
ЗЫ: в принципе и заполнять при первом запуске индикатора буфера нет смысла - это можно и при prev_calculated=0 выполнить
Да спасибо, ради интереса сделаю отдельные индикатор, проверю меняется свечи или там что-то служебное.
OrderModify TP и SL не проходит у ДЦ по одной паре (HSI50), с остальными парами всё в порядке у ДЦ. Мануально всё изменяется, но как только пытаться OrderModify - никак, даже убрать TP и SL не можно с OrderModify. Ошибку выдаёт invalid price (129). Очевидно там запрет на OrderModify стоит (не понятно зачем). Вопрос, кто-то делал проверку на OrderModify? Как такое проверять? П.С. В спецификации контракта HSI50 (Full acces).
Добрый день! У одного брокера постоянна (раз или два в сутки) слетает MarketInfo(), получает значение 0 ( конкретно MODE_MARGINREQUIRED). Это как бы всё нормально, защиту сделал но в это же время пропадает всякая попытка достучатся до iCustom() индикатора (подключен через ресурс). Даже после того как MarketInfo() опять получает данные iCustom() молчит, стучу по нему но индикатор не подключается. Помогает только перезапуск терминала. Как достучатся до индикатора не перезапуская терминал, какие идей? Индикатор может куда-то пропасть из ресурса?
Nauris Zukas: Добрый день! У одного брокера постоянна (раз или два в сутки) слетает MarketInfo(), получает значение 0 ( конкретно MODE_MARGINREQUIRED). Это как бы всё нормально, защиту сделал но в это же время пропадает всякая попытка достучатся до iCustom() индикатора (подключен через ресурс). Даже после того как MarketInfo() опять получает данные iCustom() молчит, стучу по нему но индикатор не подключается. Помогает только перезапуск терминала. Как достучатся до индикатора не перезапуская терминал, какие идей? Индикатор может куда-то пропасть из ресурса?
Вот это вопрос, на который хотелось-бы получить ответ.
Подскажите пожалуйста есть ли техническая возможность узнать брокер работает в обычном режиме или по FIFO, не открывая трейдов? Прошерстил всю доку и не нашел такого параметра. В МТ5 в принципе по типу аккаунта можно определить, если неттинговый, то хеджирование отключено.
Не помню что встречался с "array out of range" для Time[1], но вот такой факт случился в эксперте. Вы делайте какую-то проверку на "array out of range" для предопределенных переменных массива-таймсерий?
Если цикл по 500 барам и сравнение их значений с сохраненными нужно было бы проводить много раз, и это было бы дольше, чем в том же цикле посчитать хэш и сравнить его с запомненным, то смысл был бы.
Но вряд ли это так.
Что у вас так долго считается, что заметны редкие случаи сброса prev_calculated?
Эксперт каждую минуту обращается к индикатору и проверяет что нового, ели замечен prev_calculated=0, то идет полный пересчет, может и не долго считается но всё равно. А например пара USDCNH не так уж редка у моего брокера сбрасывается.
Время сброса (prev_calculated=0):

П.С. Мне даже самому интересна какая свеча меняется если в терминале Max bar in history/chart поставлено 2000/2000.П.С. Мне даже самому интересна какая свеча меняется если в терминале Max bar in history/chart поставлено 2000/2000.
напишите индикатор у которого будет 4 индикаторных буфера хранящих OHLC - заполните при первом запуске индикатора
и при срабатывании prev_calculated=0 пишете в лог свечи где появилось несоответствие OHLC и буферов и затем синхронизируйте индикаторные буфера с новыми OHLC
ЗЫ: в принципе и заполнять при первом запуске индикатора буфера нет смысла - это можно и при prev_calculated=0 выполнить
Эксперт каждую минуту обращается к индикатору и проверяет что нового, ели замечен prev_calculated=0, то идет полный пересчет, может и не долго считается но всё равно. А например пара USDCNH не так уж редка у моего брокера сбрасывается.
Время сброса (prev_calculated=0):
П.С. Мне даже самому интересна какая свеча меняется если в терминале Max bar in history/chart поставлено 2000/2000.Вряд ли это изменение баров. Скорее, что-то служебное.
Вообще не вижу смысла заморачиваться.
Скорее, что-то служебное.
О таком не подозревал. Ну тогда точно нету смысла заморачиваться. Просто читал в справочнике "Если с момента последнего вызова функции OnCalculate() ценовые данные были изменены (подкачана более глубокая история или были заполнены пропуски истории), то значение входного параметра prev_calculated будет установлено в нулевое значение самим терминалом."
напишите индикатор у которого будет 4 индикаторных буфера хранящих OHLC - заполните при первом запуске индикатора
и при срабатывании prev_calculated=0 пишете в лог свечи где появилось несоответствие OHLC и буферов и затем синхронизируйте индикаторные буфера с новыми OHLC
ЗЫ: в принципе и заполнять при первом запуске индикатора буфера нет смысла - это можно и при prev_calculated=0 выполнить
Да спасибо, ради интереса сделаю отдельные индикатор, проверю меняется свечи или там что-то служебное.
Вопрос, кто-то делал проверку на OrderModify? Как такое проверять?
П.С. В спецификации контракта HSI50 (Full acces).
У одного брокера постоянна (раз или два в сутки) слетает MarketInfo(), получает значение 0 ( конкретно MODE_MARGINREQUIRED). Это как бы всё нормально, защиту сделал но в это же время пропадает всякая попытка достучатся до iCustom() индикатора (подключен через ресурс). Даже после того как MarketInfo() опять получает данные iCustom() молчит, стучу по нему но индикатор не подключается. Помогает только перезапуск терминала. Как достучатся до индикатора не перезапуская терминал, какие идей? Индикатор может куда-то пропасть из ресурса?
Добрый день!
У одного брокера постоянна (раз или два в сутки) слетает MarketInfo(), получает значение 0 ( конкретно MODE_MARGINREQUIRED). Это как бы всё нормально, защиту сделал но в это же время пропадает всякая попытка достучатся до iCustom() индикатора (подключен через ресурс). Даже после того как MarketInfo() опять получает данные iCustom() молчит, стучу по нему но индикатор не подключается. Помогает только перезапуск терминала. Как достучатся до индикатора не перезапуская терминал, какие идей? Индикатор может куда-то пропасть из ресурса?
Вот это вопрос, на который хотелось-бы получить ответ.
Не помню что встречался с "array out of range" для Time[1], но вот такой факт случился в эксперте. Вы делайте какую-то проверку на "array out of range" для предопределенных переменных массива-таймсерий?