Производительность VDS или проскальзывание межд…

# от 26.01.2017


Обсуждение
Евгений Борисов год назад
Параметры VDS: 1 ядро и 1 GB памяти Брокер: Альпари Терминалы: MetaTrader 5 На сервере запущено 6 торговых терминалов одного брокера. В 5 терминалах торговля только одним торговым инструментом + в шестом терминале всеми инструментами сразу. #1: USDJPY #2: USDCAD #3: EURUSD #4: USDCHF #5: GBPUSD #6: USDJPY + USDCAD + EURUSD + USDCHF + GBPUSD Торговлю ведет эксперт. Настройки одинаковых торговых инструментов одни и те же. На выходе же получаем такую картину которая у меня не укладывается в голове. Пример 1 В терминале #1 в 2017.01.23 01:24 открывается сделка по цене 113.980 В терминале #6 в 2017.01.23 01:25 открывается сделка по цене 113.985 Пример 2: В терминале #3 в 2017.01.25 16:13 открывается сделка по цене 1.07254 В терминале #6 сделка вообще не была открыта Пример 3: В терминале #5 в 2017.01.25 12:15 открывается сделка по цене 1.25812. В терминале #6 в 2017.01.25 12:25 открывается сделка по цене 1.25726. Пример 4: В терминале #5 сделки нет В терминале #6 в 2017.01.24 21:59 открывается сделка по цене 1.25000 Как видно из примеров - сделки могут быть вообще не открыты. Либо открыты в каком-то одном терминале. При этом разница между открытием сделок может доходить до 10 минут. Т.е. вариант с проскальзыванием отпадает. При этом логичен вопрос - если дело не в проскальзывании, то почему в терминале #5 или #6 из примера 3 была открыта всего одна сделка по двум абсолютно разным сигналам? P.S. Для наглядности замониторил сигналы на MQL5: https://www.mql5.com/ru/signals/author/agel_nash
Евгений Борисов год назад
Временно добавил к серверу еще одно ядро и 1 ГБ памяти. Отключил эксперта от торгового инструмента USDCHF. Понаблюдаю следующую неделю. И если все-таки проблема в производительности - то логичен вопрос оптимальной конфигурации для одного терминала.
Михаил Фурсов год назад
Я тестирую съём тиковых котировок. Вот тут есть данные от Альпари: http://dio1.investflow.ru/alpari/GBPUSD_2017_1_25_12
Евгений Борисов год назад
Сегодня вообще что-то мистическое происходило. Такое ощущение, что сделки открывались в хаотичном порядке хотя принцип открытия основан на ценах открытия и закрытия баров определенных фреймов. Т.е. никаких шибко нагруженных математических функций. EURUSD вообще не копируются в терминал #6. Попробовал оставить всего 4 советника (на USDJPY и EURUSD в терминале #6, USDJPY в терминале #1, EURUSD в терминале #3). Если и это не сработает - попробую разнести терминалы по разным VDS.
Михаил Фурсов год назад
{{Agel_Nash|Евгений}}, если рассматривать советник как черный ящик - то вполне возможно допустить что даже на одних и тех же сигналах 2 раза подряд он сработает по разному. Думаю нужно полный лог выводить, типа: пришел тик такой-то, делаю то-то. И потом просто при помощи diff сравнить вывод с 2 разных терминалов
Евгений Борисов год назад
{{mfursov|Михаил}}, на 4 советниках и 3 терминалах пока сделки открываются синхронно так как и задумывалось. Скорее всего дело все-таки в производительности сервера. Если опять начнутся расхождения, то похоже действительно, без логов не обойтись.
Евгений Борисов год назад
Разобрался я в подобном поведении. В общем действительно виной всему проскальзывание вызванное производительностью сервера и особенностями стратегии, где заложен анализ сразу нескольких таймфреймов при каждом тике: - M1/M2/M5 - M15/M20/M30 - M30/H1/H2 При этом, чтобы советник не плодил ордера, используется ограничение по количеству открытых сделок. Таким образом, один терминал успел проанализировать данные на минутных фреймах и открыл сделку. А другой - не успел. Чуть позже возникает ситуация, когда появляется сигнал на более старших фреймах. Там, где уже была открыта сделка - новая не открывается. Ну и соответственно в другом терминале открывается другая по другому сигналу. Жаль, что этой ошибки не видно в тестере который только умеет показывает красивые графики USDCAD: https://monosnap.com/file/QJBByjz4LpIMupxw9f1KQDmKtVdv6M EURUSD: https://monosnap.com/file/7QuD8oXr9MfJpf6AvkAndgYVaUrTSF USDJPY: https://monosnap.com/file/LSBtpXpYYGKzVPb9HMvji2fXPUD4sX Всем спасибо за внимание и подсказки;-) Буду дальше дорабатывать стратегию и советника.
Михаил Фурсов год назад
{{Agel_Nash|Евгений}}, можно на разных счетах запустить и посмотреть - будет ли 1в1 поведение. Так наводок не будет по сделкам
Евгений Борисов год назад
{{mfursov|Михаил}}, собственно я так и вычислил в чем проблема. Запустил на разных серверах и добавил в комментарий к ордеру сигнал который вызвал открытие сделки. Все сделки совпали. Попробовал на одном сервере запустить несколько терминалов и начались пляски - в одном терминале сделка открылась по M1 сигналу, а в другом по M30. Т.е. 2 терминала на одном сервере у меня не успевали одновременно обрабатывать сразу все фреймы до закрытия бара. Поэтому и получались расхождения. Особенно заметно это стало на младших таймфреймах. Таких накладок мало, в силу того, что за месяц по каждой паре фреймов от 2 до 30 сигналов, поэтому и поиск ошибки затянулся.
Евгений Борисов год назад
{{Agel_Nash|Евгений}}, Если переводить на MT4, то мой эксперт под MT5 = 6 экспертов под MT4 на каждую валютную пару. А т.к. в самом начале я использовал 10 валютных пар, то это получается 60 советников на сервере. Реально многовато для VDS с 1 ядром и 1 ГБ памяти.
Добавить комментарий

Последние комментарии

пятница, 10 августа, 17:30
alexandrkarpovrf