Статистика проскальзываний лимитных ордеров на бирже - страница 8

 

В Тестере TP получают отрицательные проскальзывания

PQ      0       23:57:02.304    Trade   2018.03.29 23:59:14   position modified [#154 sell 1.00 TESTER 0.87670 tp: 0.87689]
JH      0       23:57:02.304    Trade   2018.03.30 00:03:35   take profit triggered #154 sell 1.00 TESTER 0.87670 tp: 0.87689 [#157 buy 1.00 TESTER at 0.87689]
QQ      0       23:57:02.304    Trades  2018.03.30 00:03:35   deal #153 buy 1.00 TESTER at 0.87729 done (based on order #157)
CG      0       23:57:02.304    Trade   2018.03.30 00:03:35   deal performed [#153 buy 1.00 TESTER at 0.87729]
DK      0       23:57:02.304    Trade   2018.03.30 00:03:35   order performed buy 1.00 at 0.87729 [#157 buy 1.00 TESTER at 0.87689]


В данном случае BUY-позиция должна была закрыться на TP = 0.87689, а TP-уровень закрылся на 0.87729, получив отрицательное проскальзывание на -40 пипсов!

Почему TP может скользить отрицательно в Тестере?

Получилось добиться того, чтобы лимитные ордера не скользили в Тестере. Но с TP ситуация нехорошая - они маркета, а потому скользят. Как бы отключить скольжение и TP в Тестере?

 
fxsaber:

В Тестере TP получают отрицательные проскальзывания

Вот причина. Журнал

CM      0       00:30:17.505    Trade   2018.03.28 23:48:46   position modified [#165 buy 1.00 Si-6.18 58290 tp: 58300]
DJ      0       00:30:17.507    Trade   2018.03.29 10:00:00   take profit triggered #165 buy 1.00 Si-6.18 58290 tp: 58300 [#168 sell 1.00 Si-6.18 at 58300]
RQ      0       00:30:17.507    Trades  2018.03.29 10:00:00   deal #163 sell 1.00 Si-6.18 at 58255 done (based on order #168)
FI      0       00:30:17.507    Trade   2018.03.29 10:00:00   deal performed [#163 sell 1.00 Si-6.18 at 58255]
NI      0       00:30:17.507    Trade   2018.03.29 10:00:00   order performed sell 1.00 at 58255 [#168 sell 1.00 Si-6.18 at 58300]

Т.е. имеем TP 58300, а исполнение по 58255. При этом время исполнения (DEAL_TIME) указано 10:00:00.001, а цена исполнения соответствует будущему - 10:00:00.024. Т.е. мало того, что TP исполняется с отрицательным проскальзыванием, так он еще заливается по ценам из будущего.

Что-то намудрили в Тестере с ластами и, возможно, не только с ними. Придется проверять адекватность Тестера. Снова верить ему нельзя.

Прошу добавить исправление этого бага в ближайший билд. Сделайте для TP исполнение в Тестере, как для лимитных ордеров!

 
fxsaber:

Сделайте для TP исполнение в Тестере, как для лимитных ордеров!

Зачем же? На бирже TP это не лимитка, а исполнение по рынку заявки при указанных условиях. Соответственно проскальзывание часто будет отрицательным, если в верной точке TP (там где идет закупка лимитками крупными объемами), и положительным (допустим при пробое уровня, когда срабатывают стопы у народа), если не в верной. Я бы хотел иметь возможность в тестере ставить проскальзывание самостоятельно - тогда кому как надо, так и сделает.

 
Aleksey Vyazmikin:

Зачем же? На бирже TP это не лимитка, а исполнение по рынку заявки при указанных условиях.

Затем, что Тестер - не биржа. TP на бирже может иметь отрицательное проскальзывание из-за фактора лага, которого нет в Тестере в режиме торговли "Без задержки".

 
Aleksey Vyazmikin:

Зачем же? На бирже TP это не лимитка, а исполнение по рынку заявки при указанных условиях.

Да ладно?
 
Комбинатор:
Да ладно?

К сожалению, так.

 
fxsaber:

К сожалению, так.

в МТ5 и на бирже это две большие разницы
 
Комбинатор:
в МТ5 и на бирже это две большие разницы

Сомневаюсь, что на бирже даже есть такое понятие: TP-ордер.

 
fxsaber:

Сомневаюсь, что на бирже даже есть такое понятие: TP-ордер.

тогда к чему вообще такая постановка вопроса? все равно получается МТ5 -- не МТ5 и ТП сделан не по-людски
 
Комбинатор:
тогда к чему вообще такая постановка вопроса?

К MT5-Тестеру, не бирже. Пусть хоть в Тестере TP будут работать по-человечески. Что MQ мешает вместо маркета слать лимитник - не ясно.

Что касается TP, то это цветочки

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2018.03.05 19:22

Баг Тестера.

Пусть сначала стоит BUY-поза с TP. И на этот же TP стоит SellLimit. Тестер исполняет такие ситуации по-разному

  • сначала BUY_TP, затем SellLimit.
  • сначала SellLimit, затем BUY_TP.

Во втором случае имеем открытие сразу двух противоположны позиций на хедже или закрытие BUY-позиции без открытия SELL.

Для хеджа это еще усугубляется, что SellLimit может зареджектится из-за нехватки денег на открытие второй позиции.

В общем, просьба привести Тестер к однозначному поведению - сначала TP, затем Limit.


А с лимитниками совсем засада

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2018.02.14 14:41

Гадкий баг не Терминала, а Платформы MT5
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define Bid SymbolInfoDouble(_Symbol, SYMBOL_BID)
#define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

void OnStart()
{
  OrderSend(_Symbol, OP_BUY, 1, Ask, 100, 0, Bid);
  
//  OrderSend(_Symbol, OP_BUYLIMIT, 1, Ask, 100, 0, 0);
}

Запускаем на MQ-Demo на каком-нибудь медленно двигающемся символе. Например, EURHUF.

Скрипт открывает BUY-позицию с TP = Bid. Т.е. позиция должна сразу закрыться. Но TP будет проверяться на соответствие условию акцептирования только на следующем тике!

Никакого мгновенного закрытия позиции не произойдет, пока не придет новый тик. Более того, если следующий у следующего тика будет Bid < TP, то TP так и останется без акцепта.


Это же касается и лимитных ордеров (закомментированная строка). В Тестере - аналогичная ситуация.


Ну и вишенка

Этот пример оказался гораздо круче. Зареджектился TP, выставленный самим брокером! И почти сразу (ждал аж 115 мс - баг MT5, видимо) после реджекта брокер выставил следующий TP, который исполнился. На скрин комментарии к ордерам не попали. Зеленый цвет - ORDER_REASON_TP. И у reject-ордера, соответственно, даже ORDER_POSITION_ID имеется.

Т.е. TP реджектится и ЖДЕТ следующего тика, чтобы перевыставиться. Сразу не ставится.