Ребята помогите завершить код. Хочу закрыть ордер не по стоп лоссу а по цене. Т.е. я установил пороги, а они не срабатывают. В чем проблема не понимаю.
pruslan1:
Ребята помогите завершить простой советник. Хочу закрыть ордер не по стоп лоссу а по цене. Т.е. я установил минимальные пороги, а они не срабатывают. Почему..
надо примерно так (пример для закрытия sell) Вместо ........ подставите свой убыток
if (OrderSelect(0,SELECT_BY_POS,MODE_TRADES)) if(OrderType()==OP_SELL && Ask>OrderOpenPrice()+ ........ ) OrderClose(OrderTicket(),OrderLots(),Ask,Sleepage,Yellow);
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ребята помогите завершить простой советник. Хочу закрыть ордер не по стоп лоссу а по цене. Т.е. я установил минимальные пороги, а они не срабатывают. Почему...
extern int R1 =200; //- ограничение на прибыль тейк профитextern int R2 =200; //- ограничение убыток стоплосс
extern double Klot=3; //-Величина проскальзывания
double Lots =0.1;
int t;
int init()
{
}
int start()
{
int a=OrdersTotal();
Alert(a+"-всего ордеров висит");
if(OrdersTotal()==0)
{
int ticket=OrderSend(Symbol (),OP_BUY,Lots,Ask,Klot,Ask-R2*Point,Ask+R1*Point,"Повышение",NULL,Green);
Alert (ticket+"тиккет ордера");
double t =OrderProfit();
Alert(t+" - это значение ордера +/-");
if (t<-10)//- ордер закрылся в убыток, значит закрываем ордер при-5
{
//тут должны закрыть ордер так как он убыточен
bool r= OrderClose (ticket,Lots,NULL,NULL,NULL);
Alert (r+" =1=1 Ордер закрыт с убытком");
}
if ( t>15 )//- прибыль ограничиваем 10 требуется заменить переменной
{
//тут закрываем ордер с прибылью
bool q = OrderClose(ticket,Lots,NULL,NULL,NULL);
Alert (q+" =1=1 Ордер закрыт с прибылью");
}
}
return(0);
}