+91-0000000000

}

Monday – Friday : 9:00 AM – 6:30 PM

MultiCycle

The MultiCycle AFL in Amibroker focuses on analyzing multiple cycles in the market. Integrated with Amibroker data feed, this AFL identifies and evaluates various cycles present in the market, aiding traders in understanding cyclical patterns. Utilizing Amibroker data feed capabilities, MultiCycle assists traders in identifying potential cycle-based trading opportunities and making informed decisions based on cyclical analysis.

/

//
//  This looks at four different cyclic indicators together at one time. When
//  three oscillators synchronize, this signals a strong buy or sell.
//
//  The white dotted line is the Volume Flow Indicator, or VFI. If the VFI is
//  above the zero line, look for synchronized oscillators rising out of an
//  oversold condition -- this is a good buy signal. If VFI is below zero, look
//  for overbought conditions and short, instead.
//
//  The REI is Tom DeMark's Range Expansion Index. This is the most leading
//  indicator included here. The DSS is a double-smoothed stochastic, good for
//  timing and exact buy or sell point. And the IFT is the Inverse Fisher
//  Transform function.
//
//  This indicator works well for any time frame. All it takes is a little
//  getting used to before you become intuitive with it.
//
//  I named it the MultiCycle for lack of a better name.
//
//------------------------------------------------------------------------------

/*
MULTICYCLE 1.0
By Brian Richard
*/
/* Volume Flow Indicator */
Period = Param("VFI Period",26,26,1300,1);
Coef=0.2;
VCoef=Param("Max. vol. cutoff",2.5,2.5,50,1);
inter = log(Avg)-log(Ref(Avg,-1));
Vinter = StDev(inter,30);
Cutoff=Coef*Vinter*Close;
Vave=Ref(MA(V,Period),-1);
Vmax=Vave*Vcoef;
Vc=Min(V,VMax);
MF=Avg-Ref(Avg,-1);
VCP=IIf(MF>Cutoff,VC,IIf(MF<-Cutoff,-VC,0));
VFI1=Sum(VCP,Period)/Vave;
VFI=EMA(VFI1,3);

/* Double Smoothed Stochastic - DSS */
Slw = 4; Pds = 4;
A = EMA((Close-LLV(Low,Pds))/(HHV(H,pds)-LLV(L,Pds)),Slw)*100;
DSS = EMA((A-LLV(A,pds))/(HHV(A,Pds)-LLV(A,Pds)),Slw)*100;

/* Tom DeMark's Range Expansion Index */
HighMom = H - Ref( H, -2 );
LowMom = L - Ref( L, -2 );
Cond1 = ( H >= Ref( L,-5) OR H >= Ref( L, -6 ) );
Cond2 = ( Ref( H, -2 ) >= Ref( C, -7 ) OR Ref( H, -2 ) >= Ref( C, -8 ) );
Cond3 = ( L <= Ref( H, -5 ) OR L <= Ref( H, -6) );
Cond4 = ( Ref( L, -2 ) <= Ref( C, -7 ) OR Ref( L, -2 ) <= Ref( C, -8 ) );
Cond = ( Cond1 OR Cond2 ) AND ( Cond3 OR Cond4 );
Num = IIf( Cond, HighMom + LowMom, 0 );
Den = abs( HighMom ) + abs( LowMom );
TDREI = 100 * Sum( Num, 5 )/Sum( Den, 5 ) ;

// General - purpose Inverse Fisher Transform function
function InvFisherTfm( array )
{
e2y = exp( 2 * array );
return ( e2y - 1 )/( e2y + 1 );
}

Value1 = 0.1 * (DSS-55);
Value2 = WMA( Value1, 5 );

Value3 = 0.1 * ( RSI( 5 ) - 50 );
Value4 = WMA( Value3, 10 );

Value5 = 0.03 * (TDREI);
Value6 = WMA( Value5, 10 );

Value10 = VFI;
Value11 = EMA(VFI,10);

Plot( InvFisherTfm( Value2 ), "DSS", colorDarkGreen, styleThick );
Plot( InvFisherTfm( Value4 ), "RSI", colorBlue, styleThick );
Plot( InvFisherTfm( Value6 ), "REI", colorRed, styleThick );
Plot( InvFisherTfm( Value11 ), "VFI", colorWhite, styleDots );

Plot(0,"",colorDarkBlue,styleDots);
PlotGrid( 0.5 );
PlotGrid(-0.5 );
_SECTION_END();

Open chat
1
Hi, how can I help you?