komposter писал (а):
Сегодня была опубликована статья Графики без "дыр" , в которой подробно описан алгоритм заполнения пропущенных баров.
На форуме было столько "криков" (и просто высказываний) в пользу таких графиков, что я просто не мог не заняться этим вопросом =)
Так что, пробуем, высказываем предложения и пожелания по доработке.
ps: обсуждать в статье не очень удобно - каждый раз грузить лишнюю сотню килобайт - зачем? ;)
Сегодня была опубликована статья Графики без "дыр" , в которой подробно описан алгоритм заполнения пропущенных баров.
На форуме было столько "криков" (и просто высказываний) в пользу таких графиков, что я просто не мог не заняться этим вопросом =)
Так что, пробуем, высказываем предложения и пожелания по доработке.
ps: обсуждать в статье не очень удобно - каждый раз грузить лишнюю сотню килобайт - зачем? ;)
Проконсультируйте, пожалуйста, почему для "AllMinutes.mq4" Вы выбрали эксперт, а не индикатор?
(Я сам написал "близкое к этому" в виде индикатора только потому, что посчитал, что "лучше много индикаторов на чарте, чем много чартов с одним экспертом". ЗЫ. Много индикаторов/экспертов/скриптов для "моих нюансов" принципиально.)
(Я сам написал "близкое к этому" в виде индикатора только потому, что посчитал, что "лучше много индикаторов на чарте, чем много чартов с одним экспертом". ЗЫ. Много индикаторов/экспертов/скриптов для "моих нюансов" принципиально.)
AllMinutes.mq4, работая на одном графике, обновляет несколько графиков (до 32-х).
Зачем индикатор? Жалко завести один "служебный" график? ;)
На самом деле, я просто не подумал о такой возможности )))
AllMinutes.mq4, работая на одном графике, обновляет несколько графиков (до 32-х).
Зачем индикатор? Жалко завести один "служебный" график? ;)
На самом деле, я просто не подумал о такой возможности )))
странно окно для редактирования поста ведет себя как-то странно, да и содержание поста после нажатия "добавить комментарий" куда-то подевалось, ну ладно попробую еще раз набрать. Думаю должно быть так: 1. на первой секунде нового бара смотрим есть котировка : а)да котировка есть - бар рисуется штатным образом, код может отдыхать до конца времени бара (старт без наличия нового тика не отработает, поэтому наверняка нужен скрипт); б) нет котировки нет - отрисовываем "пустой бар", и переходим в режим периодической проверки появления тика внутри нашего "пустого бара"; 2. если был отрисован "пустой бар" периодически смотрим не появилась ли котировка : а) появился тик - заменяем "пустой" бар на реальный и отправляем код в отпуск до конца времени текущего бара б) нету тика - продолжаем находиться в режиме ожидания. вот и процессор значительно разгрузится :)
0-й бар не будет обновляться "штатным образом" - это офф-лайн графики.
И рисовать несуществующую цену, как по мне, тоже неправильно - пропущенный бар должен нарисоваться только тогда, когда будет понятно, что он пропущен =)
И рисовать несуществующую цену, как по мне, тоже неправильно - пропущенный бар должен нарисоваться только тогда, когда будет понятно, что он пропущен =)
Господа! Проблема таким образом снимается только в малой части -
1. Встроенные индикаторы (и поставляемые с MT4) по прежнему будут работать некорректно, как и советники на их основе. Можно, конечно, переписать необходимые.. чем собственно, многие и занимаются :)
2. Я, например, хотел бы знать, чем обусловлен пропуск в данных - одно дело, когда не изменяется цена, и совсем другое - когда это следствие технических проблем.
Опять же - с нулевым баром. Что он пропущен можно определить, когда от последнего бара прошло времени больше, чем период чарта. Но информации о причинах такого пропуска нет.. И никто не гарантирует, что в этот момент получится выставить (закрыть) ордер по последней известной цене.
1. Встроенные индикаторы (и поставляемые с MT4) по прежнему будут работать некорректно, как и советники на их основе. Можно, конечно, переписать необходимые.. чем собственно, многие и занимаются :)
2. Я, например, хотел бы знать, чем обусловлен пропуск в данных - одно дело, когда не изменяется цена, и совсем другое - когда это следствие технических проблем.
Опять же - с нулевым баром. Что он пропущен можно определить, когда от последнего бара прошло времени больше, чем период чарта. Но информации о причинах такого пропуска нет.. И никто не гарантирует, что в этот момент получится выставить (закрыть) ордер по последней известной цене.
>> И никто не гарантирует, что в этот момент получится выставить (закрыть) ордер по последней известной цене.
Если цена не менялась, то почему "никто не гарантирует"?
Поищите на этом форуме и на http://www.metatrader4.com/ru/forum темы обсуждения пропусков баров.
Тема настолько избита, что остается только рекомендация поискать в форумах.
Если цена не менялась, то почему "никто не гарантирует"?
Поищите на этом форуме и на http://www.metatrader4.com/ru/forum темы обсуждения пропусков баров.
Тема настолько избита, что остается только рекомендация поискать в форумах.
1. Встроенные индикаторы (и поставляемые с MT4) по прежнему будут работать некорректно, как и советники на их основе. Можно, конечно, переписать необходимые.. чем собственно, многие и занимаются :)
Почему? И на графиках ALL* тоже?
Опять же - с нулевым баром. Что он пропущен можно определить, когда от последнего бара прошло времени больше, чем период чарта. Но информации о причинах такого пропуска нет..
Именно поэтому AllMinutes рисует пропущенные бары только тогда, когда появляется первый "нормальный" бар.
Почему? И на графиках ALL* тоже?
Опять же - с нулевым баром. Что он пропущен можно определить, когда от последнего бара прошло времени больше, чем период чарта. Но информации о причинах такого пропуска нет..
Именно поэтому AllMinutes рисует пропущенные бары только тогда, когда появляется первый "нормальный" бар.
komposter писал (а):
1. Встроенные индикаторы (и поставляемые с MT4) по прежнему будут работать некорректно, как и советники на их основе. Можно, конечно, переписать необходимые.. чем собственно, многие и занимаются :)
Почему? И на графиках ALL* тоже?
Потому, что индикаторы расчитываются на определенное количество баров назад. При наличии пропусков - понятно, что те же MA могут в различные моменты времени быть расчитаны на различные периоды ВРЕМЕНИ назад. Т.е. вычисляя MA(9) - подразумевается, что MA считаем по 9 последним периодам времени. А при наличии пропусков мы получим (по факту) то MA(10), то MA(20).
Опять же - с нулевым баром. Что он пропущен можно определить, когда от последнего бара прошло времени больше, чем период чарта. Но информации о причинах такого пропуска нет..
Именно поэтому AllMinutes рисует пропущенные бары только тогда, когда появляется первый "нормальный" бар.
Вопрос с ПРИЧИНОЙ пропуска все равно открыт.
1. Встроенные индикаторы (и поставляемые с MT4) по прежнему будут работать некорректно, как и советники на их основе. Можно, конечно, переписать необходимые.. чем собственно, многие и занимаются :)
Почему? И на графиках ALL* тоже?
Потому, что индикаторы расчитываются на определенное количество баров назад. При наличии пропусков - понятно, что те же MA могут в различные моменты времени быть расчитаны на различные периоды ВРЕМЕНИ назад. Т.е. вычисляя MA(9) - подразумевается, что MA считаем по 9 последним периодам времени. А при наличии пропусков мы получим (по факту) то MA(10), то MA(20).
Опять же - с нулевым баром. Что он пропущен можно определить, когда от последнего бара прошло времени больше, чем период чарта. Но информации о причинах такого пропуска нет..
Именно поэтому AllMinutes рисует пропущенные бары только тогда, когда появляется первый "нормальный" бар.
Вопрос с ПРИЧИНОЙ пропуска все равно открыт.
Renat:
>> И никто не гарантирует, что в этот момент получится выставить (закрыть) ордер по последней известной цене.
Если цена не менялась, то почему "никто не гарантирует"?
Потому, что возможны еще технические проблемы, кроме просто неизменности цены. Я думаю разработчикам не надо объяснять, о чем речь.
Поищите на этом форуме и на http://www.metatrader4.com/ru/forum темы обсуждения пропусков баров.
Тема настолько избита, что остается только рекомендация поискать в форумах.
Согласен, избита. А воз и ныне там.
>> И никто не гарантирует, что в этот момент получится выставить (закрыть) ордер по последней известной цене.
Если цена не менялась, то почему "никто не гарантирует"?
Потому, что возможны еще технические проблемы, кроме просто неизменности цены. Я думаю разработчикам не надо объяснять, о чем речь.
Поищите на этом форуме и на http://www.metatrader4.com/ru/forum темы обсуждения пропусков баров.
Тема настолько избита, что остается только рекомендация поискать в форумах.
Согласен, избита. А воз и ныне там.
Потому, что индикаторы расчитываются на определенное количество баров назад. При наличии пропусков - понятно, что те же MA могут в различные моменты времени быть расчитаны на различные периоды ВРЕМЕНИ назад. Т.е. вычисляя MA(9) - подразумевается, что MA считаем по 9 последним периодам времени. А при наличии пропусков мы получим (по факту) то MA(10), то MA(20).
Почему? И на графиках ALL* тоже?
Я специально уточнил: на графиках, генерируемых экспертом AllMinutes тоже неправильно?
Вопрос с ПРИЧИНОЙ пропуска все равно открыт.
Как вариант - постоянная проверка IsConnected().
Кроме того, если баров не было из-за потери связи, при её возобновлении они должны докачаться.
Правда, такую ситуацию я не тестировал, и не знаю, как поведёт себя "заполнитель дыр".
Почему? И на графиках ALL* тоже?
Я специально уточнил: на графиках, генерируемых экспертом AllMinutes тоже неправильно?
Вопрос с ПРИЧИНОЙ пропуска все равно открыт.
Как вариант - постоянная проверка IsConnected().
Кроме того, если баров не было из-за потери связи, при её возобновлении они должны докачаться.
Правда, такую ситуацию я не тестировал, и не знаю, как поведёт себя "заполнитель дыр".
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
На форуме было столько "криков" (и просто высказываний) в пользу таких графиков, что я просто не мог не заняться этим вопросом =)
Так что, пробуем, высказываем предложения и пожелания по доработке.
ps: обсуждать в статье не очень удобно - каждый раз грузить лишнюю сотню килобайт - зачем? ;)