Подскажите по MQL5
- 04 апреля 2016, 18:59
- |
- Gens
Как написать код трейлинг стопа?
попытался сравнивать цену открытия сделки и последнего тика после того как выполнилось условия: последний тик — опен прайс>100 к примеру… закрывает сделку на моменте открытия почему то. если у кого то есть код или знает как его написать.помогите плз. мне нужно хотя бы что бы стоп в 0 переносился.
95
Читайте на SMART-LAB:
Апрель обещает фондовое потепление: календарь мероприятий для инвесторов Норникеля
Традиционно начинаем новый месяц с анонса интересных мероприятий с участием Норникеля. За окном уже настоящая весна, а на фондовом рынке – признаки...
«Эксперт РА» подтвердил кредитный рейтинг ПАО «ЭсЭфАй» на уровне ruAA- со стабильным прогнозом
Что это значит для инвесторов и партнёров
• Финансовая устойчивость. Холдинг сохраняет отсутствие долговой нагрузки, что обеспечивает...
💡 Длинные ОФЗ выигрывают от дорогой нефти
🔹 Гособлигации с долгим сроком до погашения выигрывают не только от снижения ключевой ставки, но и от более высоких цен на нефть. Как именно это...
НМТП: все в рамках прогноза за 2025 год, но осадочек остался и будущее туманно из-за атак БПЛА? Актив для терпеливых инвесторов
НМТП отчитался за 2025 год — в целом все отлично у компании, 40 млрд руб прибыли пробили за год (впервые без учета переоценок)
Сразу...
int TrailingStop=300;
bool res;
if(TrailingStop>0)
{for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
if(OrderType()==OP_BUY)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
res=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Point*TrailingStop,Digits),OrderTakeProfit(),0,Blue);
if(!res) Print(«Ошибка модификации ордера. Код ошибки=»,GetLastError());
else Print(«Цена Stop Loss ордера успешно модифицирована.»);
}
}
}
if(OrderType()==OP_SELL)
{
if(OrderOpenPrice()-Ask>Point*TrailingStop)
{
if(OrderStopLoss()>Ask+Point*TrailingStop)
{
res=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+Point*TrailingStop,Digits),OrderTakeProfit(),0,Blue);
if(!res) Print(«Ошибка модификации ордера. Код ошибки=»,GetLastError());
else Print(«Цена Stop Loss ордера успешно модифицирована.»);
}
}
}
}
}
Посмотри пример на MQL5.com, там есть пример работы с классом.