Доработать закрывашку
В моей ТС баланс всегда выше эквити, а эквити со временем выше начального эквити. Хотел сделать закрывашку всех позиций, но не получилось, функции StartEquity нет. Я сделал из нее переменную, но как-то не то
Попробуйте утак:
if(AccountEquity()>StartEquity * Equity_percent_from_Start_Equity/100 ) { int total=OrdersTotal(); for(int i=total-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS)==true) { int type=OrderType(); bool result=false; while(!result) { if(OrderType() == OP_BUY) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,clrRed); if(OrderType() == OP_SELL) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,clrRed); if(OrdersTotal() == 0) { result=true; break;//на всякий случай return;//на всякий случай } } } } } return(0); } //+-------------
Попробуйте утак:
return value of 'OrderClose' should be checked предупреждение выдает
return(0); так лучше
return value of 'OrderClose' should be checked предупреждение выдает
хрен с ним, пусть выдает. Это не ошибка. Если прям припекает, то исправьте
Попробуйте утак:
Сразу закрывает все позиции, как только устанавливаю на график. Даже не важно какие параметры ставлю
Сразу закрывает все позиции, как только устанавливаю на график. Даже не важно какие параметры ставлю
Все правильною Закрывашка закрывает. Смотрите в сторону эту вот:
if(AccountEquity()>StartEquity * Equity_percent_from_Start_Equity/100 ) { }
тут что-то не правильно у Вас вычисляет. Мне кажется, тут вы сравниваете не сравнимое. Эквити с эквити+. Может баланс надо сравнивать с эквити?
Все правильною Закрывашка закрывает. Смотрите в сторону эту вот:
тут что-то не правильно у Вас вычисляет. Мне кажется, тут вы сравниваете не сравнимое. Эквити с эквити+. Может баланс надо сравнивать с эквити?
В моей ТС баланс всегда выше эквити, а эквити со временем выше начального эквити. Хотел сделать закрывашку всех позиций, но не получилось, функции StartEquity нет. Я сделал из нее переменную, но как-то не то