Переделал TesterEA (не будет опубликован) на работу через лимитные и TP, чтобы показать особенность MT5-тестера и Virtual в режиме Тестера. Два отчета (Virtual = false/true) в приложении, вот куски из них
Virtual = true
166
-167
2018.11.09 21:47:21.837
buy
0.10 (22 672.50)
EURUSD
1.13366
1.13359
2018.11.09 22:00:00.157
1.13359
-0.70
-7
00:12:38.320
167
-168
2018.11.09 22:00:00.157
sell
0.10 (22 671.00)
EURUSD
1.13359
1.13351
2018.11.09 22:00:09.202
1.13351
+0.80
+8
00:00:09.045
168
-169
2018.11.09 22:00:09.202
buy
0.10 (22 670.00)
EURUSD
1.13351
1.13349
2018.11.09 22:05:14.334
1.13349
-0.20
-2
00:05:05.132
169
-170
2018.11.09 22:05:14.334
sell
0.10 (22 668.70)
EURUSD
1.13349
1.13338
2018.11.09 22:06:33.622
1.13338
+1.10
+11
00:01:19.288
170
-171
2018.11.09 22:06:33.622
buy
0.10 (22 666.70)
EURUSD
1.13338
1.13329
2018.11.09 22:29:56.806
1.13329
-0.90
-9
00:23:23.184
171
-172
2018.11.09 22:29:56.806
sell
0.10 (22 664.50)
EURUSD
1.13329
1.13316
2018.11.09 22:40:39.005
1.13316
+1.30
+13
00:10:42.199
172
-173
2018.11.09 22:40:39.005
buy
0.10 (22 665.80)
EURUSD
1.13316
1.13342
2018.11.09 22:56:02.915
1.13342
+2.60
+26
00:15:23.910
173
-174
2018.11.09 22:56:02.915
sell
0.10 (22 670.80)
EURUSD
1.13342
1.13366
2018.11.09 23:50:03.245
1.13366
-2.40
-24
00:54:00.330
17.30 (3 925 013.40)
0.00
-71.80
-718
Virtual = false
166
333
2018.11.09 21:47:21.837
buy
0.10 (22 672.50)
EURUSD
1.13366
1.13359
2018.11.09 22:00:00.157
1.13359
-0.40
-0.70
tp 1.13359
-7
00:12:38.320
167
335
2018.11.09 22:00:00.157
sell
0.10 (22 671.00)
EURUSD
1.13359
1.13351
2018.11.09 22:00:09.202
1.13351
-0.40
+0.80
tp 1.13351
+8
00:00:09.045
168
337
2018.11.09 22:00:09.202
buy
0.10 (22 670.00)
EURUSD
1.13351
1.13349
2018.11.09 22:05:14.334
1.13349
-0.40
-0.20
tp 1.13349
-2
00:05:05.132
169
339
2018.11.09 22:05:14.334
sell
0.10 (22 668.50)
EURUSD
1.13349
1.13338
2018.11.09 22:06:33.622
1.13336
-0.40
+1.30 (+1.10)
tp 1.13338
+13 (+11)
0, +2
00:01:19.288
170
341
2018.11.09 22:06:33.622
buy
0.10 (22 666.70)
EURUSD
1.13336
1.13329
2018.11.09 22:29:56.806
1.13331
-0.40
-0.50 (-0.90)
tp 1.13329
-5 (-9)
+2, +2
00:23:23.184
171
343
2018.11.09 22:29:56.806
sell
0.10 (22 664.60)
EURUSD
1.13331
1.13316
2018.11.09 22:40:39.005
1.13315
-0.40
+1.60 (+1.30)
tp 1.13316
+16 (+13)
+2, +1
00:10:42.199
172
345
2018.11.09 22:40:39.005
buy
0.10 (22 665.90)
EURUSD
1.13315
1.13342
2018.11.09 22:56:02.915
1.13344
-0.40
+2.90 (+2.60)
tp 1.13342
+29 (+26)
+1, +2
00:15:23.910
173
347
2018.11.09 22:56:02.915
sell
0.10 (22 670.90)
EURUSD
1.13344
1.13366
2018.11.09 23:50:03.245
1.13365
-0.40
-2.10 (-2.40)
tp 1.13366
-21 (-24)
+2, +1
00:54:00.330
174
349
2018.11.09 23:50:03.245
buy
0.10 (22 671.40)
EURUSD
1.13365
2018.11.09 23:54:57.446
1.13349
-0.40
-1.60 (-1.70)
end of test
-16 (-17)
+1, 0
00:04:54.201
175
349
2018.11.09 23:51:11.960
sell limit
0.10
EURUSD
1.13377
1.13361
2018.11.09 23:54:57.446
1.13349
00:03:45.486
17.40 (3 947 682.20)
-69.60
0.00
-48.60 (-73.50)
-486 (-735)
+249 (+24.90)
Обратите внимание, что длительность сделок (правый столбец) совпадает. И все бы хорошо, но в MT5-тестерном варианте какие-то лишние цифры. Дело в том, что MT5-тестер исполняет с положительным проскальзыванием лимитники/TP. В отчете это отражается. Например, выделенные "+2, +1" - было скольжение на +2 пипса при открытии и на +1 пипс при закрытии. Выделенные в этой же строке "-21 (-24)" говорит о том, что прибыль -21 за счет скольжения, но если бы не скользило, было бы -24. Т.е. MT5-тестер нам просто подарил 3 пипса. Выделенные "-2.10 (-2.40)" показывают, что прибыль в валюте счета был -2.1 за счет скольжения, но без скольжения было бы -2.4. Т.е. подарок на 0.3.
Наконец, нижняя красная строка показывает, что прибыль -485 пипсов, но это со скольжением. А вот если бы без него, то было бы -735 пипсов. В отчтете показано, что суммарное скольжение +249 пипсов.
Это MT5-тестер так работает. А вот Virtual (отчет выше) подобных скольжений не допускает, поэтому соответствующий отчет их и не содержит.
Еще раз, MT5-тестер завышает прибыль, Virtual - нет.
Данная библиотека является несколько переработанной версией замечательного скрипта 2006 года с учетом современных реалий MQL. Некоторые возможности убраны, некоторые - добавлены. В обеих платформах (MetaTrader 4/5) для сохранения отчета (в виде MetaTrader 4) можно запустить такой скрипт: и увидеть в соответствующем файле сформированный...
Это не нормально, ваш TP всегда срабатывает по точной цене, вероятно, то же самое для вашего открытия. Вы должны проверить реальные тики на ForexTimeFXTM-Demo01.
Например, эта торговля с вашим виртуальным неверна:
173
-174
2018.11.09 22: 56: 02.915
продавать
0,10 (22 670,80)
EURUSD
1,13342
1,13366
2018.11.09 23: 50: 03.245
1,13366
-2,40
-24
00: 54: 00,330
Цена предложения на 2018.11.09 22: 56: 02.915 была 1.13344, поэтому ваша открытая цена 1.13342 неверна.
И цена спроса (продажа закрыта) на 2018.11.09 23: 50: 03.245 была 1.13365. Поэтому Тестер стратегий прав и ваша потребность исправить ваш «виртуальный» код.
Очень хорошо, что Вы проверили реальные тики. Потому что отчет был проведен по ним.
У меня есть некоторые опыт реальной торговли с лимитными ордерами. Да, они имеют положительное проскальзываниые иногда, но они имеют и реджекты. И вот реджекты - это головная боль, не позволяющая на реале показывать такие красивые картинки, как делает Тестер.
Если Вам нужен Тестер для красивых картинок и цифр, то текущий MT5 подойдет. Но если Вам нужна близкая к реалу картина, то никаких скольжений быть не должно.
Я был бы очень рад, если бы на реале было так, как показывает Тестер. Но статистика показывает, что это не так.
Этот пример оказался гораздо круче. Зареджектился TP, выставленный самим брокером! И почти сразу (ждал аж 115 мс - баг MT5, видимо) после реджекта брокер выставил следующий TP, который исполнился. На скрин комментарии к ордерам не попали. Зеленый цвет - ORDER_REASON_TP. И у reject-ордера, соответственно, даже ORDER_POSITION_ID имеется.
Т.е. TP реджектится и ЖДЕТ следующего тика, чтобы перевыставиться. Сразу не ставится.
то есть в отрицательную сторону вообще не скользят, только в положительную?
ладно если бы в отдельной настройке можно было создать произвольные проскальзывания, это еще куда ни шло. Хотя и это не нужно, потому что в реальности все с точностью до наоборот, и тестер завышает указанные Вами значения X2 минимум относительно реальности
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: Virtual
fxsaber, 2018.11.13 16:01
Переделал TesterEA (не будет опубликован) на работу через лимитные и TP, чтобы показать особенность MT5-тестера и Virtual в режиме Тестера. Два отчета (Virtual = false/true) в приложении, вот куски из них
Virtual = true
Virtual = false
Обратите внимание, что длительность сделок (правый столбец) совпадает. И все бы хорошо, но в MT5-тестерном варианте какие-то лишние цифры. Дело в том, что MT5-тестер исполняет с положительным проскальзыванием лимитники/TP. В отчете это отражается. Например, выделенные "+2, +1" - было скольжение на +2 пипса при открытии и на +1 пипс при закрытии. Выделенные в этой же строке "-21 (-24)" говорит о том, что прибыль -21 за счет скольжения, но если бы не скользило, было бы -24. Т.е. MT5-тестер нам просто подарил 3 пипса. Выделенные "-2.10 (-2.40)" показывают, что прибыль в валюте счета был -2.1 за счет скольжения, но без скольжения было бы -2.4. Т.е. подарок на 0.3.
Наконец, нижняя красная строка показывает, что прибыль -485 пипсов, но это со скольжением. А вот если бы без него, то было бы -735 пипсов. В отчтете показано, что суммарное скольжение +249 пипсов.
Это MT5-тестер так работает. А вот Virtual (отчет выше) подобных скольжений не допускает, поэтому соответствующий отчет их и не содержит.
Еще раз, MT5-тестер завышает прибыль, Virtual - нет.
Когда в отчете добавят поле "magic"?
Насколько я знаю, данный вопрос поднимался не раз, а воз и ныне там.
Этот отчет содержит мэджики.
What I do not like MT5 tester
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: Virtual
Alain Verleyen, 2018.11.13 16:34
Это не нормально, ваш TP всегда срабатывает по точной цене, вероятно, то же самое для вашего открытия. Вы должны проверить реальные тики на ForexTimeFXTM-Demo01.
Например, эта торговля с вашим виртуальным неверна:

Цена предложения на 2018.11.09 22: 56: 02.915 была 1.13344, поэтому ваша открытая цена 1.13342 неверна.И цена спроса (продажа закрыта) на 2018.11.09 23: 50: 03.245 была 1.13365. Поэтому Тестер стратегий прав и ваша потребность исправить ваш «виртуальный» код.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: Virtual
fxsaber, 2018.11.13 16:54
Очень хорошо, что Вы проверили реальные тики. Потому что отчет был проведен по ним.
У меня есть некоторые опыт реальной торговли с лимитными ордерами. Да, они имеют положительное проскальзываниые иногда, но они имеют и реджекты. И вот реджекты - это головная боль, не позволяющая на реале показывать такие красивые картинки, как делает Тестер.
Если Вам нужен Тестер для красивых картинок и цифр, то текущий MT5 подойдет. Но если Вам нужна близкая к реалу картина, то никаких скольжений быть не должно.
Я был бы очень рад, если бы на реале было так, как показывает Тестер. Но статистика показывает, что это не так.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Статистика проскальзываний лимитных ордеров на бирже
fxsaber, 2018.04.03 11:17
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Типичные ошибки и способы их устранения при работе с торговым окружением
fxsaber, 2018.02.24 16:25
Этот пример оказался гораздо круче. Зареджектился TP, выставленный самим брокером! И почти сразу (ждал аж 115 мс - баг MT5, видимо) после реджекта брокер выставил следующий TP, который исполнился. На скрин комментарии к ордерам не попали. Зеленый цвет - ORDER_REASON_TP. И у reject-ордера, соответственно, даже ORDER_POSITION_ID имеется.
Т.е. TP реджектится и ЖДЕТ следующего тика, чтобы перевыставиться. Сразу не ставится.
За что не люблю MT5-тестер
то есть в отрицательную сторону вообще не скользят, только в положительную?
ладно если бы в отдельной настройке можно было создать произвольные проскальзывания, это еще куда ни шло. Хотя и это не нужно, потому что в реальности все с точностью до наоборот, и тестер завышает указанные Вами значения X2 минимум относительно реальности
то есть в отрицательную сторону вообще не скользят, только в положительную?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: Virtual
fxsaber, 2018.11.13 22:25
Оно всегда неотрицательное для Limits/TP. И всегда не положительное для Stops/SL.
На самом деле это правильно, лимитный ордер «равен или лучше», а стоп-ордер «равен или худший».
На самом деле это правильно, лимитный ордер «равен или лучше», а стоп-ордер «равен или худший».
между вашими теоретическими воззрениями и реальностью - пропасть, тем более когда дело касается forex
между вашими теоретическими воззрениями и реальностью - пропасть, тем более когда дело касается forex
Тестер стратегий может работать только в соответствии с теоретическими правилами.
Если брокер не соблюдает правила, это ошибка Тестера стратегий?
Тестер стратегий может работать только в соответствии с теоретическими правилами.
Если брокер не соблюдает правила, это ошибка Тестера стратегий?
тестер стратегий должен работать в соответствии с реалиями