Добрый день!
void RemoveOrders() { int orders_total = OrdersTotal(); //--- if ( orders_total > 0 ) { for ( int i = 0; i < orders_total; i++ ) { ulong temp_order_ticket = OrderGetTicket( i ); if ( OrderSelect( temp_order_ticket ) ) { string temp_symbol = OrderGetString( ORDER_SYMBOL ); if ( temp_symbol == _Symbol ) { RemoveOldOrder( temp_order_ticket ); } } } } }
void RemoveOldOrder( const ulong ord_ticket ) { MqlTradeRequest request = {0}; MqlTradeResult result = {0}; request.action = TRADE_ACTION_REMOVE; request.order = ord_ticket; if ( OrderSend( request, result ) ) { if ( result.retcode == TRADE_RETCODE_PLACED ) { Print( "Удаление старого ордера выполнено! Билет = ", ord_ticket ); } } else { Print( "Удаление старого ордера не выполнено! Билет = ", ord_ticket, "; Код возврата = ", GetLastError() ); } }
Добрый день!
У Вас или у меня?
У Вас не работает, а у меня работает.
ААА, у Вас MQL4
Форум MQL5, поэтому хорошо бы добавлять, что для 4
У Вас или у меня?
У Вас не работает, а у меня работает.
ААА, у Вас MQL4
Форум MQL5, поэтому хорошо бы добавлять, что для 4
Да хотя бы сделать чекбокс для выбора темы заданного вопроса, чтобы автоматически подставлялся префикс MQL4/MQL5 к теме, или к сообщению.
Привет! Помогите с кодом, надо чтобы при открытии ордера отложки удалялись, делал так, но не пашет
Вопрос не полный.
При открытии ордера - какого? Выставлении нового отложенного ордера, или открытии рыночной позиции?
Какого типа позиции?
Какого типа отложки удалять? Все, или какие-то конкретные?
Есть ли уже к этому времени открытые рыночные позиции, и нужно удалить отложки при открытии новой позиции?
Нет вообще позиций, но есть отложки, и при срабатывании любой из отложек, нужно удалить все остальные?
Могу ещё вопросы придумать. Ответ на каждый вопрос - свой, и логика тоже своя.
Вопрос не полный.
При открытии ордера - какого? Выставлении нового отложенного ордера, или открытии рыночной позиции?
Какого типа позиции?
Какого типа отложки удалять? Все, или какие-то конкретные?
Есть ли уже к этому времени открытые рыночные позиции, и нужно удалить отложки при открытии новой позиции?
Нет вообще позиций, но есть отложки, и при срабатывании любой из отложек, нужно удалить все остальные?
Могу ещё вопросы придумать. Ответ на каждый вопрос - свой, и логика тоже своя.
При открытии рыночной позиции, когда срабатывает один из двух отложенных ордеров, необходимо удалить оставшийся отложенный ордер, т.е. все отложенные ордера на данный момент
У Вас или у меня?
У Вас не работает, а у меня работает.
ААА, у Вас MQL4
Форум MQL5, поэтому хорошо бы добавлять, что для 4
Ещё вопрос: сколько при этом рыночных позиций? Одна? Именно та, которая произошла от отложки? Других нет, и не было до срабатывания?
Да, именно так
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Привет! Помогите с кодом, надо чтобы при открытии ордера отложки удалялись, делал так, но не пашет
int total=OrdersTotal();
int cnt;
for(cnt=0;cnt<total;cnt++)
{
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
{
if(OrderType() == OP_BUY || OrderType() == OP_SELL)
{
for(cnt=0;cnt<total;cnt++)
{
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
{
if(OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)
{
OrderDelete(OrderTicket());
}
}
}
}
}
}