[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 502
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
правка | удалить Помогите найти ф-цию для выставления ордеров, учитывающая проскальзывание и без 130-134 ошибок.
Свой вариант покажите.
Print(GetLastError());
при любых значениях SL и TP выдает 134, часто вообще не ставит ордер.
открывает при условии if(NumberOfOrders(NULL)==0)
в тестере постоянно вместо одного ордера выставляет пачку, почему понять не могу, т.е. он дожен ставить ордер если не открыты другие на этой паре
NumderOrder=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-SL*Point,Ask+TP*Point,"BUY",0,0,Red);
Print(GetLastError());
при любых значениях SL и TP выдает 134, часто вообще не ставит ордер.
открывает при условии if(NumberOfOrders(NULL)==0)
в тестере постоянно вместо одного ордера выставляет пачку, почему понять не могу, т.е. он дожен ставить ордер если не открыты другие на этой паре
ERR_NOT_ENOUGH_MONEY 134 Недостаточно денег для совершения операции
Доброго времени суток. Делаю советник, в нем открывается 2 ордера в определенном условии (образно скажем так: при повышении и понижении цены). При повышении открывается 2, когда цена идет вниз, то закрываются эти 2 и открываются новые 2. Один ордер идет без тейк профита, второй с тейком. Проблема со вторым. Во время, когда приходит час его смерти, он не выбирается, вот код для удаления оредров:
Такой же и для OP_BUY. Сравниваю комментарии, чтобы знать точно, что это ордер открытый моим советником, а не ручками или другим советником. Вот проблема с OrderSelect, он просто не хочет выбирать ордер с тейк профитом. Когда доходит a до его номера, то OrderSelect возвращает false. В журнале тестера ошибки нет, GetLastError тоже говорит, что все в порядке (возвращает 0). Почему он не выбирается? Почему нет ошибки, если он не смог его выбрать? Всем спасибо.
условие
проверяется на каждой итерации.
подумайте - чему будет равно а, и чему OrdersTotal()-1 - после первой итерации
OrderClose(OrderTicket(), NormalizeDouble(OrderLots(), Digits), NormalizeDouble(Ask, Digits), 0);
Solree:
NormalizeDouble(OrderLots(), Digits)
надо учитывать допустимый шаг изменения лота.
например, если шаг 0.01, то нормализация на 2
а если шаг 0.1, то нормализация на 1