Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
пишу алгоритм переноса простых ценовых конструкций на мкл5 с мкл4, на примеры копирования мкл4 кода на мкл5 стохастика масд и рсай, там используются основные методы доступа к данным мкл4.
скора будет, то что должно получиться
сейчас борюсь с функцией иМаОнАррау поскольку в мт5 её не предусмотренно получать наипростейшие методы скользящих средних с пользовательских массивов.
расширю библиотечки до всех технических инструментов, почти все алгоритмы знаю
Что-то я туплю... Никак не соображу, как написать...
Есть такой код:
Далее мне нужно получить индекс бара с минимальным Low среди баров с i-го по j-тый.
Пытаюсь использовать функцию ArrayMinimum.
int k=ArrayMinimum(rates.low,i,j-i+1); - неправильно
int k=ArrayMinimum(rates[].low,i,j-i+1); - неправильно
А как правильно?
Что-то я туплю... Никак не соображу, как написать...
Есть такой код:
Далее мне нужно получить индекс бара с минимальным Low среди баров с i-го по j-тый.
Пытаюсь использовать функцию ArrayMinimum.
int k=ArrayMinimum(rates.low,i,j-i+1); - неправильно
int k=ArrayMinimum(rates[].low,i,j-i+1); - неправильно
А как правильно?
Используй функции прямого доступа, MqlRates - это массив "структур", а тебе нужем массив Low вот пример, сразу и для High.
Смотрите примеры кодов. Это из https://www.mql5.com/ru/code/102
Используй функции прямого доступа, MqlRates - это массив "структур", а тебе нужем массив Low вот пример, сразу и для High.
Это понятно. В моём случае я просто написал:
Ну не хочется мне кучу массивов... Не экономно по ресурсам и не очень красиво...
Просто хотелось разобраться именно с ArrayMinimum - можно ли использовать эту функцию с массивом структур....
Это понятно. В моём случае я просто написал:
Ну не хочется мне кучу массивов... Не экономно по ресурсам и не очень красиво...
Просто хотелось разобраться именно с ArrayMinimum - можно ли использовать эту функцию с массивом структур....
Если ты считаеш что хранить кучу информации в массиве структур экономичнее чем массив double, то я просто развожу руки
или ты думаеш, что хранение интов, лонгов и даты экономичнее в плане памяти? ;))
или выбирать из кучи мусора то, что тебе нужно экономичнее, ха ха ...
Если ты считаеш что хранить кучу информации в массиве структур экономичнее чем массив double, то я просто развожу руки
или ты думаеш, что хранение интов, лонгов и даты экономичнее в плане памяти? ;))
или выбирать из кучи мусора то, что тебе нужно экономичнее, ха ха ...
Обычно, прежде чем что-либо спросить, я просматриваю различные источники в поисках ответа.
Но сейчас, после недели мытарств, я уже понял - ответа у меня нет и помоему никто еще не сталкивался с этим. Поэтому предлагаю головоломку.
Исходные данные:
1) есть простенький индикатор типа Уровни и Стрелки iS7N_SacuL_v3.mq5 (прикреплен)
2) эксперт, который пытается получать от этого индикатора данные aS7N_TIC.mq5 (прикреплен)
Так вот!
Из пяти индикаторных буферов, верно возвращаются данные только из двух.
Подробные пояснения последуют!!!
Посмотрев на ситуацию болеетвнимательно, обнаружил, что и 3 и 4 индикаторные буферы не всегда выдают правильные данных (хотя какие правильные а какие нет не разобрать)
Посмотрите на график. Слева в окне Данных значения индикатора установленного на график, внизу данные полученные экспертом. Большинство значений совпадает, но попадаются и такие смотри ниже...
В связи с этим появилось предположение, что на графике и в тестере используются различные исторические данные.
Кто что думает?
И наконец главная проблема! Получить данные 1,2 и 5 индикаторных буферов обычным путем не представляется возможным.
Проблема в том, что при расчете данных для этих массивов учитываются ранее расчитанные данные предыдущих баров.
Можно конечно, при вызове индикатора указать ему принудительно перерасчитать N предстоящих баров независимо от значения prev_calculated
Я предполагаю, что вызов и расчет значений индикатора происходит со значением prev_calculated не равным 0
Для большинства индикаторов это верно, т.к. экономит ресурсы, но для приведенного примера работать не будет.
Что делать? Какие мысли?
Как вариант, можно все расчеты перенести в эксперт!!! Этот вариант работает, но не то... Хочется все же штаны не через голову одевать.
в советнике используется
берется значение с 0-го бара, значения индикаторных буферов для него изменяются на каждом тике до закрытия свечи.