Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1178
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
речь про тестер или онлайн?
если онлайн - смотреть код, где то событие перемещения не проброшено нормально. Панелей кстати на сайте только библиотек пять разных, вы про какую?
А в тестере - вроде бы никак, да и зачем.
речь про тестер или онлайн?
если онлайн - смотреть код, где то событие перемещения не проброшено нормально. Панелей кстати на сайте только библиотек пять разных, вы про какую?
А в тестере - вроде бы никак, да и зачем.
Речь про онлайн. В тестере это и в правду мне не нужно. На счет библиотек не могу Вам ответить, я в программировании полный чайник. Я просто взял готовый код кнопки из справочника MQL5.
Команды перемещения кнопки вставлял в функцию OnTick, чтобы можно было в тестере пользоваться. Видимо поэтому и обновление положения кнопки происходит на следующем тике. Не понимаю как заставить кнопки двигаться вместе с фоном.
После того, как отослали команды перемещения ВСЕМ объектам панели делайте ChartRedraw()
Просто вставлял ее после каждого условия if.
В итоге выяснил, что функция:
успешно выбирает ордер для дальнейшей работы, а если Print("Ордер Выбран!"); вставить после этого кода:
то происходит ошибка:
2020.06.17 01:38:24.136 2020.01.02 07:40:00 failed modify order #2 buy stop 0.1 EURUSD_i at 1.12086 sl: 1.12023 tp: 1.12275 -> 1.00000, sl: 1.00000 tp: 1.00000 [Invalid price]
2020.06.17 01:38:24.136 2020.01.02 07:40:00 CTrade::OrderSend: modify #2 at 1.00000 (sl: 1.00000 tp: 1.00000) [invalid price]
Этот же код использую в другом советнике для автоматической торговли (с разницей лишь в отсутствии:
) и никаких проблем нет. Ордера открываются, модифицируются без вопросов.
Вот сам код:
Подскажите пожалуйста, в чем моя ошибка?
Речь про онлайн. В тестере это и в правду мне не нужно. На счет библиотек не могу Вам ответить, я в программировании полный чайник. Я просто взял готовый код кнопки из справочника MQL5.
Команды перемещения кнопки вставлял в функцию OnTick, чтобы можно было в тестере пользоваться. Видимо поэтому и обновление положения кнопки происходит на следующем тике. Не понимаю как заставить кнопки двигаться вместе с фоном.
А как интересно вы определили что именно на следующем, а не на том?)
Помогите пожалуйста разобраться. Есть код для торговой панели на открытие отложенного ордера Buy Stop с последующим трейлингом, если ордер не срабатывает. Ордер открывается, но модификация ордера не происходит, в журнале никаких ошибок не появляется и попыток модифицировать ордер тоже нет. Попробовал отследить через журнал на каком этапе происходит ошибка, с помощью функции:
Просто вставлял ее после каждого условия if.
В итоге выяснил, что функция:
успешно выбирает ордер для дальнейшей работы, а если Print("Ордер Выбран!"); вставить после этого кода:
то происходит ошибка:
2020.06.17 01:38:24.136 2020.01.02 07:40:00 failed modify order #2 buy stop 0.1 EURUSD_i at 1.12086 sl: 1.12023 tp: 1.12275 -> 1.00000, sl: 1.00000 tp: 1.00000 [Invalid price]
2020.06.17 01:38:24.136 2020.01.02 07:40:00 CTrade::OrderSend: modify #2 at 1.00000 (sl: 1.00000 tp: 1.00000) [invalid price]
Этот же код использую в другом советнике для автоматической торговли (с разницей лишь в отсутствии:
) и никаких проблем нет. Ордера открываются, модифицируются без вопросов.
Вот сам код:
Подскажите пожалуйста, в чем моя ошибка?
Очевидно не работает Нормалайз нормально. округляет до единицы. Распринтуйте asymbol.Digits() asymbol.TickSize(),.. Point() проверьте .
Всем доброго времени суток. Столкнулся с вот такой проблемой при обращении советника к DLL:
Cannot load 'C:\....\shablon.dll' [487]
Вроде как ошибка 487 означает: ERROR_INVALID_ADDRESS, но путь к библиотеке верный. Собственно, я эту dll уже во все папки положил, не помогает.
В чем может быть дело? Буду благодарен за помощь.
P.S. изначально эта dll предназначалась для 32 битной винды и в mt4*86 работала. Я ее перекомпилировал на 64 бит, ставлю теперь на mt5*64, и вот такие проблемы.
А как интересно вы определили что именно на следующем, а не на том?)
Пока новый тик не пришел, перемещение кнопок не происходит. Это я глазами вижу. Как только цена изменилась, кнопки переместились.
Хотя сегодня даже на новом тике кнопки перестали перерисовываться, хотя я ничего не менял. Двигается только фон.Очевидно не работает Нормалайз нормально. округляет до единицы. Распринтуйте asymbol.Digits() asymbol.TickSize(),.. Point() проверьте .
Когда делаю вот такой запрос:
получаю вот такой результат:
2020.06.17 13:49:53.270 2020.01.02 06:50:00 Symbol EURUSD_i Digits 5 Point 1e-05
Когда делаю вот такой запрос:
получаю вот такой результат:
2020.06.17 13:51:58.787 2020.01.02 06:45:00 Symbol EURUSD_i Digits 0 Point 0.0
При этом хочу заметить, что если я не вставляю функцию Print, то вообще никаких ошибок не происходит, ордер даже не пытается модифицироваться. Как будто бы CTrade не видит мой ордер.
Проверка на символ и мэджик номер не проходит:
Результат:
2020.06.17 14:37:38.147 2020.01.02 06:50:00 Symbol Magic 0 Ticket 2
Мэджик должен быть 12345, символ евро доллар.
Почему не удается получить символ и меджик?
Если строку:
aorder.Symbol()==asymbol.Name()
поменять на
и убрать проверку по мэджик номеру, то появляются проблемы с ценами
2020.06.17 01:38:24.136 2020.01.02 07:40:00 failed modify order #2 buy stop 0.1 EURUSD_i at 1.12086 sl: 1.12023 tp: 1.12275 -> 1.00000, sl: 1.00000 tp: 1.00000 [Invalid price]
2020.06.17 01:38:24.136 2020.01.02 07:40:00 CTrade::OrderSend: modify #2 at 1.00000 (sl: 1.00000 tp: 1.00000) [invalid price]
2020.06.17 01:38:24.136 2020.01.02 07:40:00 Модификация BUY STOP прошла с ошибкой! Result Retcode: 10015, description of Retcode: invalid price
Голову уже себе сломал. при том что этот же код в другом советнике работает на ура.
Что я делаю не так?
Всем доброго времени суток. Столкнулся с вот такой проблемой при обращении советника к DLL:
Cannot load 'C:\....\shablon.dll' [487]
Вроде как ошибка 487 означает: ERROR_INVALID_ADDRESS, но путь к библиотеке верный. Собственно, я эту dll уже во все папки положил, не помогает.
В чем может быть дело? Буду благодарен за помощь.
P.S. изначально эта dll предназначалась для 32 битной винды и в mt4*86 работала. Я ее перекомпилировал на 64 бит, ставлю теперь на mt5*64, и вот такие проблемы.
ERROR_INVALID_ADDRESS это не про путь. Вы передаёте неправильные аргументы.