Тестируем брокеров и VPS, эпизод 2

Тестируем брокеров и VPS, эпизод 2

23 ноября 2015, 01:31
Andrey Khatimlianskii
9
1 254

В этом обзоре

  1. Сравнение скорости исполнения при работе на обычном домашнем компьютере и при работе на VPS с пингом до сервера брокера 5-10 мс.
  2. Сравнение параметров советника и анализ зависимости результатов от торговых условий (спреда и комиссии).
  3. Тестирование новой функции TimingStop.
  4. Анонс нового теста: 3 новых брокера и новые наборы параметров.

 

VPS: за и против

Две недели назад я открыл 2 новых счета (Робо и Тикмилл) и арендовал под них VPS от MQ. Пинг, анонсируемый при выборе хостинг-площадки составлял 7-8 мс.

За эти 2 недели оба сервера дважды перезагружались (ночью в будние дни) и еще дважды обновлялись до нового билда (в выходные). Как по мне, многовато, как для специализированного сервиса. Но на торговле моего советника это не сказалось.

RoboForex
Реальный пинг до сервера брокера, судя по журналу, менялся от 4.95 до 288.21 мс, исполнение при этом занимало от 190 до 1400 мс (в среднем, 250-300 мс).
Несколько раз были явные проблемы с сервером брокера, пинг и исполнение были ужасными (и на VPS и на домашнем компьютере). Что интересно, на VPS в этих условиях исполнение было даже хуже. Возможно, "сломался" дата-центр, который был ближе к VPS:

VPS (last known ping to RoboForex-ECN is 288.21 ms):
2015.11.12 21:49:31.766 '843392': order buy market 0.01 EURUSD sl: 0.00000 tp: 0.00000
2015.11.12 21:49:32.531 '843392': order was opened : #15054475 buy 0.01 EURUSD at 1.08093
Итого: 765 мс

Home (ping to current access point DataCenter India is 289.47 ms):
2015.11.12 22:47:47.910 '842861': order buy market 0.01 EURUSD sl: 0.00000 tp: 0.00000
2015.11.12 22:47:48.554 '842861': order was opened : #15054471 buy 0.01 EURUSD at 1.08093
Итого: 644 мс

(время журнала локальное, разница с VPS — час и две с небольшим минуты).

Очень огорчило, что, даже при пинге 5 мс, исполнение занимало не намного меньше (а иногда и больше!), чем в "домашних" условиях:

VPS (last known ping to RoboForex-ECN is 5.85 ms):
2015.11.16 00:14:13.507 '843392': order sell market 0.01 EURUSD sl: 0.00000 tp: 0.00000
2015.11.16 00:14:13.959 '843392': order was opened : #15065406 sell 0.01 EURUSD at 1.07136
Итого: 452 мс

Home (ping to current access point DataCenter Europe #1 is 52.86 ms):
2015.11.16 01:12:19.497 '842861': order sell market 0.01 EURUSD sl: 0.00000 tp: 0.00000
2015.11.16 01:12:19.908 '842861': order was opened : #15065407 sell 0.01 EURUSD at 1.07136
Итого: 411 мс

Напомню, что в первые 2 недели этот счет показывал исполнение на уровне тех же 200-400 мс.
Итоговая таблица со сравнением пингов и времени исполнения будет приведена ниже. 

Сравнение результатов торговли тоже однозначного ответа не дало:

  • Количество сделок на обоих счетах одинаковое (2 сделки, пропущенные на домашнем компьютере из-за отключенной галочки "Разрешить торговать" я опускаю).
  • Разницы во времени открытия и закрытия практически не заметно (в 95% случаев она в пределах одной секунды, остальные 5%, скорее всего, просто попали на стык 2-х секунд).
  • Средние результаты отличаются в разные стороны для разных наборов параметров:
     - самый маленький трейлинг-стоп отработал лучше на VPS (+192 пункта против +155),
     - средний размер трала отработал лучше на домашнем компьютере (+10 против -131 на VPS),
     - более крупный трал отработал примерно одинаково (-117 на VPS против -129 дома, и -131 на VPS против -137 дома).
    В сумме домашний счет слил даже меньше, но это из-за более позднего запуска и пропуска 2 убыточных сделок по 2 наборам параметров ;) Разница при среднем трале была достигнута за счет одной сделки, которая на VPS закрылась быстрее, не дав прибыли вырасти.

Общий вывод: на VPS результат каждой сделки чуть лучше. Но из-за высокой чувствительности бывают и менее удачные выходы.

 

TickMill
Реальный пинг до сервера брокера менялся от 6.55 до 17.75 мс (один раз на выходных поднимался до 55 мс, но это на торговлю, естественно, не повлияло), исполнение при этом занимало 400-600 мс.

Большой разницы во времени исполнения, в сравнении с домашним компьютером, опять не получилось:

VPS (last known ping to Tickmill-Live is 17.75 ms):
2015.11.13 15:00:25.298 '2096593125': order sell market 0.01 EURUSD sl: 0.00000 tp: 0.00000
2015.11.13 15:00:25.719 '2096593125': order was opened : #39068969 sell 0.01 EURUSD at 1.07339
Итого: 421 мс

Home (login datacenter on Tickmill-Live through Live DC2 - Central Europe (ping: 54.84 ms)):
2015.11.13 15:58:38.836 '2096592354': order sell market 0.01 EURUSD sl: 0.00000 tp: 0.00000
2015.11.13 15:58:39.332 '2096592354': order was opened : #39068976 sell 0.01 EURUSD at 1.07339
Итого: 496 мс

Если взять калькулятор и найти разницу в скорости исполнения (496-421 = 75), то мы увидим, что это и есть разница в пингах умноженная на 2 (путь туда и обратно): 2 * (54.84-17.75) = 74.18. Таким нехитрым образом можно прикинуть ускорение, которое даст VPS, еще до аренды — просто сравните домашний пинг с ожидаемым на VPS, и умножьте их разницу на 2.

Разница в результатах на TickMill оказалась более существенной:

  • Количество сделок совпало, но разница во времени их открытия иногда достигала 2-х секунд.
  • Средние результаты на VPS опять оказались лучше на маленьком трале (+24 против -41 дома), хуже на среднем (-185 против -49 дома, из-за той же одной сделки), и сравнимы на большом (-185 против -205, -341 против -414). Некоторые сделки, закрытые на VPS тралом, дома закрылись по СЛ — т.е. советник не успел передвинуть стоп на новый уровень.

Общий вывод можно сделать примерно такой же: польза от VPS есть, но и обратный эффект от быстрого исполнения тоже может проявиться.

 

Сравнение пингов и времени исполнения можно увидеть в следующей таблице:

BrokerHome pingHome execution speedVPS ping VPS execution speed 
RoboForex55-300 ms 200-1400 ms4.95-288.21 ms 190-1400 ms
TickMill55 ms 400-600 ms 6.55-17.75 ms 400-600 ms

 

Еще один вывод: скорость исполнения, безусловно, важна, но ее одной для прибыльной торговли не достаточно ;)

 Поэтому переходим к следующей части — выбору параметров.

 

Параметры стратегии, как функция от торговых условий

Две недели назад я задался целью найти зависимость оптимальных параметров от торговых условий брокера. Для этого я запустил на каждом счете по 4 советника, торгующих по одинаковому сигналу, но выставляющих разные СЛ и использующие разные размеры трейлинг-стопа. В итоге я ожидал выделить лучшие параметры для каждого брокера и сопоставить их с размерами спреда и комиссии.

Но задумка моя потерпела фиаско — абсолютно на всех тестируемых счетах картинка получилась одинаковая: самые маленькие СЛ и трейлинг-стоп уверено опередили другие варианты сопровождения сделки. К сожалению, только 5 сочетаний "параметры/счет" финишировали в плюсе. Итак:

  1. FxOpen уверенно двигался вниз с любыми сочетаниями СЛ и трала. Говорить о превосходстве одних параметров над другими не приходится:

     

    Здесь и дальше:
      - MagicNumber 60361 соответствует СЛ 3.0, ТС 1.5
      - MagicNumber 60362 соответствует СЛ 4.0, ТС 2.5
      - MagicNumber 60363 соответствует СЛ 5.0, ТС 3.5
      - MagicNumber 60364 соответствует СЛ 6.0, ТС 4.5


  2. Pepperstone болтался около 0, но комиссия не позволила выйти в плюс ни одной из комбинаций параметров (я ожидал, что здесь "выстрелит" ТС размером 2.5 пункта):



    Первый вариант (голубая линия, ТС 1.5 пункта) лидирует на всей дистанции.


  3. Лидер прошлой недели, TickMill, показал небольшой плюс, работая на VPS, и результаты чуть хуже на домашнем компьютере:





    Расположение линий видно невооруженным взглядом — чем меньше трал, тем лучше результат.

  4. Наконец, лучший результат по итогам сегодняшнего обзора — за RoboForex-ом.
    Небольшой плюс первого набора параметров на VPS и 2 прибыльные стратегии на домашнем компьютере дали лучший суммарный результат за прошедшие 2 недели:




    Оптимальными на данный момент параметрами я считаю СЛ = 3.0 и ТС = 1.5 пункта.

 

TimingStop — функция выхода по времени

Проверка новой функции проводилась на базе набора параметров с самым маленьким размером трейлинг-стопа (1.5 пункта).

Результаты показали, что TimingStop равный половине секунды (0.5) позволяет закрыть некоторые сделки намного более выгодно (+183 против +69 или +139 против +59), намного раньше обрезает некоторые убытки (-4 против -34, -3 против -35, -6 против -36), но и портит некоторые средние по прибыли сделки (+4 вместо +12, -12 вместо +66, -5 вместо +42). Итоговый результат получается немного лучше аналогичной торговли без тайминг-стопа (+16 вместо -41):

 

Бóльшие значения TimingStop не дают такого выигрыша на сильных движениях, а обрезают хорошие сделки примерно так же, в итоге — менее хорошие результаты (-26 при 1 секунде и -123 при 2 секундах):

 

 

В следующий раз я протестирую значения вокруг 0.5 или сочетания с другими размерами трейлинг-стопа и СЛ.

 

Планы на будущее

Последние две недели не дали мне ответа на вопрос об оптимальных параметрах для разных торговых условий. Зато наметился обновленный список брокеров для теста, стала понятной выгода от использования VPS и обнаружилось неплохое улучшение за счет новой функции тайминг-стопа.

Итак, в следующем тесте:

  1. Прекратится тест FxOpen-STP. Его торговые условия не подходят для AngryBeaver-а.
    Возможно, в одном из следующих тестов я запущу их ECN-счет с более хорошими спредами и конкурентной комиссией.
  2. Счета, для которых запущены аналоги на VPS (Robo и TickMill), будут отключены.
    Разница, в общем, уже понятна, нет смысла зря крутить процессор.
  3. Добавится 3 новых брокера для тестирования: Alpari ECN, Exness ECN и IC-Markets ECN.
    Все счета уже открыты и пополнены, осталось только запустить терминалы.
  4. На проверку будут поставлены новые наборы параметров, более близкие к лучшим параметрам последнего теста.
  5. В советника будет добавлен новый трейлинг-стоп, еще более плотно подтягивающий СЛ при сильных движениях.

К сожалению, на прошлой неделе я путешествовал и не успел подготовить все к новому запуску. Зато отдохнул и набрался сил для реализации новых идей ;)

Спасибо за внимание! Жду ваших вопросов и предложений в комментариях.

Поделитесь с друзьями: