Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1231
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пытаюсь простейший вход сделат. Как я хотел - если цена открытия меньше цены закрытия на количество пунктов padenie (на предыдущем баре), то покупаем с началом нового бара, с учётом тейк профита и стоп лосса. Но что-то работает похоже совсем не так как я хотел. Помогите разобраться
Пытаюсь простейший вход сделат. Как я хотел - если цена открытия меньше цены закрытия на количество пунктов padenie (на предыдущем баре), то покупаем с началом нового бара, с учётом тейк профита и стоп лосса. Но что-то работает похоже совсем не так как я хотел. Помогите разобраться
Ошибка 1: Вы копируете ОДИН элемент - следовательно индекс элемента будет [0]
Open 100, Close 105 - бычий бар. Open - Close = 100 - 105 = - 5. '-5' всегда будет меньше Вашего заданного значения, так как результат получился отрицательное число.
Open 110, Close 103 - медвежий бар. Open - Close = 110 - 103 = 7. '7' положительное число и это уже будет работать правильно.
Итог: исправить обращение по индексу (вместо [1] нужно обращаться к индексу [0]. Перед расчетом учитывать тип свечи: бычья она или медвежья.
Продолжение вопроса о построениях DRAW_HISTOGRAM2.
Пример:
В представленном индикаторе удалось построить обе гистограммы. Неожиданной особенностью стало следующее:
Для обычных линий в записях #property indicator_colorn, #property indicator_typen и т.п. значение n на 1 больше индекса буфера.
Причём это требование сохраняется и для случая, если индексы буферов указаны не подряд, а между соседними есть свободные места.
Например, если используются индексы 0, 1, 2, 3, 8, то все пять линий благополучно отображаются.
Для построений типа DRAW_HISTOGRAM2 иное требование, а именно:
Если гистограммы указаны подряд, то в записях #property indicator_colorn, #property indicator_typen и т.п.
значение n рассчитывается по количественному счёту, а не от индекса буфера. В примере указаны индексы 5 и 6, хотя по логике ожидается 5 и 7.
Вся эта галиматНя приводит к тому, что понять каким должно быть значение n для обычной линии (красная), следующей за двумя гистограммами, вообще не представляется возможным.
В данном примере указано значение n=9, но это не работает, поэтому все строки, касающиеся буфера 8, закомментированы. Не получилось также и при других значениях n.
Вывод: все гистограммы должны быть указаны подряд в конце списка буферов. Причём, рассчитывать их значения следует просто подряд по количественному счёту (несмотря на индексы их буферов).
Понять это нельзя, но жить с этим можно.
Попутно: влияние порядка следования буферов типов INDICATOR_CALCULATIONS и INDICATOR_DATA не обнаружено.
Спасибо Владимиру Карпутову и Артёму Тришкину за участие в решении вопроса.
Продолжение вопроса о построениях DRAW_HISTOGRAM2.
Пример:
В представленном индикаторе удалось построить обе гистограммы. Неожиданной особенностью стало следующее:
Для обычных линий в записях #property indicator_colorn, #property indicator_typen и т.п. значение n на 1 больше индекса буфера.
Причём это требование сохраняется и для случая, если индексы буферов указаны не подряд, а между соседними есть свободные места.
Например, если используются индексы 0, 1, 2, 3, 8, то все пять линий благополучно отображаются.
Для построений типа DRAW_HISTOGRAM2 иное требование, а именно:
Если гистограммы указаны подряд, то в записях #property indicator_colorn, #property indicator_typen и т.п.
значение n рассчитывается по количественному счёту, а не от индекса буфера. В примере указаны индексы 5 и 6, хотя по логике ожидается 5 и 7.
Вся эта галиматНя приводит к тому, что понять каким должен быть индекс для обычной линии (красная), следующей за двумя гистограммами, вообще не представляется возможным.
В данном примере указано значение n=9, но это не работает, поэтому все строки, касающиеся буфера 8, закомментированы. Не получилось также и при других значениях n.
Вывод: все гистограммы должны быть указаны подряд в конце списка буферов. Причём, рассчитывать их значения следует просто подряд по количественному счёту (несмотря на индексы их буферов).
Понять это нельзя, но жить с этим можно.
Попутно: влияние порядка следования буферов типов INDICATOR_CALCULATIONS и INDICATOR_DATA не обнаружено.
Спасибо Владимиру Карпутову и Артёму Тришкину за участие в решении вопроса.
Пожалуйста. Но вы не решили вопрос.
В индикаторах нет зависимости от порядка следования разных типов буферов. Лишь расчётные должны быть после рисуемых.
Пожалуйста. Но вы не решили вопрос.
В индикаторах нет зависимости от порядка следования разных типов буферов. Лишь расчётные должны быть после рисуемых.
Без особой уверенности, но всё же полагаю, что оба эти утверждения ошибочны.
На счёт "нет зависимости". У меня не получилось никаким способом отобразить 8й буфер в последнем примере . Каким должен быть этот порядок.. Может быть, у Вас получится?
На счёт "расчётные .. после рисуемых". В моём индикаторе используется более 200 буферов, первые 100 из которых, - расчётные.
В моём случае это всё простые линии, поэтому расчёт n для #property ведётся от значения индекса буфера: n=b+1. И простые линии при этом отображается. Непонятки начинаются с появления гистограмм.
Без особой уверенности, но всё же полагаю, что оба эти утверждения ошибочны.
На счёт "нет зависимости". У меня не получилось никаким способом отобразить 8й буфер в последнем примере . Каким должен быть этот порядок.. Может быть, у Вас получится?
На счёт "расчётные .. после рисуемых". В моём индикаторе используется более 200 буферов, первые 100 из которых, - расчётные.
В моём случае это всё простые линии, поэтому расчёт n для #property ведётся от значения индекса буфера: n=b+1. И простые линии при этом отображается. Непонятки начинаются с появления гистограмм.
Не буду спорить. Создаю рисуемые буферы в абсолютно любой последовательности. Но стоит межу ними добавить расчётный буфер, как графические построения рисуемых индикаторов перестают отображаться на графике. В окне данных их значения остаются. Проводил множество тестов для описания в статьях создания индикаторов и их буферов. Пришёл к выводу, что только расчётные буферы (их расположение в порядке объявления индикаторных буферов) каким-то образом влияют на отображение/неотображение рисуемых.
Не буду спорить. Создаю рисуемые буферы в абсолютно любой последовательности. Но стоит межу ними добавить расчётный буфер, как графические построения рисуемых индикаторов перестают отображаться на графике. В окне данных их значения остаются. Проводил множество тестов для описания в статьях создания индикаторов и их буферов. Пришёл к выводу, что только расчётные буферы (их расположение в порядке объявления индикаторных буферов) каким-то образом влияют на отображение/неотображение рисуемых.
Я тоже не уверен.
С некоторых пор (последние 3-4 мес) в окне символа вообще происходят непонятные и настораживающие явления.
Во-первых, многократно замечено, что построение индикатора может без всяких видимых причин просто съехать в любом направлении, например, вниз или вправо. Вот просто на новом тике весь индикатор бац! и сместился. То же иногда происходит при первом вкл. ПК.
Во-вторых, если некоторые буферы удаляются и потом выполняется компиляция, то "следы" этих удалённых построений остаются до невыясненных событий (перекл. ТФ туда-назад, новой перекомпиляции, обновлении настроечных параметров и т.п. ) Возможно, в окне данных тоже остаются "следы", являющие собой память давно прошедших дней (технически массивы чистятся только принудительно, и в МТ 5, если массив не нужен, он просто "снимается с учёта", но данные-то остаются; конечно, всё это глюки МТ5)
--
Есть шутка: история нашей Родины не предсказуема. То же можно сказать и про МТ5: слишком он загадочный:)
--
Кстати, сейчас вот внёс изменения в свой реальный индикатор в соответствии с моими последними утверждениями. Не работает. Добавил для отражающих массивов DRAW_HISTOGRAM2 и INDICATOR_CALCULATIONS - заработало.
Не нужно самодеятельности - создавайте болванку советника при помощи MQL5 Wizard - так Вы будете допускать минимум ошибок при объявлении графических построений и индикаторных массивов.
Я тоже не уверен.
С некоторых пор (последние 3-4 мес) в окне символа вообще происходят непонятные и настораживающие явления.
Во-первых, многократно замечено, что построение индикатора может без всяких видимых причин просто съехать в любом направлении, например, вниз или вправо. Вот просто на новом тике весь индикатор бац! и сместился. То же иногда происходит при первом вкл. ПК.
Во-вторых, если некоторые буферы удаляются и потом выполняется компиляция, то "следы" этих удалённых построений остаются до невыясненных событий (перекл. ТФ туда-назад, новой перекомпиляции, обновлении настроечных параметров и т.п. ) Возможно, в окне данных тоже остаются "следы", являющие собой память давно прошедших дней (технически массивы чистятся только принудительно, и в МТ 5, если массив не нужен, он просто "снимается с учёта", но данные-то остаются; конечно, всё это глюки МТ5)
--
Есть шутка: история нашей Родины не предсказуема. То же можно сказать и про МТ5: слишком он загадочный:)
--
Кстати, сейчас вот внёс изменения в свой реальный индикатор в соответствии с моими последними утверждениями. Не работает. Добавил для отражающих массивов DRAW_HISTOGRAM2 и INDICATOR_CALCULATIONS - заработало.
Не про меня.
Остальное - ваши ошибки и невнимательность (кроме смещения линий индикаторов, но вроде бы уже пофиксили, если память не изменяет)
Какой у вас билд?
Не нужно самодеятельности - создавайте болванку советника при помощи MQL5 Wizard - так Вы будете допускать минимум ошибок при объявлении графических построений и индикаторных массивов.
Вы можете сказать как правильно отразить 8й буфер в моём последнем примере? Без самодеятельности?
Можете озвучить правила?
Не про меня.
Остальное - ваши ошибки и невнимательность (кроме смещения линий индикаторов, но вроде бы уже пофиксили, если память не изменяет)
Какой у вас билд?
Вы можете сказать как правильно отразить 8й буфер в моём последнем примере? Со всей внимательностью?
И озвучить причины?
Билд 2530.
--
Я ещё только учусь, поэтому я был бы крайне признателен, если бы Вы, господа, указали где обо всём этом можно прочесть в документации.