Советник работает по индикатору CCI. открывает только один ордер бай либо селл, но не может открыть второй пока не закроет первый ордер. Хотелось бы чтобы советник мог открывать два ордера
- Торговые системы: Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Продолжение)
- Помогите доделать советника.Плиззз!!!
- Подскажите что изменить в советнике!!!!
Самый простой вариант:
if(total<1) заменить на if(total<2)
Правда, в этом случае возможно открытие 2-х ордеров в ОДНУ сторону...
owl:
вот как раз таки не надо такой вариант, тотал<2 он открывает 2 ордера в одну сторону. надо чтоб открывал один ордер в одну сторону. Ордера закрываются по трейлингу, но если по трейлингу не закрылось. а по CCI линия дошла до противоположной стороны то чтоб он открыл противоположный ордер так скажем. Пример: открылся бай по CCI и линия пошла вверх и за ордером тащится трелинг. если линия по CCI дойдет до противоположной стороны, то надо чтоб открылся СЕЛЛ ордер. Соответственно, при движении вниз, бай ордер закроется по трелингу( а это уже плюс к депо))))) ), а СЕЛЛ ордер будет так же тянуться до противоположной стороны с трейлингом. Я думаю что такой вариант просто супер!!!!
Работа через 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); }
и уже учитываете наличие конкретного типа ордеров Вашего советника.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь