помогите со скриптом либо советником закрывающим ордера не по тп ,сл а по % указанному от депо ..( в случае импульса_ ) с возможностью менять условия процента (но при этом с возможностью установки стоп лосса и тейка .может кто знает такой? спасибо
- Установка отложенных ордеров - Торговля - MetaTrader 5 для iPhone
- Политика исполнения - Принципы трейдинга - Торговля - MetaTrader 5 для Android
- Политика исполнения - Принципы трейдинга - Торговля - MetaTrader 5 для iPhone
для какого терминала? мт4 мт5?
мт4
спс брат ))
sss_1393:
помогите со скриптом либо советником закрывающим ордера не по тп ,сл а по % указанному от депо ..( в случае импульса_ ) с возможностью менять условия процента (но при этом с возможностью установки стоп лосса и тейка .может кто знает такой? спасибо
помогите со скриптом либо советником закрывающим ордера не по тп ,сл а по % указанному от депо ..( в случае импульса_ ) с возможностью менять условия процента (но при этом с возможностью установки стоп лосса и тейка .может кто знает такой? спасибо
Может поможет. Особо не проверял
//+------------------------------------------------------------------+ //| EA_UTIL | //| Copyright 2015, Vinin | //| http://vinin.ucoz.ru | //+------------------------------------------------------------------+ #property strict input double prProfit=2; // Прибыль в процентах input double prLoss=10; // Просадка в процентах input int prClose=100; // Доля для закрытия только профитных сделок, 0 или 100 - закрывать полностью input int Slippage=15; double profit, loss; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { profit=prProfit/100.0; loss=-prLoss/100.0; return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { double CurProfit=CalcProfit(); if (CurProfit>=profit && profit>0) Order_Close(prClose); if (CurProfit<=loss && loss<0) Order_Close(); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double CalcProfit() { double Res=0, Sum=0; for(int pos=0; pos<OrdersTotal();pos++) if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) Sum+=OrderProfit()+OrderCommission()+OrderSwap(); Res=Sum/(AccountEquity()-Sum); return(Res); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void Order_Close(double pr=0) { for (int i=OrdersTotal()-1;i>=0;i--) { if (!OrderSelect(i, SELECT_BY_POS)) continue; if (OrderSymbol()!=Symbol()) continue; double lot=OrderLots(); if (pr>0 && pr<100) lot =CalcLots(OrderLots(), pr); bool Res=OrderClose(OrderTicket(),lot,OrderClosePrice(),Slippage); if (Res) Print("Close order"); else Print("Order close error ",GetLastError()); } } double CalcLots(double lot, double pr=0) { double Res=lot; double LotMin=MarketInfo(Symbol(),MODE_MINLOT); double LotMax=MarketInfo(Symbol(),MODE_MAXLOT); double LotStep=MarketInfo(Symbol(),MODE_LOTSTEP); Res=lot-MathRound(lot*pr/100.0/LotStep)*LotStep; if (lot-Res<LotMin) Res=lot-LotMin; return(Res); }
Файлы:
EA_UTIL.mq4
4 kb
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь