Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2155
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
в описании индикатора ADX сказано:
double iADX(string symbol, // имя символа
int timeframe, // таймфрейм
int period, // период усреднения
int applied_price, // используемая цена
int mode, // источник данных
int shift // сдвиг
);
shift [in] Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад). Разве этот сдвиг не предназначен для предотвращения перерисовки ? Или можете простыми словами пояснить, что же данный сдвиг создает?
И чему равен этот shift в коде
в коде его можно менять в настройках:
я задавал различные значения при тестировании, но в настройках на демке оставил по умолчанию - 2.
в коде его можно менять в настройках:
я задавал различные значения при тестировании, но в настройках на демке оставил по умолчанию - 2.
Тогда возможно отличаются котировки, в любом случае проблема в том, что показания индикатора в момент открытия ордера были разные
Пара вопросов по коду.
1) Как правильно прописать в коде, чтобы или советник определял наличие/отсутствие суффикса автоматически? Либо чтобы человек сам мог вводить суффикс, если он есть у его брокера.
Достаточно ли такого когда в разделе настроек?
2) Как прописать запрет торговли на других ТФ кроме определенного?
Пробовал через функцию запрета торговли определенных пар, подобный код, + ENUM_TIMEFRAMES tf = PERIOD_M15 использовать. Но польза нулевая.
Пара вопросов по коду.
1) Как правильно прописать в коде, чтобы или советник определял наличие/отсутствие суффикса автоматически? Либо чтобы человек сам мог вводить суффикс, если он есть у его брокера.
Достаточно ли такого когда в разделе настроек?
2) Как прописать запрет торговли на других ТФ кроме определенного?
Пробовал через функцию запрета торговли определенных пар, подобный код, + ENUM_TIMEFRAMES tf = PERIOD_M15 использовать. Но польза нулевая.
Это уже вопросы сюда там и код и готовый советник напишут.
Тогда возможно отличаются котировки, в любом случае проблема в том, что показания индикатора в момент открытия ордера были разные
тестирование ведется на том же счете, демке, на котором идет торговля.котировки совпадают.
Проверил бары открытия. В условиях открытия прописано общее условие для ордеров обоих направлений:
И это условие не было выполнено, т.е. вообще не должны были открыться никакие лимитки.
тут на соседней ветке, нашел подобную проблему, и там люди советовали изменить порядок расчета с цен закрытия на цены открытия.
Это в принципе может решить проблему?
тестирование ведется на том же счете, демке, на котором идет торговля.котировки совпадают.
Проверил бары открытия. В условиях открытия прописано общее условие для ордеров обоих направлений:
И это условие не было выполнено, т.е. вообще не должны были открыться никакие лимитки.
тут на соседней ветке, нашел подобную проблему, и там люди советовали изменить порядок расчета с цен закрытия на цены открытия.
Это в принципе может решить проблему?
Если у тебя сдвиг, то уже все равно open или close, т.к. цена уже не поменяется.
Возможно злую шутку играет сглаживание. Запусти в тестере индикатор ADX на всех тиках и посмотри как ведет себя линия.
тестирование ведется на том же счете, демке, на котором идет торговля.котировки совпадают.
Проверил бары открытия. В условиях открытия прописано общее условие для ордеров обоих направлений:
И это условие не было выполнено, т.е. вообще не должны были открыться никакие лимитки.
тут на соседней ветке, нашел подобную проблему, и там люди советовали изменить порядок расчета с цен закрытия на цены открытия.
Это в принципе может решить проблему?
Можно попробовать так
Можно попробовать так
спасибо, завтра попробую как вы рекомендуете.
вот как всё выглядит и в тестере и на демке. Я сразу стал проверять на всех тиках на таймфрейме М1, на включенной визуализации, и во такая картина.
в описании индикатора ADX сказано:
double iADX(string symbol, // имя символа
int timeframe, // таймфрейм
int period, // период усреднения
int applied_price, // используемая цена
int mode, // источник данных
int shift // сдвиг
);
shift [in] Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад). Разве этот сдвиг не предназначен для предотвращения перерисовки ? Или можете простыми словами пояснить, что же данный сдвиг создает?
В mql4 это индекс бара на котором надо получить значение индикатора. 0 — текущий, следующий слева — 1 и так далее…