Форум трейдеров » Торговые роботы, советники, индикаторы » Баг в Метатрейдере (?)
+ Подписаться
  1. 30
    Комментарии
    2
    Темы
    31
    Репутация Pro
     
    Новичок

    2 Медалей

    Баг в Метатрейдере (?)

    Не так давно столкнулся с любопытным глюком. Суть его в приложенном рисунке, отражена толстой светло-зеленой линией. Экстремумы (пики) этой линии должны быть равны High или Low соответствующих баров. Поначалу, при наложении на график цены, все отображалось правильно, но со временем картинка приобретала приведенный ниже вид. Ошибка в логике работы индюка была исключена, так как определялись эти точки, после обработки, двумя простыми конструкциями: "Peaks[BreakPos] = Low[BreakPos];" и "Peaks[BreakPos] = High[BreakPos];". "Озарение" снизошло внезапно. :) В настройках терминала есть две величины - "макс. баров в истории" и "макс. баров в окне". Глюк проявился в тот момент, когда количество баров в истории превысило максимальное количество баров в окне. Причем какое-то время индюк отрабатывает правильно, а затем просто "сдвигается" относительно ценового графика вправо и далее расчет уже идет некорректно. Новые значения он рассчитывает относительно исторических таймсерий, а выводит относительно таймсерий ценового графика. Может кому-то информация будет полезной.
     
    Недоступно! Pro 0
    Поделиться
    Просмотров: 4,962
  2. 6,556
    Комментарии
    18
    Темы
    6883
    Репутация Pro
    Аватар для greych  
    Старожил

    7 Медалей
    Добрый вечер!
    А в индюке нет случайно установки тайм-фрейма? Такой косяк можно получить если считать по старшему фрейму, а выводить на младший.
  3. 30
    Комментарии
    2
    Темы
    31
    Репутация Pro
     
    Новичок

    2 Медалей
    Цитата Сообщение от greych Посмотреть сообщение
    Добрый вечер!
    А в индюке нет случайно установки тайм-фрейма? Такой косяк можно получить если считать по старшему фрейму, а выводить на младший.
    Нет, тамфрейм один, тот, на который индюк вешается. Максимум, что есть, "каскадирование", то есть зигзаг строится на базе полосы (тоже есть на рисунке). Она тоже ведет себя неадекватно. Но даже при этом как может неправильно работать конструкция "Peaks[BreakPos] = High[BreakPos];" ? Здесь индексы таймсерии индикатора и ценовой таймсерии равны.

    З.Ы. На всякий случай... Peaks[BreakPos] - таймсерия упомянутых экстремумов. :)
  4. 6,556
    Комментарии
    18
    Темы
    6883
    Репутация Pro
    Аватар для greych  
    Старожил

    7 Медалей
    напрягает, что экстремумы вообще не совпадают, как буд-то рисует с другого фрейма или вообще другого инструмента:eek:
  5. 30
    Комментарии
    2
    Темы
    31
    Репутация Pro
     
    Новичок

    2 Медалей
    Цитата Сообщение от greych Посмотреть сообщение
    напрягает, что экстремумы вообще не совпадают, как буд-то рисует с другого фрейма или вообще другого инструмента:eek:
    Меня это тоже поначалу сильно напрягало. Долго ломал голову, откуда он, вообще, хватает эти точки, ибо присваивание в индюке недвусмысленное... Тем не менее, если глянуть на крайний минимум, то хорошо прослеживается, что он равен предпоследнему "визуальному" минимуму цены. В итоге пришел к выводу, что на прорисованном графике, при превышении лимита рисуемых баров, он сдвигает ценовой график "влево", а индюк перерисовать "забывает". Правда искать момент, когда он это делает и какое количество баров "убирает" уже, наверное, не буду. Я просто подрезал историю.
  6. 174
    Комментарии
    1
    Темы
    175
    Репутация Pro
    Аватар для Aalex  
    В начале пути

    2 Медалей
    косяк в индикаторе.
    как можно что-то сказать, не видя кода?
    первый пост выглядит примерно так:
    по всем расчетам, вороны должны лететь на юг, а они летят на север.
    ошибка в расчетах маршрута ворон исключена, вывод - вороны глючные
    ---------------------------------
    рисунок похож на ситуацию, которая возникает при включении терминала после долгого простоя. загружается большой объем свежих данных, который не очень ровно написанный индикатор неверно обрабатывает. лечится переключением ТФ.
  7. 30
    Комментарии
    2
    Темы
    31
    Репутация Pro
     
    Новичок

    2 Медалей
    Цитата Сообщение от Aalex Посмотреть сообщение
    косяк в индикаторе.
    как можно что-то сказать, не видя кода?
    первый пост выглядит примерно так:
    по всем расчетам, вороны должны лететь на юг, а они летят на север.
    ошибка в расчетах маршрута ворон исключена, вывод - вороны глючные
    ---------------------------------
    рисунок похож на ситуацию, которая возникает при включении терминала после долгого простоя. загружается большой объем свежих данных, который не очень ровно написанный индикатор неверно обрабатывает. лечится переключением ТФ.
    Приводить код индикатора смысла нет. Повторю еще раз - значения вершинам присваиваются всего в двух местах:
    1. Peaks[BreakPos] = High[BreakPos];
    2. Peaks[BreakPos] = Low[BreakPos];

    Этого кода, по-моему, достаточно. Peaks - таймсерия индикатора, High/Low - ценовые таймсерии. Индексы у них совпадают. Если сможете описать ситуацию, в которой при подобном присваивании Peaks смогут принимать значения, отличные от High/Low, с радостью рассмотрю примеры. Отсеку сразу один вариант - значения рассчитываются только для закрытых баров, то есть для индексов больше или равно единицы.

    З.Ы. В ситуации с вновь загруженным терминалом индюк рассчитывается замечательно. Ну и до кучи... Индюк был навешен изначально на двух парах, открытых в терминале - на евро и фунтике. Глюк наблюдался только на евро, фунтик отрабатывал всегда стабильно. Потому и пришел к выводу, что глюк, все-таки, не в индюке. Повторю еще раз, ситуация, я думаю, достаточно редкая, но кто-то может с ней встретится. В окне загружено максимальное количество баров, добавляются новые - получаем такую картинку.
  8. 174
    Комментарии
    1
    Темы
    175
    Репутация Pro
    Аватар для Aalex  
    В начале пути

    2 Медалей
    Цитата Сообщение от Tolstyak122 Посмотреть сообщение
    Глюк наблюдался только на евро, фунтик отрабатывал всегда стабильно.
    а) нормальный глюк не должен делать различий между еврой и фунтом :unsure:

    б) попробуйте описать этот глюк на форуме метаквотов
  9. 30
    Комментарии
    2
    Темы
    31
    Репутация Pro
     
    Новичок

    2 Медалей
    Цитата Сообщение от Aalex Посмотреть сообщение
    а) нормальный глюк не должен делать различий между еврой и фунтом :unsure:

    б) попробуйте описать этот глюк на форуме метаквотов
    Ну, вроде поняли друг друга... :) Я тоже подумал, что глюк слишком разборчивый. Дальше появилась описанная мысль, затем ее проверил и убедился, что проблема в истории. Тем более, что после зачистки истории вторые сутки полет нормальный. На метаквоты писать лень, да и у них пятый МТ сейчас. Не факт, что ковыряться захотят.

Вверх
РегистрацияX

чтобы писать, читать, комментировать