У меня советник, почему-то не изменяет отложенные ордера( не тралит за ценой)!Посмотрите, может там ошибка какая!
Файлы:
lockzopen.mq4
6 kb
- Помогите. Не открываются сделки на демо, кто знает почему
- Скажите, а можно в МТ4 или в МТ5 напрямую передавать сигналы из внешних приложений?
- [Архив]учитесь зарабатывать селяне![Архив]
В функции модификации не изменяется цена:
if(OrderOpenPrice()-Ask>Point*TralingOrders) { Alert(GetLastError()); OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TralingOrders,OrderTakeProfit(),OrderExpiration(),Red); Alert(GetLastError()); }
Здесь лучше делать continue:
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
И еще - не советую выбирать ордера OrderSelect'ом каждый раз, ваш главный цикл может работать не верно из-за этого.
А как их выбирать? И я исправил ошибку на которую указали, но все равно нес работает!
Файлы:
lockpopen.mq4
6 kb
Выбирать нужно в главном цикле, а в остальные функции просто передавать уже готовые параметры, например:
void TralOrderOtl( int ticket, int type, double op, double sl, double tp, datetime exp )
То есть внутри функции делать переинициализацию не имеет смысла, все нужные значения можно просто получить в виде формальных параметров.
Далее, что это за условия?
if(OrderOpenPrice()-Ask>2*Point*TralingOrders)
Это Аск должен быть выше цены на 2*TralingOrders пунктов, чтобы цена начала двигаться, а не цена открытия выше Аска. Пересмотрите внимательно условия исполнения модификаций.
if ( Ask - op - 2*TralingOrders*Point > -Point/2.0 ) { ...modify... }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь