Альтернатива TP
Можна ли сделать советник, который будет закрывать все ордера при определенном значении общей прибыли?
- Есть ли в свободном доступе торговый робот для мт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); }
Как то так.....