![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
мне одному ТС напоминает по манере и всему остальному hrenfx?)) побольше бы таких героев (никакого сарказма,все реально). должен же кто-то пинать сервисдеск и разрабов чем-то помимо -нарисуйте мне тут в терминале стрелочку другого цвета или прилепите кнопку не сюда,а вооон-туда)
Нет, не вам одному.
Но в отличие от прошлых инкарнаций hrenfx, TC(я надеюсь, что это не он) не выходит за рамки приличий и сложившихся здесь правил. И получается вполне такой приличный спарринг. Мы не возражаем (и никогда не возражали против конструктивной критики), так как благодаря упомянутому ТС, нашли и исправили несколько косяков, уточнили документацию (когда косяки не оказались косяками)
Можно, конечно, в данном случае переписатьс вариантом from == 0, но это не дело совсем. Надо выправлять CopyTicks. В Сервисдеск снова?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Альтернативные реализации стандартных функций/подходов
fxsaber, 2016.09.27 20:30
Вариант CopyTicks, который быстрее оригинала иногда на несколько порядков (from > 0)
Билд 1432 - индикатор из первого поста работает без "Загадки".
В копилку биржевых индикаторов.
Все же хороший индикатор для решения загадок. Заметил, что реал-тайм сформированные значения индикатора и исторические на одном и том же баре не совпадают часто.
В причинах разобраться не смог, как и с предыдущей загадкой. В прошлый раз оказалось дело в баге CopyTicks. Хочется думать, что я ошибся, но, похоже, все же проявляется какой-то слабо заметный баг. Локализовать мне его не получилось. Как будто идет некая особенность работы индикатора и CopyTicks. В Сервисдеске довольно серьезно обсуждались вопросы несинхронизированности CopyTicks и OnCalculate. И вопросы там остались. Поэтому предполагаю, что собака зарыта где-то в этих слабо уловимых особенностях.
Короче, индикатор отлично это показывает. Поэтому поменьше теории, поближе к телу. Все тот же индикатор, но уже с еще более подробными комментариями и с проверкой на баг
Жирным выделил проверку корректности, которая вот так сигналит при проблемах
Buf0 и Buf1 - это что должно быть, согласно истории. А BufferN[rates_total-BAR] - это что по итогу посчиталось во время реал-тайма.
Жирным выделил не различия, а совпадения. Они бывают, как для первого, так и для второго буферов.
В общем, запутанно и сумбурно довольно написал. Но исследовал эту загадку, как только мог. До истины не докопался даже близко.
Вроде, CopyTicks работает, как надо (1432) здесь. А баг вылезает почти сразу.
Кому не влом, посмотрите код. Надо разбираться, т.к. подобные баги полезут и в других индикаторах, где задействован CopyTicks.
Все же хороший индикатор для решения загадок. Заметил, что реал-тайм сформированные значения индикатора и исторические на одном и том же баре не совпадают часто.
В причинах разобраться не смог, как и с предыдущей загадкой. В прошлый раз оказалось дело в баге CopyTicks. Хочется думать, что я ошибся, но, похоже, все же проявляется какой-то слабо заметный баг. Локализовать мне его не получилось. Как будто идет некая особенность работы индикатора и CopyTicks. В Сервисдеске довольно серьезно обсуждались вопросы несинхронизированности CopyTicks и OnCalculate. И вопросы там остались. Поэтому предполагаю, что собака зарыта где-то в этих слабо уловимых особенностях.
Короче, индикатор отлично это показывает. Поэтому поменьше теории, поближе к телу. Все тот же индикатор, но уже с еще более подробными комментариями и с проверкой на баг
Жирным выделил проверку корректности, которая вот так сигналит при проблемах
Buf0 и Buf1 - это что должно быть, согласно истории. А BufferN[rates_total-BAR] - это что по итогу посчиталось во время реал-тайма.
Жирным выделил не различия, а совпадения. Они бывают, как для первого, так и для второго буферов.
В общем, запутанно и сумбурно довольно написал. Но исследовал эту загадку, как только мог. До истины не докопался даже близко.
Вроде, CopyTicks работает, как надо (1432) здесь. А баг вылезает почти сразу.
Кому не влом, посмотрите код. Надо разбираться, т.к. подобные баги полезут и в других индикаторах, где задействован CopyTicks.
Надо разбираться, т.к. подобные баги полезут и в других индикаторах, где задействован CopyTicks.
Получилось локализовать один из багов, вызывающий расхождения в индикаторе. Дело снова в CopyTicks.
Оказывается, если собирать тиковую историю по частям, то она может не совпадать с реальной историей. Советник это показывает
Результат
Этот советник еще показывает слабенький баг. Выяснил, что в собранной по частям истории могут отсутствовать куски, длительностью в несколько минут. Только лаконичное и понятное воспроизведение в виде кода не придумал. А выкладывать сложное - нет смысла, т.к. никто даже смотреть не будет.
В общем, никак не победить баги CopyTicks. И заметьте, советник работает в режиме ленты (COPY_TICKS_TRADE). Т.е. даже с лентой не получается работать.
Получилось локализовать один из багов, вызывающий расхождения в индикаторе. Дело снова в CopyTicks.
А разве кто-то гарантировал, что тики собранные онлайн будут совпадать с историей? История строится по тикам на сервере, а на клиент может успевать приходить меньше. Например, тут кто-то экспериментировал с запуском параллельно нескольких терминалов подключенных к одному счету - результат: увеличенный пропуск тиков на каждом из терминалов.
Все же хороший индикатор для решения загадок. Заметил, что реал-тайм сформированные значения индикатора и исторические на одном и том же баре не совпадают часто.
...
Надо разбираться, т.к. подобные баги полезут и в других индикаторах, где задействован CopyTicks.
1434 - проблему не решил.
Оказывается, если собирать тиковую историю по частям, то она может не совпадать с реальной историей. Советник это показывает