Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 550
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В конце кода еще Alert(result.retcode);
в общем журнале:
2018.05.14 12:08:16.984 Scripts script ЛИМИТ (Si-6.18,M15) loaded successfully
2018.05.14 12:08:17.187 Trades '992940': buy limit 3.00 Si-6.18 at 62091 (62092) sl: 61821 tp: 62905
2018.05.14 12:08:17.484 Trades '992940': accepted buy limit 3.00 Si-6.18 at 62091 (62092) sl: 61821 tp: 62905
2018.05.14 12:08:17.500 Trades '992940': buy limit 3.00 Si-6.18 at 62091 (62092) sl: 61821 tp: 62905 placed for execution
2018.05.14 12:08:17.546 Trades '992940': order #13235300 buy limit 3.00 / 3.00 Si-6.18 at 62091 done in 337.532 ms
2018.05.14 12:08:17.578 Scripts script ЛИМИТ (Si-6.18,M15) removed
В графе Эксперты: 2018.05.14 12:08:17.578 ЛИМИТ (Si-6.18,M15) Alert: 10009, больше ничего нет
Ну вот как Вам помочь? Сначала Вы пишете, что не выставляется Sell Limit, приводите выдержки из лога. Теперь же речь идет уже об ордере Buy Limit. Выходит, что проблема какая-то плавающая. Кроме того, ни разу не привели стейтмента. Вы ведь утверждаете, что в реальности ордера не видно. А стейтмент может помочь в прояснении ситуации.
Ну вот как Вам помочь? Сначала Вы пишете, что не выставляется Sell Limit, приводите выдержки из лога. Теперь же речь идет уже об ордере Buy Limit. Выходит, что проблема какая-то плавающая. Кроме того, ни разу не привели стейтмента. Вы ведь утверждаете, что в реальности ордера не видно. А стейтмент может помочь в прояснении ситуации.
Не выставляется ни Sell Limit ни Buy Limit, Alert(result.retcode) возвращает 10009. Где взять этот "стейтмент", что нужно сделать?
Запустил этот код у себя. Заметьте, что на небиржевых символах будете получать ошибку деления на 0, т. к. инициализирующая маржа там отсутствует.
Там, где удалось запустить, пришлось добавить проверку объема. Иначе объем оказывался нулевым:
После этого ордер устанавливается успешно. Также заметьте, что срабатывает он достаточно быстро - близкое расположение к цене. Поэтому сам ордер Вы можете не успеть заметить. Он превращается в позицию или присоединяется к ней, если тип счета - неттинг.
Не выставляется ни Sell Limit ни Buy Limit, Alert(result.retcode) возвращает 10009. Где взять этот "стейтмент", что нужно сделать?
Вкладка "История" окна "Инструменты". В контекстном меню выберите "Ордера". Затем также из контекстного меню "Отчет" - "HTML". Но, наверное, сами сможете увидеть причину отсутствия ордера: его состояние будет помечено "filled".
Нашел скриптик у себя за 2009 год, а там сейчас компиляция с предупреждением:'M' - unrecognized character escape sequence 1.mq4 66 37
Подскажите, что там в строке подправить, что б корректно компилилось
Запустил этот код у себя. Заметьте, что на небиржевых символах будете получать ошибку деления на 0, т. к. инициализирующая маржа там отсутствует.
Там, где удалось запустить, пришлось добавить проверку объема. Иначе объем оказывался нулевым:
После этого ордер устанавливается успешно. Также заметьте, что срабатывает он достаточно быстро - близкое расположение к цене. Поэтому сам ордер Вы можете не успеть заметить. Он превращается в позицию или присоединяется к ней, если тип счета - неттинг.
Нашел скриптик у себя за 2009 год, а там сейчас компиляция с предупреждением:'M' - unrecognized character escape sequence 1.mq4 66 37
Подскажите, что там в строке подправить, что б корректно компилилось
Двойной обратный слеш поставьте перед MQL4