Можна ли сделать советник, который будет закрывать все ордера при определенном значении общей прибыли?
- Есть ли в свободном доступе торговый робот для мт4
- [Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2.
- [АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3.
Думаю можно....
{ for(int i=1; i<=OrdersTotal(); i++) { if (OrderSelect(i-1,SELECT_BY_POS,MODE_TRADES)==true) { if (OrderProfit()>BB) if(OrderType()==OP_SELL && OrderSymbol()==Symbol() ) { OrderClose(OrderTicket(),OrderLots(),Bid,3); } if(OrderType()==OP_BUY && OrderSymbol()==Symbol() ) { OrderClose(OrderTicket(),OrderLots(),Ask,3); } }return(0); }}
Что сделать что б это работало?
palesandr:
Что сделать что б это работало?
Написать правильно.
Что сделать что б это работало?
Может кто-нибуть помочь?
palesandr:
Что сделать что б это работало?
Что сделать что б это работало?
на сайте одного хорошего человека есть бесплатный советник . возьмите посмотрите как это сделано там. вопросов на эту тему больше не будет.
Спасибо!
palesandr:
Можна ли сделать советник, который будет закрывать все ордера при определенном значении общей прибыли?
Можна ли сделать советник, который будет закрывать все ордера при определенном значении общей прибыли?
Элементарно
extern double ProfitClose //это при какой прибыли всё закрыть extern double pop //количество попыток закрытия int q; if(OrdersProfit()>=ProfitClose) { for (int i=OrdersTotal()-1;i>=0;i--) { bool closed; OrderSelect(i,SELECT_BY_POS,MODE_TRADES); //закрываем покупку if(OrderType()==OP_BUY) { for(q=0;q<pop;q++) { closed=false; closed=OrderClose(OrderTicket(),OrderLots(),Bid,3,Blue); if(closed==true)q=pop; } } //закрываем продажу if(OrderType()==OP_SELL) { for(q=0;q<pop;q++) { closed=false; closed=OrderClose(OrderTicket(),OrderLots(),Ask,3,Red); if(closed==true)q=pop; } } Sleep(1000); //закрываем отложенники, если нужно if(OrderType()>1 ) OrderDelete(OrderTicket()); } } double OrdersProfit() { double rezultSymb=0; string SMB=Symbol(); int i; for (i=OrdersTotal()-1;i>=0;i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true) { if(OrderSymbol()!= SMB) continue; if(OrderType()==OP_BUY || OrderType()==OP_SELL) { rezultSymb+=OrderProfit(); } } } return(rezultSymb); }
Как то так.....
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь