Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Опубликуй торговый сигнал. Получи доступ к миллионам трейдеров!
ivan
313
ivan 2013.12.09 09:59 

Доброго времени суток! Имею мультивалютный советник... все работает нормально, но наступает момент когда начинают идти сбои. Повесил индикатор 2х тестируемых валют и замечаю что открывает позы в соответствии с системой все хорошо, обнавляю чарт и оп - индикатор смежной валюты перестраивается и уже открытая позиция не соответствует графику, а в логе пишет - загружено баров столько то. Как сделать синхронизацию? Была мыля както осуществить обновление чарта на каждом тике, может есть более разумное решение.

Помогите найти или подскажите кодом или источник подскажите. Благодарю за внимание, а возможно и за помощь.

Mikhail Kozhemyako
1178
Mikhail Kozhemyako 2013.12.09 17:57  
Все зависит от того на какой инструмент вы свой мультивалютник повсесили. Так как срабатывает по функции старт, а это значит тик по паре должен придти, если повесил мульти на какуенебуть экзотичесскую пару, то тика можно и не дожждаться
Vladimir Gomonov
8235
Vladimir Gomonov 2013.12.09 21:40  
Sepulca:
Все зависит от того на какой инструмент вы свой мультивалютник повсесили. Так как срабатывает по функции старт, а это значит тик по паре должен придти, если повесил мульти на какуенебуть экзотичесскую пару, то тика можно и не дожждаться
В новых билдах есть таймер и соответствующее событие (функция) запускаемое таймером. Можно пару раз в минуту насильственно синхронизировать. Как именно не знаю, может и перезагрузкой чарта, а может есть и более экологичный способ.
shadowmana
714
shadowmana 2013.12.10 00:21  
Можно не ждать тик по паре, а вычислить котировку нужной пары самому из других пар
Mikhail Kozhemyako
1178
Mikhail Kozhemyako 2013.12.10 03:28  
M_Dimens:
Можно не ждать тик по паре, а вычислить котировку нужной пары самому из других пар

Да не получится, покрайней мере, сейчас в стабильной 509-ой версии. Потому что ваш советник запускается по тику инструмента, на который поставлен. Да в следующих версиях это будет, и это хорошо.
shadowmana
714
shadowmana 2013.12.10 04:02  
Sepulca:

Да не получится, покрайней мере, сейчас в стабильной 509-ой версии. Потому что ваш советник запускается по тику инструмента, на который поставлен. Да в следующих версиях это будет, и это хорошо.

Получится запускаем советник на "основной паре" EUR/USD берем котировки по парам GBPUSD USDCHF USDJPY AUDUSD NZDUSD и вычисляем все остальные пары .

EURUSD*USDCHF=EURCHF EURCHF*CHFUSD=EURUSD и.т.д.

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

Остается только проблема как с эмитировать тик на каком либо кроссе по которому не было тиков что-бы открыть позицию

Mikhail Kozhemyako
1178
Mikhail Kozhemyako 2013.12.10 04:44  
M_Dimens:

Получится запускаем советник на "основной паре" EUR/USD берем котировки по парам GBPUSD USDCHF USDJPY AUDUSD NZDUSD и вычисляем все остальные пары .

EURUSD*USDCHF=EURCHF EURCHF*CHFUSD=EURUSD и.т.д.

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

Остается только проблема как с эмитировать тик на каком либо кроссе по которому не было тиков что-бы открыть позицию



Нет, в текущей версии никак. Ну берём основную пару EURUSD, как самую активную. Но ведь функция start() запустится только по приходу нового тика. Нельзя взять свежие котировки с других пар, пока не придёт тик по паре, на которой установлен советник. Тут надо либо init() как нибудь зацикливать, либо ждать выхода свежей версии, там вроде будет возможность запускать код по времени.
Mislaid
558
Mislaid 2013.12.10 06:11  

Синхронизация, скорее всего, ни при чем. У топикстартера при обновлении чарта перерисовались показания индикатора.

Здесь сначала нужно смотреть индикатор.

ivan
313
ivan 2013.12.27 09:34  
Ну так он перерисовывается из-за того что появляются дыры в истории
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий