
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот самый быстрый, корректный рабочий вариант на всех ТФ:
Скорость замедляется для ТФ D1, W1 и MN1
А вот тестовый индикатор, который наглядно показывает отработку разных версий, а так же их скорость ( вторая цифра. Чем меньше цифра, тем быстрее функция)
Правильно отрабатывают 3 и 4 варианты. Но 3 быстрее работает.
Варианты с CopyTime самые медленные.
Это можно проверить на MQL4 (индикатор прилагаю)
Авторство разных вариантов не указываю, т.к. уже запутался.
Но третий, самый рабочий вариант, на 80 % вроде от @fxsaber. Я только чуть доработал.
Правильно отрабатывают 3 и 4 варианты. Но 3 быстрее работает. Варианты с CopyTime самые медленные.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Обсуждение статьи "LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)"
fxsaber, 2018.02.14 11:58
ЗЫ Замер скорости функций нужно измерять в среде, где производительность важна - Тестер.
Да здесь замеры особо не важны. И так видно, что логика самая быстрая.
Вот самый быстрый, корректный рабочий вариант на всех ТФ:
Скорость замедляется для ТФ D1, W1 и MN1
А вот тестовый индикатор, который наглядно показывает отработку разных версий, а так же их скорость ( вторая цифра. Чем меньше цифра, тем быстрее функция)
Правильно отрабатывают 3 и 4 варианты. Но 3 быстрее работает.
Варианты с CopyTime самые медленные.
Это можно проверить на MQL4 (индикатор прилагаю)
Авторство разных вариантов не указываю, т.к. уже запутался.
Но третий, самый рабочий вариант, на 80 % вроде от @fxsaber. Я только чуть доработал.
Добавил в Ваш индикатор TF - первые два алгоритма непригодные вообще получаются..
На рисунках текущий TF - H1, а расчет по дневкам.
Да (выделено)
-1 - это единица с минусом (уточняюсь), возвращенная функцией ошибка, которая говорит о том, что такого бара нет
То есть моя функция
также требует доработки
хотяяяяя...
Документация:
"Примечание
Если данные для таймсерии с указанными параметрами при вызове функции Bars() еще не сформированы в терминале, или данные таймсерии в момент вызова функции не синхронизированы с торговым сервером, то функция вернет нулевое значение."
====
Если res==0, то мы итак поймаем от функции -1.
===
Так что все работает, пользуйтесь на здоровье!
На выше приведенном индикаторе очень хорошо видно, как врет сей способ.
Вот самый быстрый, корректный рабочий вариант на всех ТФ:
Скорость замедляется для ТФ D1, W1 и MN1
А вот тестовый индикатор, который наглядно показывает отработку разных версий, а так же их скорость ( вторая цифра. Чем меньше цифра, тем быстрее функция)
Правильно отрабатывают 3 и 4 варианты. Но 3 быстрее работает.
Варианты с CopyTime самые медленные.
Это можно проверить на MQL4 (индикатор прилагаю)
Авторство разных вариантов не указываю, т.к. уже запутался.
Но третий, самый рабочий вариант, на 80 % вроде от @fxsaber. Я только чуть доработал.
Вариант iBarShift3 работает не правильно.
Держите мой вариант. Вроде работает и с младшими и с старшими фреймами. Скорость немного выше чем у ибаршифт3.
int iBarShift(string symbol, ENUM_TIMEFRAMES timeframe, datetime time){
datetime t1 = TimeCurrent()+10000000;
int ps = PeriodSeconds(timeframe);
double div = time/(double)ps;
double mant = div - MathFloor(div);
int ret = Bars(symbol, timeframe, (datetime)(time-(ps*mant)), t1)-1;
return(ret);
}
Вариант iBarShift3 работает не правильно.
Можно пример не правильной работы?
Значит остается только четвертый вариант?
Вариант iBarShift3 работает не правильно.
Голословность - это наше всё.
Голословность - это наше всё.
Я проверил быстро: есть функция которая работает не первый день, вместо неё подставил iBarShift3 и получил неправильную работу советника. С этого и сделал вывод.
Вот та, которую использую