Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Выведите свои переменные до и внутри операторов if и выясните причину.
Хорошо, спасибо, я сделаю это и изучу этот вопрос подробнее. Я также нашел этот фрагмент кода, который меня заинтриговал, потому что SL и TP отделены от OrderSend. Я изучу и это.
Привет всем
Я исправил большинство своих проблем и советник отлично работает в тестере, но у меня все еще есть проблемы с OrdersTotal. В демо-режиме он иногда открывает оба отложенных ордера Stop, но чаще всего только buy или sell. Я хочу, чтобы оба отложенных ордера открывались одновременно (в течение нескольких секунд), но только если нет других ордеров или отложенных ордеров. Я думаю, что происходит так: иногда он открывает оба отложенных ордера, прежде чем успевает подсчитать количество ордеров, а иногда он действительно понимает, что отложенный ордер отправлен, и не открывает другой. Я думал, что если я помещу ордера в фигурные скобки, то он выполнит оба, когда условие if будет выполнено. Я также теперь знаю, что он будет продолжать открывать отложенные ордера, когда я их удалю, до тех пор, пока формируется последняя свеча, т.е. пока переменная Time совпадает со свечой Time[0], тики не имеют значения.
Вот этот кусочек кода:
Есть ли лучший или более простой способ сделать это? Спасибо.
Привет всем
Я исправил большинство своих проблем и советник отлично работает в тестере, но у меня все еще есть проблемы с OrdersTotal. В демо-режиме он иногда открывает оба отложенных ордера Stop, но чаще всего только buy или sell. Я хочу, чтобы оба отложенных ордера открывались одновременно (в течение нескольких секунд), но только если нет других ордеров или отложенных ордеров. Я думаю, что происходит так: иногда он открывает оба отложенных ордера, прежде чем успевает подсчитать количество ордеров, а иногда он действительно понимает, что отложенный ордер отправлен, и не открывает другой. Я думал, что если я помещу ордера в фигурные скобки, то он выполнит оба, когда условие if будет выполнено. Я также теперь знаю, что он будет продолжать открывать отложенные ордера, когда я их удалю, до тех пор, пока формируется последняя свеча, т.е. пока переменная Time совпадает со свечой Time[0], тики не имеют значения.
Вот этот кусочек кода:
Есть ли лучший или более простой способ сделать это? Спасибо.
Проверяете ли вы значение buystop_ticket и sellstop_ticket? Если открыт только один, второй никогда не будет открыт (если вы не удалите первый вручную).
Спасибо за ответ. На самом деле оба ордера buystop и sellstop открываются примерно в 50% случаев. В остальных 50% случаев отправляется либо buy, либо sell. Но я кое-что выяснил. Я спросил о последней ошибке, и в тех случаях, когда оба ордера отправляются, ошибок нет, но когда открывается только один, я получаю ошибку 130 на тот ордер, который не открылся. Таким образом, похоже, что мои стопы недействительны, но я не знаю почему. Вот код для SL:
Также я добавил функцию Print. Это то, что вы имели в виду, говоря "Вы проверяете значение buystop_ticket и sellstop_ticket? "? Она возвращает два значения, а именно:
2016.03.24 17:11:22.532 News_v10 GBPUSD,M1: Buystop ticket =-1
2016.03.24 17:11:23.227 News_v10 GBPUSD,M1: Buystop ticket =49644335
Когда ECN брокеры начали свою работу, OrderSend не работал при установленных SL/TP. Большинство из них исправили это с билда 600.
Спасибо за ответ. На самом деле оба ордера buystop и sellstop открываются примерно в 50% случаев. В остальных 50% случаев отправляется либо buy, либо sell. Но я кое-что выяснил. Я спросил о последней ошибке, и в тех случаях, когда оба ордера отправляются, ошибок нет, но когда открывается только один, я получаю ошибку 130 на тот ордер, который не открылся. Таким образом, похоже, что мои стопы недействительны, но я не знаю почему. Вот код для SL:
Также я добавил функцию Print. Это то, что вы имели в виду, говоря "Вы проверяете значение buystop_ticket и sellstop_ticket? "? Она возвращает два значения, а именно:
2016.03.24 17:11:22.532 News_v10 GBPUSD,M1: Buystop ticket =-1
2016.03.24 17:11:23.227 News_v10 GBPUSD,M1: Buystop ticket =49644335
Вам нужно добавить RefreshRates() между двумя OrderSend().