Serg-s-n писал(а)>> Добрый вечер всем! Кто подскажет как при закрытии ордера выделить самый первый ордер и его закрыть?
ПРОШУ ПОМОЩИ!!!
Как уже правильно сказали, нужно найти ордер с самым ранним временем открытия, получить его ticket, выбрать ордер с таким ticket, и закрыть его.
Вот пример, как найти нужный Вам ордер:
int ticket =-1;datetime MinDateTime =0;for(int i=1; i<=OrdersTotal(); i++)// Цикл по всем ордерамif(OrderSelect(i-1, SELECT_BY_POS)==true)// Если есть следующий {if( ticket <0||OrderOpenTime()< MinDateTime )// Его дата меньше, чем дата предыдущего найденного?{if(OrderType()==OP_BUY)// Это ордер на покупку?{
ticket =OrderTicket();// Запомнить его ticket.
MinDateTime =OrderOpenTime();}}}}// Конец тела цикла
После того, как найден тикет нужного вам ордера, его нужно выбрать функцией OrderSelect(ticket, SELECT_BY_TICKET), и закрыть OrderClose() с нужными Вам параметрами.
Имеем советника, который открывает позиции с TP и SL. Как вычислить, сколько на данный момент слитых подряд по SL позиций с момента последнего успешного ордера?
Решите пожалуйста проблему. При вызове функции MarketInfo("EURUSD", MODE_STOPLEVEL) - минимально допустимый уровень стоп-лосса/тейк-профита в пунктах, она выдает например 10 пунктов, а в терминале при установки sl и tp высвечиваются разные
цифры например sl=30, tp=10. Как же быть, как их разделить в вызове функции.
Решите пожалуйста проблему. При вызове функции MarketInfo("EURUSD", MODE_STOPLEVEL) - минимально допустимый уровень стоп-лосса/тейк-профита в пунктах, она выдает например 10 пунктов, а в терминале при установки sl и tp высвечиваются разные
цифры например sl=30, tp=10. Как же быть, как их разделить в вызове функции.
Уровень минимальных стопов для SL и TP один и тот же, не может она тебе показывать разных значений, иначе дц втопку )
Добрый вечер всем! Кто подскажет как при закрытии ордера выделить самый первый ордер и его закрыть?
ПРОШУ ПОМОЩИ!!!
Найти позицию с минимальным временем открытия.
Добрый вечер всем! Кто подскажет как при закрытии ордера выделить самый первый ордер и его закрыть?
ПРОШУ ПОМОЩИ!!!
Как уже правильно сказали, нужно найти ордер с самым ранним временем открытия, получить его ticket, выбрать ордер с таким ticket, и закрыть его.
Вот пример, как найти нужный Вам ордер:
После того, как найден тикет нужного вам ордера, его нужно выбрать функцией OrderSelect(ticket, SELECT_BY_TICKET), и закрыть OrderClose() с нужными Вам параметрами.
1. OrdersHistoryTotal
2. Сортируем закрытые ордера по времени
3. Определяем у последних подряд идущие OrderProfit<0
1. OrdersHistoryTotal
2. Сортируем закрытые ордера по времени
3. Определяем у последних подряд идущие OrderProfit<0
СпасибоДобрый день.
Решите пожалуйста проблему. При вызове функции MarketInfo("EURUSD", MODE_STOPLEVEL) - минимально допустимый уровень стоп-лосса/тейк-профита в пунктах, она выдает например 10 пунктов, а в терминале при установки sl и tp высвечиваются разные
цифры например sl=30, tp=10. Как же быть, как их разделить в вызове функции.
Добрый день.
Решите пожалуйста проблему. При вызове функции MarketInfo("EURUSD", MODE_STOPLEVEL) - минимально допустимый уровень стоп-лосса/тейк-профита в пунктах, она выдает например 10 пунктов, а в терминале при установки sl и tp высвечиваются разные
цифры например sl=30, tp=10. Как же быть, как их разделить в вызове функции.
Уровень минимальных стопов для SL и TP один и тот же, не может она тебе показывать разных значений, иначе дц втопку )
Уровень минимальных стопов для SL и TP один и тот же, не может она тебе показывать разных значений, иначе дц втопку )
Я тоже так думал, но вот в ДЦ MasterForex, SL и TP разные. Есть еще какие нибудь мысли по данному вопросу?
Я тоже так думал, но вот в ДЦ MasterForex, SL и TP разные. Есть еще какие нибудь мысли по данному вопросу?
а как ты определил, что разные?
а как ты определил, что разные?
Когда я искал ошибку каждое действие заAlertил, и получалось TP проходит при модификации, а SL нет слишком близко.