Добрый день. Вопросик по закрытию ордера на безубыточном уровне : Допустим купил советник лот,выставил TP и SL до тейка чуточку не дотянул и полетел вниз, надо остановить его на уровне покупки ну и плюс спред. Наваял кодик (точнее изменил) но что-то он не пашет огромная прозьба указать на ошибку:)))
if(OrderType()==OP_BUY)
{
if(Bid>OrderOpenPrice( ) ) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
break;
}
if(OrderType()==OP_SELL)
{
if(Ask<OrderOpenPrice( )) OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
break;
}
И еще до кучи- как в момент активного роста или падения фиксировать прибыль на пике волны не используя тейк как на рисунке
Заранее благодарен
https://www.mql5.com/go?link=http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=61 - советник устанавливающий позиции в безубыток
https://www.mql5.com/go?link=http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=61 - советник устанавливающий позиции в безубыток
Не совсем то,что нужно я с этим куском кода заблудился, не дошел график до тейка развернулся варианта 2 либо лось либо закрыть на покупке код надо подправить.
код у вас верный. но этого мало, чтоб сказать что у вас не так. покажите его весь, от начала с OrderSelect . Только воспользуйтесь кнопкой "SRC".
вариантов решения множество, в зависимости от конкретной системы.
как делаю я : определяю (опытным путем для каждой пары и каждого таймфрейма) минимальный уровень, при котором стоплосс должен перейти в безубыток, скажем 30 пунктов, потом пишем:
extern int breakeven_level = 30;
if(OrderSelect(ordticket,SELECT_BY_TICKET))
{
if(OrderType() == OP_BUY)
{
if((Close[0] - OrderOpenPrice()) / Point >= breakeven_level)
{
OrderModify(ordticket,OrderOpenPrice(),OrderOpenPrice()+1*Point,OrderTakeProfit(),0,0);
...
}
}
}
в данном случае стоплосс перемещается на уровень открытия ордера плюс один пункт
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день. Вопросик по закрытию ордера на безубыточном уровне : Допустим купил советник лот,выставил TP и SL до тейка чуточку не дотянул и полетел вниз, надо остановить его на уровне покупки ну и плюс спред. Наваял кодик (точнее изменил) но что-то он не пашет огромная прозьба указать на ошибку:)))
if(OrderType()==OP_BUY)
{
if(Bid>OrderOpenPrice( ) ) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
break;
}
if(OrderType()==OP_SELL)
{
if(Ask<OrderOpenPrice( )) OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
break;
}
И еще до кучи- как в момент активного роста или падения фиксировать прибыль на пике волны не используя тейк как на рисунке
Заранее благодарен