Ami –Options

  • Автор темы Oppenhiemer
  • Дата начала

Oppenhiemer

New member
Может кому пригодится – выделяет «доминирующий цикл» движения опционов. Все работает. Картинки рисует и предупреждения выдает хорошие. :)
 

Oppenhiemer

New member
PI=3.1415926;

Data=(H+L)/2;

//detrending (high-pass filter)
HFPeriods=Param(“HP filter cutoff”,40,20,100);
alfa1=(1-sin(2*pi/HFperiod)/cos(2*pi/HFPeriods);
HP=AMA2(Data-Ref(Data,-1),0.5*(1+alpha1),alpha1);

//6-tap low-pass FIR filter
SmoothHP=(HP+2*Ref(HP,-1)+3*Ref(HP,-2)+3*Ref(HP,-3)+2*Ref(HP,-4)+Ref(HP,-5))/12;

SmoothHPDiff=SmoothHP-Ref(SmoothHP,-1);

X=BarIndex();

delta=-0.015*x+0.5;
delta=Max(delta,0.15);

Q=0
Real=0
Imag=0;
Ampl=0;
DB=0;

I=SmoothHP;

MaxAmpl=0;

for(N=8;N<=50;N++)
{
beta=cos(2*PI/N);
Q=(N/2*PI))*SmoothHPDiff;

for(bar=8;bar<BarCount;bar++)
{
gamma=1/cos(4*PI*delta[bar]/N);
alfa=gamma-sqrt(gamma^2-1);

Real[bar]=0.5*(1-alpha)*(I[bar]-I[bar-1])+
beta*(1+alpha)*Real[bar-1]-
alpha*Real[bar-2];

Imag[bar]=0.5*(1-alpha)*(Q[bar]-Q[bar-1]+
beta*(1+alpha)*(Q[bar]-Q[bar-1]-
alpha*Imag[bar-2];

}
Ampl=Real^2+Imag^2;

MaxAmpl=Max(MaxAmpl,Ampl);

VarSet(“Ampl”+N,Ampl);

}


TunedFilterDisplay=ParamToggle(“Dom Cycle Tuned Filter”,”No/Yes”);

//Plot Heat Map (Spectrogram)
//and find dominant cycle
DcNum=DcDenom=0;
for(N=8;N<=50;N++)
{
Ampl=VarGet(“Ampl”+N);
db=Nz(-10*log10(0.01/(1-0.99*Ampl/MaxAmpl)));
db=Min(db,20);

Red=Ilf(db<=10,255,255*(2-db/10));
Green=Ilf(db<=10,255*(1-db/10),0);

If(NOT TurnedFilterDisplay)
PlotOHCL(N,N,N-1,N-1^6673, ColorRGB(Red,Green,0),styleCloud I StyleNoLabel);

DcNum=DucNum+(db<3)*N*(20-db);
DcDenom=DcDenom+(db<3)*(20-db);

}

DC=DcNum/DcDenom;

If (ParamToggle (‘Show Dom. Cycle?”,”No/Yes”))
{
DomCycle=Median(DC,10);
Plot (DomCycle,”Dominant Cycle”,colorBlue);
}

If(TurnedFilterDisplay)

{
DomCycle=Median(DC,10);
DomCycle=Max(DomCycle,8);

Value =0

For(bar=10, bar<BarCount,bar++)
{
beta=cos(2*PI/domCycle(bar]);
gamma=1/cos(4*PI*delta[bar]/DomCycle[bar]);
alpha=gamma-sqrt(gamma^2-1);

Value [bar]=0.5*(1-alpha)*SmoothHPDiff[bar]+
beta*(1+alpha)*Value[bar-1]-
alpha*Value[bar-2];

}

Value2=(domCycle/(2*PI))*(Value-Ref(Value,-1));

Plot(Value,”Sine”,colored);
Plot(Value2,”Cosine”,colorGreen);
}

GraphZOrder=1;
 

kent

New member
А можно поподробней, че за код?
я так понял для амиброкера, опционов, что за доминирующий цикл он показывает? как им пользоваться?
 

Oppenhiemer

New member
А можно поподробней, че за код?
я так понял для амиброкера, опционов, что за доминирующий цикл он показывает? как им пользоваться?
ну он просто выбирает на разных оборотах циклов "более вероятные" времена покупки и продажи опционов чтоб подхватить нужное направление. стоится по модели нашего местного опционщика. рассчитан на Сипи и Рассел 2000 , но думаю данные там можно любые внести.
 
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху