Как написать код трейлинг стопа?
попытался сравнивать цену открытия сделки и последнего тика после того как выполнилось условия: последний тик — опен прайс>100 к примеру… закрывает сделку на моменте открытия почему то. если у кого то есть код или знает как его написать.помогите плз. мне нужно хотя бы что бы стоп в 0 переносился.
Ordermodify помоему функция называется… лучше за место тика использовать close… Алгоритм приблизительно следующий — проверить есть ли ордера октрытые (if ordertotal >0 {...), если есть выделить ордер, получить данные по ордеру какие нужны (цена открытия, стоп, профит), проверить актуальность существующих данных, и если нужно что-то менять (стоп, профит или и то и другое), то ордермодифи и все — выход из условия т.е. скобку закрываешь ...}.
Типа 1,3 выручки стоит компания. Икс5 покупать. Они стоят 0,18 выручки. И темпы роста Икс5 постепенно сравниваются с ВИ.
И Икс5 — лидер рынка и национальный чемпион. А ВИ не лидер рынка. Леруа лидер...
Максим Пелихов,
Голову ломал на эту тему,
но общие вопросы-
— Сколько заработает компания в 2024-2027 нет ответа,
— Когда точно будут дивы нет ответа (дядя Вова подумает и скажет, гуляй се...
ИМ, Чем Сбер не нравится? У них можно получать доп доход от акций, которые брокер сдает в репо другим участникам. Подобное у других брокеров не слышал даже.
Вадим Рахаев, ну, переподписка была, значит нормальный ценник же
А в целом на ритейл забил, негативная у меня с ним история:
— была идея в дойной корове ДМ, но дойную корову сначала дояр-мажо...
Lucia f, отскок будет сразу какой-то, если кол смогут сделать, но ближайшие годы ниже 50 с высокой вероятностью будут торговаться. Все там тратить нет смысла наверное. Вдруг правительство приостано...
Норникель дивиденды. И про совет директоров. Акционеры «Норникеля» решили не выплачивать дивиденды за 2023 год
Акционеры «Норильского никеля» (MOEX: GMKN) на общем собрании решили не распределять ит...
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, там есть пример работы с классом.