Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 471
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день всем неравнодушным !!!
Я продвинутый пользователь. Но пишу не так часто. Потому. За некоторыми новшествами не поспеваю. А иногда просто забываю кое-что.
Прошу помочь в одном вопросе. Не могу вспомнить один момент.
Ситуация такая. Вот я задал extern переменные. Задал много таких переменных. 20 переменных. Они отображаются в входном меню программы, когда ты эту программу прикрепляешь к графику.
Вопрос такой. Не как не могу вспомнить. Как разделить блоки таких переменных комментариями? Чтоб так было. В входном меню. К примеру:
Это блок по изменению переменных MA (комментарий)
Период МА
Метод задания МА
Цена МА
Это блок по изменению переменных MACD (комментарий)
..........................
...........................
...........................
Это блок по изменению переменных BB (комментарий)
.........................
..............................
...........................
Вроде раньше я такие комментарии вводил функцией комментарий к коду. То есть прописывал // или /* */. Но сейчас что-то не выходит.
Как то так
Как то так
Спасибо. Вспомнил!!!
Попробуйте так:
Это для показа всех значащих цифр котировки. Если же нужно какое-то другое количество знаков, то Digits() замените на конкретное число.
Попробуйте так:
Это для показа всех значащих цифр котировки. Если же нужно какое-то другое количество знаков, то Digits() замените на конкретное число.
Теперь выводит в Print правильно 15,155 , однако - invalid stoploss for OrderModify function
Эта проблема только с Silver в OrderModify
Теперь выводит в Print правильно 15,155 , однако - invalid stoploss for OrderModify function
Эта проблема только с Silver в OrderModify
В приведенном коде бросаются в глаза две ошибки:
Для решения первой проблемы нужно получить текущий уровень Stop Level:
Если fStopLevel оказывается равен нулю и тип счета при этом не ECN, то следует принудительно назначить fStopLevel равным трем спредам.
Перед установкой стопов (как Stop Loss, так и Take Profit) проверить, что новый уровень отстоит от цены закрытия ордера на величину Stop Level и более. Для проверки стопа ордера Buy это делается так:
Для стопа ордера Sell:
Решение второй проблемы: сравнивать вещественные значения с некоторой точностью, т. к. равенство вещественных чисел не может быть достигнуто всегда и везде. Пример сравнения я уже привел выше в кодах проверки корректности уровня стопа.
В приведенном коде бросаются в глаза две ошибки:
Для решения первой проблемы нужно получить текущий уровень Stop Level:
Если fStopLevel оказывается равен нулю и тип счета при этом не ECN, то следует принудительно назначить fStopLevel равным трем спредам.
Перед установкой стопов (как Stop Loss, так и Take Profit) проверить, что новый уровень отстоит от цены закрытия ордера на величину Stop Level и более. Для проверки стопа ордера Buy это делается так:
Для стопа ордера Sell:
Решение второй проблемы: сравнивать вещественные значения с некоторой точностью, т. к. равенство вещественных чисел не может быть достигнуто всегда и везде. Пример сравнения я уже привел выше в кодах проверки корректности уровня стопа.
Спасибо.
Однако, вопрос не закрылся. OrderModify начинает срабатывать сразу же при открытии ордера. Где ошибка? (повторюсь - на всех(всех) валютах/фьючах работает, на Silver - нет)
Спасибо.
Однако, вопрос не закрылся. OrderModify начинает срабатывать сразу же при открытии ордера. Где ошибка? (повторюсь - на всех(всех) валютах/фьючах работает, на Silver - нет)
1. Директиву
используете ?
2. Это происходит с Buy и Sell или только с Sell
3. Stop Loss при открытии позиции ставится или его тралл должен при возможности поставить и тянуть ?
Спасибо.
Однако, вопрос не закрылся. OrderModify начинает срабатывать сразу же при открытии ордера. Где ошибка? (повторюсь - на всех(всех) валютах/фьючах работает, на Silver - нет)
Покажите отрывок журнала (если онлайн, то вкладка Эксперты), где видно открытие рыночного ордера и его модификации и укажите, какие значения TrailingStop и TrailingStep использовали.