Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я проверил. Когда срабатывает SL/TP, у вас есть эти транзакции :
При выходе в короткую позицию - из девственной позиции, я получаю 3 транзакции:
A вход )
После срабатывания стоп-лосса я получаю
B выход )
НетTRADE_TRANSACTION_POSITION. Я думаю, что вы не можете использовать его здесь.
Резюме:
Открывается шорт, первая транзакция
entry-type=IN trans-type=DEAL_ADD order_type=BUYsl=1.3119000 tp=1.3088000
Шорт закрыт, по стопу или цели, первая отраженная транзакция
entry-type=IN trans-type=DEAL_ADD order_type=BUY sl=0.0 tp=0.0
Это сбивает с толку. Должно быть так:
open short:
entry-type=IN trans-type=DEAL_ADD order_type=SELLsl=1.3119000 tp=1.3088000
закрыть шорт:
entry-type=OUT trans-type=DEAL_ADD order_type=BUY sl=0.0 tp=0.0
Я проверил. Когда срабатывает SL/TP, у вас есть эти транзакции :
При выходе в шорт - из девственной позиции, я получаю 3 сделки:
A вход )
После срабатывания стоп-лосса я получаю
B выход )
НетTRADE_TRANSACTION_POSITION.Я думаю, что вы не можете использовать его здесь.
...Вы пропускаете некоторые сделки, не знаю почему. Из-за бэктестинга?
Небольшое отступление, вместо :
вы можете использовать :
EnumToString(t.order_type)
Небольшое отступление, вместо :
вы можете использовать :
Спасибо за EnumToString. Гораздо умнее в использовании.
Да, я беспокоюсь о транзакциях в бэктесте. Но для того, чтобы сделать его максимально реальным, транзакция должна быть такой же, как и в реальной торговле.
TRADE_TRANSACTION_POSITION не имеет отношения к сделке, как вы также упоминали ранее. Я полагаю, что это указывает, например, когда вы перевели деньги на свой счет.
...
Похоже, что некоторые транзакции недоступны при бэктестинге. Это ошибка или ограничение бэктестинга. При работе на форвард-тесте у меня есть TRADE_TRANSACTION_POSITION при срабатывании SL/TP.
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_ORDER_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=ORDER_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_ORDER_DELETE
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=ORDER_DELETE order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_HISTORY_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.00 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=HISTORY_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_POSITION
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3173500 volume=0.01 sl=1.3174200 tp=1.3170100 order=0 deal=0 entry-type=IN trans-type=POSITION order_type=BUY deal_type=DEAL_TYPE_SELL type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_DEAL_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=16655372 entry-type=OUT trans-type=DEAL_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.34
Похоже, что некоторые транзакции недоступны при бэктестинге. Это ошибка или ограничение бэктестинга. При работе на форвард-тесте у меня есть TRADE_TRANSACTION_POSITION, когда срабатывает SL/TP.
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_ORDER_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=ORDER_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_ORDER_DELETE
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=ORDER_DELETE order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_HISTORY_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.00 sl=0.0000000 tp=0.0000000 order=19683612 deal=0 entry-type=IN trans-type=HISTORY_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_POSITION
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3173500 volume=0.01 sl=1.3174200 tp=1.3170100 order=0 deal=0 entry-type=IN trans-type=POSITION order_type=BUY deal_type=DEAL_TYPE_SELL type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.00
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) TRADE_TRANSACTION_DEAL_ADD
2013.05.08 19:20:29 tc_ea_trans (EURUSD,M1) trans=symbol=EURUSD price=1.3170100 volume=0.01 sl=0.0000000 tp=0.0000000 order=19683612 deal=16655372 entry-type=OUT trans-type=DEAL_ADD order_type=BUY deal_type=DEAL_TYPE_BUY type_time=0 expiration=1970.01.01 00:00 price_trigger=0.0000000 profit=0.34
Здравствуйте, angevoyageur,
У меня все еще есть проблема с получением цены исполнения стопа или лосса, прикрепленного к позиции - в бэктесте. Пока не знаю, как это будет выглядеть в реальных условиях.
Это из журнала бэктестов:
Как вы можете видеть в последней строке, цена исполнения указана в журнале -> [#7 buy 0.01 EURUSD at 1.27349].
Но ни одна структура, транзакция, сделка или история ордеров не предоставляет эту цену.
Эта строка сбрасывает транзакцию, связанную со сработавшим стопом:
Это код функции дампа:
Я попытался получить цену исполнения из истории ордеров и сделок: безрезультатно.
Здравствуйте, angevoyageur,
...Спасибо, я изучу этот вопрос как можно скорее.
Это очень мило. Не спешите.
Я проверил каждую сделку, запрос и результат, переданный в OnTradeTransaction.
Цена сработавшего стоп-лосса, указанная в журнале бэктестов (создается MetaTrader), не может быть найдена, кроме как как цена sl, но не как цена или цена сделки или цена исполнения.
Это очень мило. Не спешите.
Я проверил каждую сделку, запрос и результат, переданный в OnTradeTransaction.
Цена сработавшего стоп-лосса, упомянутая в журнале бэктестов (создается MetaTrader), не может быть найдена, кроме как как цена sl, но не как цена или цена сделки или цена исполнения.
Таким образом, речь идет только о бэктестинге. Я тестировал со своим собственным кодом и получил 3 сделки при срабатывании стопа:
2013.05.15 10:22:27 Core 1 2013.05.10 16:20:37 Symbol : EURUSD event : TRADE_TRANSACTION_DEAL_ADD(6)
2013.05.15 10:22:27 Core 1 2013.05.10 16:20:37 Symbol : EURUSD event : TRADE_TRANSACTION_ORDER_DELETE(2)
2013.05.15 10:22:27 Core 1 2013.05.10 16:20:37 Symbol : EURUSD event : TRADE_TRANSACTION_HISTORY_ADD(3)