hoz:
Вот моя функция OrderSend:
Советник мне выдавал ошибку OrderSend error 3 пhи установке отложенных ордеров тикам образом, до тех пор, пока я не поставил значение expiration в 0 в параметре функции.
Но мне нужно чтобы значение expiration было 86400, а не 0. Что это за глюк? Если там поставить 0, то ошибки нет, и ордера устанавливаются в нужных местах.
expiration это время истечения (дата истечения), а не через сколько времени.
Соответственно со сроком истечения в 1970-м году ордер и не ставится
Тогда как мне установить время истечения через N-секунд? Например, нужно, чтобы ордер закрылся через 12 часов. Как мне быть?
hoz:
Тогда как мне установить время истечения через N-секунд? Например, нужно, чтобы ордер закрылся через 12 часов. Как мне быть?
Тогда как мне установить время истечения через N-секунд? Например, нужно, чтобы ордер закрылся через 12 часов. Как мне быть?
просто прибавить N секунд к текущему времени.
По идее
TimeCurrent( ) +N;
должно работать.
Да, я сегодня столкнулся с такой же проблемой, то ошибка №3, то ошибка № 130. Перепробовал много что и пришел к мнению, что возникает она потому, что некоторые переменные, которые несут в себе параметры текущей цены не обнуляются прежде чем проинициализироваться и по этому в функцию попадают старые параметры, которые по идее, пока компилятор проверяет код уже были изменены на рынке(хоть компилятор MQL и шустрый(быстрый)), и вот по этому, лично у меня возникала ошибка, что не правильные стопы, или не правильные параметры функции. У меня некоторые переменные были объявлены глобально, так как мне надо было отложенные ордера выставлять в одном и том же месте цены, а по условию, если допустим на продажу Ask меньше этой цены, то выставляем отложенный ордер по этой цене, а если Ask больше этой цены, то выставляем ордер от текущей цены Ask на покупку.И вот переменная, куда у меня присваивались все эти расчеты нормализации и которую я потом передавал в функцию OrderSend не обнулялась прежде чем должны были произойти расчеты, а была объявлена глобально и я ее объявил локально в самом условии и вроде как ошибка пропала.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот моя функция OrderSend:
Советник мне выдавал ошибку OrderSend error 3 пhи установке отложенных ордеров тикам образом, до тех пор, пока я не поставил значение expiration в 0 в параметре функции.
Но мне нужно чтобы значение expiration было 86400, а не 0. Что это за глюк? Если там поставить 0, то ошибки нет, и ордера устанавливаются в нужных местах.