Помогите пожалуйста. Какие-то ошибки в советнике - страница 3

 
Можете ли вы подсказать чего именно объем и какой из параметров может быть неверным?..
 
qaliti:
Можете ли вы подсказать чего именно объем и какой из параметров может быть неверным?..
ERR_INVALID_TRADE_VOLUME 131 Неправильный объем

Лот неверно подсчитан

 
ERR_INVALID_FUNCTION_PARAMVALUE 4051 Недопустимое значение параметра функции

при закрытии неверный параметр в функции OrderClose() - ищите

 

Вот, что у вас:

OrderClose(ticket, OrderLots(), Bid, 1000);

По Bid закрывается позиция Buy - вы уверены, что выбран именно Buy? А почему не Sell ? Где проверка?

 

А если более полно взглянуть:

 OrderSelect(ticket, SELECT_BY_TICKET);
 OrderClose(ticket, OrderLots(), Bid, 1000);

Выбрали по тикету. Где проверка на то, что он выбран из списка рыночных ордеров и позиций? Может он уже закрыт. А вы его опять закрывать пытаетесь.

 
Где вообще проверка на то, что это позиция, а не отложенный ордер?
 
OrderClose(ticket, OrderLots(), Bid, 1000);

второй параметр всегда верен, как и четвертый... третий тоже, т.к. у меня два закрытия и делятся они на самом первом условии if (trend == true), так что в принципе остается только первый параметр под вопросом... у меня всегда находится активным только 1 ордер, и находится он в переменной ticket, если этот ордер закрывается, то открывается новый в другую сторону.. все предельно просто.... если лот неправильный, то после закрытия новый ордер не сможет открыться с неправильным лотом, а следовательно и при закрытии его будут ошибка, т.к. он и не открылся.. получается если исправить ошибку с лотом, то и эта сама исчезнет...

но каким образом лот спускается до ненормальных параметров...

 
qaliti:

второй параметр всегда верен, как и четвертый... третий тоже, т.к. у меня два закрытия и делятся они на самом первом условии if (trend == true), так что в принципе остается только первый параметр под вопросом... у меня всегда находится активным только 1 ордер, и находится он в переменной ticket, если этот ордер закрывается, то открывается новый в другую сторону.. все предельно просто.... если лот неправильный, то после закрытия новый ордер не сможет открыться с неправильным лотом, а следовательно и при закрытии его будут ошибка, т.к. он и не открылся.. получается если исправить ошибку с лотом, то и эта сама исчезнет...

но каким образом лот спускается до ненормальных параметров...


А как Вы его проверяете на нормальность?
 
Vinin:

А как Вы его проверяете на нормальность?

никак, но он и не должен спускать до ненормальных при работе советника
 

У меня самая обычная и глупая идея торговли. Она точно не будет работать, это просто невозможно, но я пока не знаю почему, поэтому хочу это проверить )

Идея в том что бы торговать по тренду и все... К примеру если график растет то торговать на рост, если падает то на падание.. а изменение направления определять по зарание заданному отклонению пунктов в обратную сторону торгуемого нами тренда, в данной программе это переменная stint, её значение я потом определю, протестируя советника при всевозможных значениях, то есть от 0.0001 и думаю где-то до 0.1000

Причина обращения: