Помогите доделать советника
- Торговые системы: Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Продолжение)
- Помогите доделать советника.Плиззз!!!
- Подскажите что изменить в советнике!!!!
Самый простой вариант:
if(total<1) заменить на if(total<2)
Правда, в этом случае возможно открытие 2-х ордеров в ОДНУ сторону...
Работа через total=OrdersTotal() - без Магика, рано или поздно станет не удобной. Вы будете на одном счету пользоваться только одним советником??? И в ручную счётом не попользуетесь, так как Ваш советник любой ордер будет учитывать в своих расчётах... ;)
Хоты усматриваю в Вашем коде упоминание об идентиффикаторе (magic):
ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,"CCI_TRADER",magic,0,Green);
Тогда добавляете простенькую функцию подсчёта ордеров советника
int MyOrdersTotal (int MG, int cmd) // процедура подсчета всех ордеров данного эксперта по данному инструменту { int l_int, cnt = 0; int total = OrdersTotal(); for (l_int = total - 1; l_int >= 0; cnt--) { OrderSelect (l_int, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber() == MG && OrderSymbol() == Symbol()) { // Учитываем или конкретно BUY-SELL или все if (OrderType() == cmd || OrderType() == -1) {cnt++;} } } return (cnt); }
и уже учитываете наличие конкретного типа ордеров Вашего советника.