А давайте поговорим о переменном (адаптивном) окне?
Системщикам известно, что любая простая система даже основанная на пересечении цены — SMA будет работоспособна на любом периоде и на любом таймфрейме, главное подобрать нужную длинну окна (период SMA).
Но так же известно, что чем больше длинна тестируемого отрезка от 2-х лет и более, тем сложнее подобрать нужную длинну окна, выходные параметры (доходность/риск) ухудшаются.
Предлагаю в этом топике обсудить и поделиться опытом в построении адаптивных параметров (выбор длинны окна в зависимости от рыночных условий).
От себя скажу, что тестируемые адаптивные скользящие типа: KAMA, VIDYA, DEMA, T3, MMA, MEF, HMA, JMA, FRAMA при тестировании мало чем отличаются друг от друга.
Интересные идеи буду публиковать апдейтом в этом же топике в процессе обсуждения.
Присоединяйтесь, давайте будем друг-другу полезны. Просьба «хранителей граалей» не зашумлять эфир бессмысленными — «щаз я так все и рассказал».
Не знаю как на счет скользящих средних, но я в своей студии реализовал «скользящие конверты боллинджера с 3 сигма уровнями» и фигею как точно цена ходит по ним, сейчас проблема понять от какого точно уровня произойдет отскок, то что она дойдет до одного из них — видно «невооруженным глазом»… p.s. это как идея к «адаптивным» алгоритмам.
Дмитрий Интрадей, то бишь я формирую итоговый болинджер по принципу SMA усредняя только теперь каждую точку уровнял конверта с шагом от 5 до 250 свечек. итоговый конверт вывожу в свой терминал
Если выпрямить MA с любым периодом, то график будет колебаться вокруг нее, как вокруг нуля. В связи с этим, мне не совсем понятна логика систем, подразумевающих входы при пересечении MA. Хотя они и работают на определенных промежутках, как сказал автор. Могу понять системы, в которых увеличивается весовой коэффициент входа при удалении от МА…
Да и что такое МА, если разобраться? Это тренд на более старшем таймрейме, но не фиксированном, типа 1м, 5м, 15м, и т.д., а дробном, в зависимости от периода. А пересечение ценой МА — как бы признак слома более старшего тренда, что для меня, например, не может являться сигналом входа, а может быть подтверждением чего-то…
CamarillaDaily, как альтернативный подход, попробуй посмотреть на МА в временном ряде, тоест не последовательно её строить, а относительно каждого дня)
например на минутке МА5 в 20:00 считается по ценам предыдущих 5 дней в 20:00)))
Мне Чечета идея нравится — строить МА не по набору последовательных баров, а по набору временных последовательных баров.
Например в 20:00 МА5 считается по значениям цены за 5 дней в 8мь вечера)
1) считаю SMA за три периода: например, SMA3(10,20,90) — формула на ATF трансака выглядит так: =(MovAvg(ind_sma,period1,pt_open)+MovAvg(ind_sma,period2,pt_open)+MovAvg(ind_sma,period3,pt_open))/3
[SMA(10,20,90)<>SMA(40=avg(10,20,90))]
2)считаю среднее от значения SMA и значения «X_point» за период — где «X_point» — точка на графике (например, цена OPEN в начале периода, либо LOW за предыдущий период, ну и так далее). как вариант ещё придаю разный вес SMA и X_point. в общем виде формула такая: SMA*sma_weight+X_POINT*(1-sma_weight)
если говорить о вычислении «переменного окна», то для этого я пользую волатильность (стандартное отклонение). вариантов тут всего два: 1) чем выше волатильность, тем меньше должен быть период; 2) чем выше волатильность, тем ниже должен быть период. выбор зависит от стратегии. если интрадэй, то лучше брать вариант №1.
формула для варианта №1 на ATF для трансака выглядит так:
g=StdDev(stddev_abs, stdev_period, pt_open);//вол-ть в абсолюте
zmin=open*(min_volatility/100);//мин.вол-ть в абсолюте
if (g<zmin) {g=zmin;}
sma_period=floor(stdev_period/(g/zmin))+1;//округление вниз
примечание: min_volatility (в %) нужна для того, чтобы градировать волатильность (т.е. по сути это шаг волатильности, как у фьюча ртс шаг цены 5 пунктов). недостаток формулы в том, что stdev_period получается больше, чем sma_period. вы можете придумать свои варианты, чтобы sma_period был больше…
забыл предупредить владельцев трансака: после вычисления sma_period уже нельзя пользоваться встроенной функцией MovAvg, потому что ATF начинает ругаццо — типа «изменился период в момент вычисления индикатора». юзайте такую конструкцию:
i=0;zz=0;while (i<period) {zz+=open[-i];i+=1;}
if (zz==0) {zz=open*period;}
line[0]=zz/period;
написав сейчас все эти посты, вдруг подумал, что можно сделать SMA3(x,y,z), которая адаптирует период каждой из суб-SMA по волатильности. попробовал. получилось довольно занятно.
Donbass, Неужели вверх пойдем? Думаю что сначала вниз, медведи злые, после вчерашнего выноса. Вот только не свозят ли медведей на новые стопы после не большого погружения?
Вообще после вчерашн...
Жду развитие коррекции к уровням 1.28-1.2850, но продавать пару не стоит. Жду падение пары только для возможности купить как можно ниже, и так как тренд тут восходящий всегда есть вероятность получить...
Друзья, жду продолжение развития коррекции по EURUSD, комфортные уровни для покупок будут 1.0650-1.0750, и от них можно начать снова покупать. Самый минимум будет 1.08+-, но это если флэт будет на ...
Господа чатлане… немного не в контексте нынешней ситуации, но давно хочу выяснить один вопрос.
Как вы считаете, когда на телефон ставится приложение банка — и на этот же телефон приходит смс с ко...
думаю в этом году вспомнят про них
например на минутке МА5 в 20:00 считается по ценам предыдущих 5 дней в 20:00)))
Например в 20:00 МА5 считается по значениям цены за 5 дней в 8мь вечера)
1) считаю SMA за три периода: например, SMA3(10,20,90) — формула на ATF трансака выглядит так: =(MovAvg(ind_sma,period1,pt_open)+MovAvg(ind_sma,period2,pt_open)+MovAvg(ind_sma,period3,pt_open))/3
[SMA(10,20,90)<>SMA(40=avg(10,20,90))]
2)считаю среднее от значения SMA и значения «X_point» за период — где «X_point» — точка на графике (например, цена OPEN в начале периода, либо LOW за предыдущий период, ну и так далее). как вариант ещё придаю разный вес SMA и X_point. в общем виде формула такая: SMA*sma_weight+X_POINT*(1-sma_weight)
формула для варианта №1 на ATF для трансака выглядит так:
g=StdDev(stddev_abs, stdev_period, pt_open);//вол-ть в абсолюте
zmin=open*(min_volatility/100);//мин.вол-ть в абсолюте
if (g<zmin) {g=zmin;}
sma_period=floor(stdev_period/(g/zmin))+1;//округление вниз
примечание: min_volatility (в %) нужна для того, чтобы градировать волатильность (т.е. по сути это шаг волатильности, как у фьюча ртс шаг цены 5 пунктов). недостаток формулы в том, что stdev_period получается больше, чем sma_period. вы можете придумать свои варианты, чтобы sma_period был больше…
i=0;zz=0;while (i<period) {zz+=open[-i];i+=1;}
if (zz==0) {zz=open*period;}
line[0]=zz/period;
http://www.bot4sale.ru/download-categories/2012-06-13-15-10-36/item/indikator-frama.html