Не идеально, но однозначно лучше, чем по умолчанию.
Мдя? А остальные ценовые массивы как замените - High[], Low[], Close[]? Там еще много "камней". Смещение куда денете? Сдвиг уже посчитанного безгэпового результата к ценам, например?
Впрочем, все уже реализовано. И даже не вчера.
Любой индикатор можно за пару минут переделать в "безгэповый". Вот рыба:
//........................................ //........................................ extern int Gap=0; // порог идентификации гэпа в пп. double gp; double ExtMapBuffer[], // массивы буферов безгэповых котировок CloseG[], HighG[], LowG[], OpenG[]; // инициализация void init() { //........................................ //........................................ gp=Gap*Point; // буферы безгэповых котировок SetIndexBuffer(1,CloseG); SetIndexBuffer(2,HighG); SetIndexBuffer(3,LowG); SetIndexBuffer(4,OpenG); } void start() { //........................................ //........................................ // цикл пересчета for(int i=limit; i>=0; i--) { double base=Gap(limit,i); // создание безгэповых котировок и вычисление смещения //........................................ //........................................ //double ind= //ExtMapBuffer[]=ind-base; // для окна инструмена //ExtMapBuffer[]=ind; // для собственного подокна } } // Kill Gap ))) double Gap(int limit, int i) { static double base; // смещение, корректирующая гэп double gap=Close[i+1]-Open[i]; // гэп if(MathAbs(gap)>gp) base+=gap; // вычисление смещения if(i==limit && i>1) base=0; // инициализация if(Gap==0) base=0; // стандартный режим // заполнение буферов безгповыми котировками CloseG[i]=base+Close[i]; HighG[i] =base+High[i]; LowG[i] =base+Low[i]; OpenG[i] =base+Open[i]; return(base); }Достаточно заменить в индикаторе все Close на CloseG (и если необходимо для расчета остальные обращения к цен.массивам), вставить нужные куски кода и все.
===
Хотя в нектр. случаях можно обойтись без дополнительных массивов. Вот как, например, в MACD - см. аттач.
Мдя? А остальные ценовые массивы как замените - High[], Low[], Close[]? Там еще много "камней". Смещение куда денете? Сдвиг уже посчитанного безгэпового результата к ценам, например?
Впрочем, все уже реализовано. И даже не вчера.
Любой индикатор можно за пару минут переделать в "безгэповый". Вот рыба:
Достаточно заменить в индикаторе все Close на CloseG (и если необходимо для расчета остальные обращения к цен.массивам), вставить нужные куски кода и все.Возможно, но в RSI не учитываются H и L, мне кажется Вы усложняете вопрос. ИМХО.
Выше добавил, пока вы отвечали.
Но в общем случае, нужны ВСЕ котировки. Например, для Stochastic'а, нужны 3 из 4-х. И т.п. Для параболика - 2. Я просто сделал общую рыбу.
В нектр. случаях можно сделать проще, разумеется. Но не так просто, как вы это себе представляете.
Выше добавил, пока вы отвечали.
Но в общем случае, нужны ВСЕ котировки. Например, для Stochastic'а, нужны 3 из 4-х. И т.п. Для параболика - 2. Я просто сделал общую рыбу.
В нектр. случаях можно сделать проще, разумеется. Но не так просто, как вы это себе представляете.
Я согласен, конечно в разных индикаторах по разному. Надо с этим разобраться на досуге.
бары хороши только для визуального анализа, для компа этого или слишком много или слишком мало...
Случайный отскок в начале/конце бара даёт совсем другое,чем должно быть... и это не редкость...
для "реалтайма" - для генерации баров, прогноза тенденций, анализа работы эксперта....
бары хороши только для визуального анализа, для компа этого или слишком много или слишком мало...
Случайный отскок в начале/конце бара даёт совсем другое,чем должно быть... и это не редкость...
Не вполне понял. Индикаторы работают в реал-тайме и на тестере.
Используемое предыдущее Close относится уже к истории - оно было перед праздниками или выходными. А текущее Open (на открытии после перерыва) по определению неизменно. Естественно, от докачки котировок никто не застрахован, но это относится ко всем без исключения индикаторам.
Не вижу проблемы.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Индикаторы, попав на такой гэп (а это м.б. сотня пп. и более), впадают в прострацию (аж стрелки гнутся) на длину своего расчета (для индикаторов с КИХ). Для индикаторов с БИХ все м.б. гораздо хуже. Короче, пока "стрелки распрямятся" и индикаторы станут адекватными, они наваляют кучу левых сигналов для экспертов. Оно надо?
Вот что получилось с "ножницами и клеем". На чарте подцеплены МА, RSI и ATR в двух вариантах - c гэпом (красный) и без (синий). Параметр Gap - порог, за которым разрыв между Open и предыдущим Close будет идентифицирован как гэп.
Вообще, на мамбе я этим пользуюсь давно. Там, из-за сессионности торгов, утренний гэп - дело гораздо более частое, чем на форе. Одно время стало вообще невозможно, когда сессию на мамбе сократили на час, так что она даже не пересекалась с началом амерской. Потом с кризисом это дело вернули, т.к. гэпы стали уж совсем запредельными.
Но если на ФР РФ гэп можно "заполнить"- по "их" индексам, профильным активам, коммодитис, частично "в лоб" по ADR и т.п., то на форе реально использовать можно только "склейку".
Естественно, гэп гэпу рознь. Есть гэпы, которые несут в себе полезную информацию, которая м.б. обработана индикаторами, о чем подробно написано у Швагера, например. Я же имею ввиду "гэпища", которые образовались или из-за технических причин - не все ДЦ обеспечивают непрерывность котировок, или же из-за объективных - у "них" праздники, выходные, а что-то произошло, и т.п., и размер гэпа превышает разумный для внутридневного тайм-фрейма.
Ну, вот еще полосы Боллинджера в обычном и безгэповом исполнении. // Ха, с убитым гэпом их, наверно, стоит называть "полосы Диллинджера" )))
Внизу, для справки стандартная девиация (Болинжер ведь на основе станд.девиации строится).