Блог им. Gens

Подскажите по MQL5

    • 04 апреля 2016, 18:59
    • |
    • Gens
  • Еще
Как написать  код трейлинг стопа?
попытался сравнивать цену открытия сделки и последнего тика после того как выполнилось условия: последний тик — опен прайс>100 к примеру… закрывает сделку на моменте открытия почему то. если у кого то есть код или знает как его написать.помогите плз.  мне нужно хотя бы что бы стоп в 0 переносился.
95
9 комментариев
Ordermodify помоему функция называется… лучше за место тика использовать close… Алгоритм приблизительно следующий — проверить есть ли ордера октрытые (if ordertotal >0 {...), если есть выделить ордер, получить данные по ордеру какие нужны (цена открытия, стоп, профит), проверить актуальность существующих данных, и если нужно что-то менять (стоп, профит или и то и другое), то ордермодифи и все — выход из условия т.е. скобку закрываешь ...}.
avatar
Dmitrij, да ордермодефи есть такая спасибо, попробую.
avatar

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 ордера успешно модифицирована.»);
}
}
}
}
}

avatar
GrayRat, без гарантий. у меня вроде работало на тесте. до реала не дошло.
avatar
GrayRat, спс
avatar
В MQL5 класс есть. Зачем изобретать велосипед?
avatar
Egorax, да в том то дело.я его запускаю, не пашет.
avatar
Gens, все пашет, правильные параметры передавай.
Посмотри пример на MQL5.com, там есть пример работы с классом.
avatar
Egorax, ок.щас гляну.
avatar

Читайте на SMART-LAB:
Фото
МГКЛ: мероприятия недели
На этой неделе МГКЛ примет участие сразу в двух профильных мероприятиях, посвященных рынку капитала. 📍 26 февраля — Конференция IPO –...
Фото
Berkshire Hathaway наращивает вложения в страхование
Инвестиционный фонд, основанный Уорреном Баффетом, Berkshire Hathaway увеличил в 4 кв. 25 года долю в американской страховой фирме Chubb до 8,7%,...
ВТБ победил? Экономика в рецессии? Акции «Сбера» и «Яндекса»
Новая ставка ЦБ — спасение для экономики или отсрочка глубоких проблем? Пока одни ждут перезапуска бизнеса, другие говорят о скрытой рецессии и...
Фото
Длинные ОФЗ: зарабатываем как по ВДО
Б РФ 13 февраля в очередной раз снизил ключевую ставку до 15,5%, тем самым продолжив тренд смягчения ДКП (кумулятивное снижение с июня 2025 г....

теги блога Gens

....все тэги



UPDONW
Новый дизайн