 |
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
*просто-системщик* Студент
Зарегистрирован: 28.10.2002 Сообщения: 12
|
Добавлено: Пт Ноя 01, 2002 6:42 pm Заголовок сообщения: |
цитата |
|
Сегодня была очень продуктивная ночь - появилась совершенно новая версия индикатора. а все началоь с того что поставил под сомнение правильность формулы Кауфмана - то есть его константы. Мне сразу казалось что они не совсем правильные, или же совсем не правильные - поэтому я начал с того что привязал МА к функции ROC от ATR - получилась совсем другая картина.
###################################################
$AMATRDM/XP
y:= Input("Moving Average Period:",1,1000,12);
y1:= Input("ATR Period:",3,1000,12);
x:=Input("Коэффициент сглаживания %:",0,100,30);
x1:= Input("Directional Movement - Period:",1,100,24);
x2:= Input("Коэффициент ширины канала %:",1,100,20);
Constant:= Abs(ROC(ATR(y1), 1, %)) / 20;
EMA:= Mov(MP(),y,E);
AMA:=If(Cum(1)= y1 +1, Ref(MP(), -1) + constant*(MP() - Ref(MP(), -1)), PREV + constant*(MP() - PREV));
AMATR:=AMA - ((AMA - EMA)*x/100);
k:= (((Highest( H ) - Lowest( L )) * 0.01) / Highest( H )) * (PDI(x1) - MDI(x1))* (x2/100);
AMATRPDI:= AMATR + (AMATR * k);
AMATRMDI:= AMATR - (AMATR * k);
AMATRPDI;
AMATRMDI;
AMATR;
#############################
Что нового:
1. Убрал непонятные коэффициенты. которые непонятно как надо было настраивать и вернул обратно обычные тайм-периоды - отдельно для EMA и для ATR. поэтому настройка мувинга на период стала естественной и стандартной.
2. Индикатор теперь сам просчитывает ширину канала для каждого загруженного графика отдельно в зависимости от H и L самого графика - не нужно подгонять коэффициент для того чтобы каналец выглядел удобоваримо - вы ставите только стандартный процент ширины канала - рекомендуется по умолчанию 20 % - но если есть желание - можно и больше. - если поставите 1% то канальца почти не будет видно - если 100%, то каналец распластается на весь график
3. Индикатор работает на любых графиках со стандартными параметрами по умолчанию - не нужно подгонять параметры для какого-либо графика .
4. коэффициенты теперь расчитываются только в процентах - от 1 до 100%
5..добавлено сглаживание, которого фактически в предыдущих формулах не было - то есть линия основного мувинга сглаживается до стандартного EMA. Если вы ставите сглаживание 0 % - то строится натуральный AMATR без сглаживания - если 100%, то строится обычная EMA/ по умолчанию сглаживание - 30%
Недостатки:
- пока не нашел.
вообщем желаю Вам приятного тестирования и работы, |
|
Вернуться к началу |
|
*просто- системщик Абитуриент
Зарегистрирован: 01.11.2002 Сообщения: 2
|
Добавлено: Пт Ноя 01, 2002 6:53 pm Заголовок сообщения: |
цитата |
|
а вот это - усовершенствованная формула AMA Кауфмана которая опубликована в журнале современный трейдинг. Если Вы пользуетесь его формулой - то советую поменять ее на мой вариант
###########################
$AMA/XP
y:= Input("AMA Period:",1,1000,12);
y1:= Input("EMA Period:",1,1000,10);
x:=Input("Коэффициент адаптации %:",1,100,100);
x1:=Input("Коэффициент сглаживания %:",0,100,10);
Signal:= MP() - Ref(MP(), - y);
Noise:= Sum(Abs(ROC(MP(), 1, POINT)), y);
ER:= Abs(Signal/Noise);
SSC:= ER*(2/3 - 2/x*31/100) + 2/x*31/100;
Constant:=Power(SSC,2);
EMA:= Mov(MP(),y1,E);
MA:= If(Cum(1)= y +1, Ref(MP(), -1) + constant*(MP() - Ref(MP(), -1)), PREV + constant*(MP() - PREV));
AMA:= MA - ((MA - EMA)*x1/100);
AMA;
################################################### |
|
Вернуться к началу |
|
** академик
Зарегистрирован: 05.05.2001 Сообщения: 4869
|
Добавлено: Пт Ноя 01, 2002 6:59 pm Заголовок сообщения: |
цитата |
|
опять форум язык мне показывает
###########################
$AMA/XP
y:= Input("AMA Period:",1,1000,12);
y1:= Input("EMA Period:",1,1000,10);
x:=Input("Коэффициент адаптации %:",1,100,100);
x1:=Input("Коэффициент сглаживания %:",0,100,10);
Signal:= MP() - Ref(MP(), - y);
Noise:= Sum(Abs(ROC(MP(), 1, POINT)), y);
ER:= Abs(Signal/Noise);
SSC:= ER*(2/3 - 2/x*31/100) + 2/x*31/100;
Constant:= Power(SSC,2);
EMA:= Mov(MP(),y1,E);
MA:= If(Cum(1)= y +1, Ref(MP(), -1) + constant*(MP() - Ref(MP(), -1)), PREV + constant*(MP() - PREV));
AMA:= MA - ((MA - EMA)*x1/100);
AMA;
################################################### |
|
Вернуться к началу |
|
*Жук_навозный* кандидат
Зарегистрирован: 13.12.2001 Сообщения: 294
|
Добавлено: Пн Ноя 04, 2002 6:43 pm Заголовок сообщения: |
цитата |
|
Надо потестировать |
|
Вернуться к началу |
|
*Жук_навозный* кандидат
Зарегистрирован: 13.12.2001 Сообщения: 294
|
Добавлено: Пн Ноя 04, 2002 6:47 pm Заголовок сообщения: |
цитата |
|
Что то неи пойму, в чем смысл последней формулы ? |
|
Вернуться к началу |
|
*просто-системщик* Студент
Зарегистрирован: 28.10.2002 Сообщения: 12
|
Добавлено: Пн Ноя 04, 2002 9:31 pm Заголовок сообщения: |
цитата |
|
вот апгрейд сделал - слегка усовершенствовал - совсем убралась чистая EMA - теперь это тоже EMATR стала - и теперь можно видеть четыре линии индикатора - то есть одновременно и сглаженную и не сглаженную - а можно убрать три линии и оставить одну - как захотите.
вторая формула - усовершенствованная AMA Кауфмана
###################################################
$AMATRDM/XP
y:= Input("Moving Average Period:",1,1000,10);
x:=Input("Коэффициент сглаживания %:",0,100,100);
x1:= Input("Directional Movement Period:",1,100,24);
x2:= Input("Коэффициент ширины канала %:",0,100,20);
com:= Input("Линии DM отображать(1) или нет(0):",0,1,1);
com1:= Input("Первичный AMATR отображать(1) или нет(0):",0,1,1);
c1:=Abs(ROC(ATR(y), 1, %));
Constant:= If( c1>50, 50, c1) / 20;
AMA:=If(Cum(1)= y +1, Ref(MP(), -1) + constant*(MP() - Ref(MP(), -1)), PREV + constant*(MP() - PREV));
AMA1:= Mov(AMA,y,E);
AMATR:= AMA - ((AMA - AMA1)*x/100);
k:= (((Highest( H ) - Lowest( L )) * 0.01) / Highest( H )) * (PDI(x1) - MDI(x1))* (x2/100);
AMATRPDI:= AMATR + (AMATR * k);
AMATRMDI:= AMATR - (AMATR * k);
If(com=1, AMATRPDI, AMATR);
If(com=1, AMATRMDI, AMATR);
If(com1=1, AMA, AMATR);
AMATR;
##################
###########################
$AMADM/XP
y:= Input("AMA Period:",1,1000,10);
x:=Input("Коэффициент адаптации %:",1,100,100);
z:=Input("Коэффициент сглаживания %:",0,100,100);
x1:= Input("Directional Movement - Period:",1,100,24);
x2:= Input("Коэффициент ширины канала %:",0,100,20);
com:= Input("Первичный AMA отображать(1) или нет(0):",0,1,1);
Signal:= MP() - Ref(MP(), - y);
Noise:= Sum(Abs(ROC(MP(), 1, POINT)), y);
ER:= Abs(Signal/Noise);
SSC:= ER*(2/3 - 2/x*31/100) + 2/x*31/100;
Constant:= Power(SSC,2);
MA:= If(Cum(1)= y +1, Ref(MP(), -1) + constant*(MP() - Ref(MP(), -1)), PREV + constant*(MP() - PREV));
MA1:= Mov(MA,y,E);
AMA:= MA - ((MA - MA1)*z/100);
k:= (((Highest( H ) - Lowest( L )) * 0.01) / Highest( H )) * (PDI(x1) - MDI(x1))* (x2/100);
AMAPDI:= AMA + (AMA * k);
AMAMDI:= AMA - (AMA * k);
AMAPDI;
AMAMDI;
If(com=1, MA, AMA);
AMA;
###################################################
желаю всего хорошего |
|
Вернуться к началу |
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщению Вы можете загружать файлы
|
|