Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 302
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ура! Сегодня запустил первого своего советника в MT5!
Наступила нужная на рынке ситуация и советник как давай покупать и покупать!!! Хорошо хоть успел отреагировать. Подскажите, что не правильно в коде. По моей задумке он должен купить только один лот и сразу поставить стоп и тейкпрофит. Как только он что-то купил, переменная Bye_opened должна стать истиной и это не должно позволять совершать последующую сделку, пока не сработают стопы. И еще, как узнать цену последней сделки чтобы от нее ставить стопы?
Но что-то похоже не так я сделал. Укажите, пожалуйста, на мою ошибку.
Тики могут приходить быстрее, чем позиция попадет в список отрытых. Поэтому, Ваша проверка
не сработает какое-то время и за это время пройдет несколько входов. Предполагается, что приведенный кусок кода расположен в обработчике тиков.
закиньте этот скрипт в папку скриптов, откройте в едиторе этот скрипт, компиллируйте
когда биржа откроется, перетащите этот скрипт на график
Всем добрый вечер! Поделитесь кодом для трала. Спасибо.
Пользуйтесь, пожалуйста, поиском по сайту - это не трудно: https://www.mql5.com/ru/search#!keyword=%D1%82%D1%80%D0%B0%D0%BB
Пользуйтесь, пожалуйста, поиском по сайту - это не трудно: https://www.mql5.com/ru/search#!keyword=%D1%82%D1%80%D0%B0%D0%BB
Тики могут приходить быстрее, чем позиция попадет в список отрытых. Поэтому, Ваша проверка
не сработает какое-то время и за это время пройдет несколько входов. Предполагается, что приведенный кусок кода расположен в обработчике тиков.
Дима, код в блоке обработки тиков. А как правильно тогда решить этот затык? В квике у меня такая же проблема была, частенько покупает робот больше чем положено. Я списывал это на его секундную задержку и просто добавлял отдельную переменную, которая меняется при выполнении условия, но и тут тоже были косяки. Иногда заявка отвергалась биржей а переменная уже имела значение "сделка", и робот не торговал.
Как правильно решить задачу в MQL5, чтобы робот покупал заданное количество лотов при нужном условии и не покупал больше чем указанное число лотов, пока не продаст их все, что было им куплено?
Может паузу поставить после покупки, чтобы наверняка дождаться ответа от биржи?
Sleep(1000); //Хватит?
не двигается стоп-лосс
пишет:
--Modify order -> price open:1.3111 BID :1.3121 sl 1.3109
failed modify order #3 buy limit 1.00 at 1.31110 sl: 1.31080 tp: 0.00000 -> 1.31110, sl: 1.31090 tp: 0.00000 [Invalid stops]
--Modify order <- результат:10016
Почему???
не двигается стоп-лосс
пишет:
--Modify order -> price open:1.3111 BID :1.3121 sl 1.3109
failed modify order #3 buy limit 1.00 at 1.31110 sl: 1.31080 tp: 0.00000 -> 1.31110, sl: 1.31090 tp: 0.00000 [Invalid stops]
--Modify order <- результат:10016
Почему???
Нормализация не помогает. Таже фигня соп-лосс не подтягивается
--Create Order -> ASK:1.3121 price:1.3111 sl 1.3106
buy limit 1.00 EURUSD at 1.3111 (1.3121) sl: 1.3106 (1.3118 / 1.3121 / 1.3118)
--Modify order -> price open:1.3111 BID :1.3119 sl 1.3107--Create Order <- результат:10009
order modified [#3 buy limit 1.00 EURUSD at 1.3111]
--Modify order <- результат:10009
--Modify order -> price open:1.3111 BID :1.312 sl 1.3108order modified [#3 buy limit 1.00 EURUSD at 1.3111]
--Modify order <- результат:10009
--Modify order -> price open:1.3111 BID :1.3121 sl 1.3109failed modify order #3 buy limit 1.00 at 1.31110 sl: 1.31080 tp: 0.00000 -> 1.31110, sl: 1.31090 tp: 0.00000 [Invalid stops]
--Modify order <- результат:10016