Я использую комментарии, чтобы знать, был ли ордер закрыт по TakeProfit или StopLoss... Я понял, что в MIG BANK (реальные счета) они убрали тег "[tp]" или "[sl]" в ордерах... мои советники работают на демо-счете, но не на реальном, потому что они убрали тег... Я думаю сделать сравнение между ценой TakeProfit и ценой закрытия, но это может быть не точно в случае проскальзывания при закрытии или еще чего. Есть идеи?
Комментарии '[tp]', '[sl]' являются специфическими для брокера. У некоторых они есть, у некоторых нет.
Вы можете проверить, находится ли цена закрытия ордера выше/ниже цены открытия и тип ордера.
Не является ли он одним из тех брокеров, которым необходимо модифицировать ордер после ordersend() с помощью ordermodify() для установки TP и SL в соответствии с новыми правилами?
Это связано с использованием BT bridge (полу 'ECN' брокер), а не с новыми правилами.
Не один ли это из тех брокеров, которым нужно модифицировать ордер после ordersend() с помощью ordermodify(), чтобы установить TP и SL из-за новых правил?
Нет, MIG разрешает устанавливать SL и TP в OrderSend().
CB
Комментарии '[tp]', '[sl]' являются специфическими для брокера. У некоторых они есть, у некоторых нет.
Вы можете проверить, находится ли цена закрытия ордера выше/ниже цены открытия и тип ордера.
Это то же самое, что и функция OrderProfit, но не то, что мне нужно. Вы можете закрыть ордер по TakeProfit в положительную или отрицательную сторону (если вы измените TakeProfit позже).
Мне нужно знать, был ли ордер закрыт по TakeProfit или StopLoss, и без этого комментария я думаю, что это невозможно.
Я могу сравнить цену закрытия с первоначальной ценой TakeProfit, но это может быть неточным из-за проскальзывания?
Спасибо за ваши ответы.
Вы можете закрыть ордер по TakeProfit в положительном или отрицательном значении (если вы позже измените TakeProfit).
Хорошая мысль.
Я могу сравнить цену закрытия с первоначальной ценой TakeProfit, но это может быть неточным из-за проскальзывания?
Можно проверить, если MathAbs(closeprice - tp) > MathAbs(closeprice - sl)
похоже, это единственный выход... спасибо!
Не знаю, поможет это или нет, но в дополнение к тому, что предлагает CB, я также вставляю в комментарии к ордерам пробелы, чтобы брокер не перезаписал в них ничего важного. Это не безотказно, но мне это нравится как дополнительная защита на случай, если внешний файл данных каким-то образом пропадет.
Hmmm.... Может быть, я что-то упускаю, но есть ли случаи, когда перечисленного ниже будет недостаточно?
// select the closed order first and then do this: double sl_diff = MathAbs(OrderClosePrice() - OrderTakeProfit()), tp_diff = MathAbs(OrderClosePrice() - OrderStopLoss()); if ( sl_diff > tp_diff ) Print("order closed at tp"); else Print("order closed at sl"); // I assume here that an equality of sl_diff and tp_diff is impossible...?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Я использую комментарии, чтобы узнать, был ли ордер закрыт по TakeProfit или StopLoss... Я понял, что в MIG BANK(реальные счета) они убрали тег "[tp]" или "[sl]" в ордерах... мои советники работают на демо-счете, но не на реальном, потому что они убрали тег... Я думаю сделать сравнение между ценой TakeProfit и ценой закрытия, но это может быть не точно в случае проскальзывания при закрытии или еще чего. Есть идеи?