Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
Find Out More Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

Heiken Ashi Candlestick Oscillator for Amibroker (AFL)

Rating:
4 / 5 (Votes 2)
Tags:
trading system, amibroker, heikin

Heiken Ashi Candlestick Oscillator with some back test settings added.

Screenshots

Similar Indicators / Formulas

heikin ashi with KPL system
Submitted by viplavmba over 7 years ago
Projection Oscillator
Submitted by kaiji almost 8 years ago
Heikin Ashi
Submitted by kaiji about 8 years ago
Kase CD V2batu
Submitted by batu1453 over 3 years ago
Ichimoku
Submitted by prashantrdx over 3 years ago
Miftha remix for dse
Submitted by coolpace over 7 years ago

Indicator / Formula

Copy & Paste Friendly
PositionSize = MarginDeposit = 1;
RoundLotSize = 1; // this you can set also in the Settings page
PointValue = 20;

_SECTION_BEGIN("Heiken Asi Candlestick Oscillator");
function ZeroLagTEMA( array, period ) 
{ 
 TMA1 = TEMA( array, period ); 
 TMA2 = TEMA( TMA1, period ); 
 Diff = TMA1 - TMA2; 
 return TMA1 + Diff ; 
} 

///////////////////// 
// Heikin-Ashi code 
HaClose = (O+H+L+C)/4; 
HaOpen = AMA( Ref( HaClose, -1 ), 0.5 ); 

avp = Param("Up TEMA avg", 34, 1, 100 ); 
avpdn = avp; //Param("Dn TEMA avg", 34, 1, 100 ); 

avp = Optimize("Periods", 34, 1, 100, 1);

// Velvoort is using not original, but modified Heikin-Ashi close 
HaClose = ( HaClose + HaOpen + Max( H, HaOpen ) + Min( L, HaOpen ) )/4; 

// up average 
ZlHa = ZeroLagTEMA( HaClose, avp ); 
ZlCl = ZeroLagTEMA( ( H + L ) / 2, avp ); 
ZlDif = ZlCl - ZlHa; 

keep1 = Hold( HaClose >= HaOpen, 2 ); 
keep2 = ZlDif >= 0; 
keeping = keep1 OR keep2; 
keepall = keeping OR ( Ref( keeping, -1 ) AND ( C > O ) OR C >= Ref( C, -1 ) ); 
keep3 = abs( C - O ) < ( H - L ) * 0.35 AND H >= Ref( L, -1 ); 
utr = keepall OR ( Ref( keepall, -1 ) AND keep3 ); 

// dn average 
ZlHa = ZeroLagTEMA( HaClose, avpdn ); 
ZlCl = ZeroLagTEMA( ( H + L ) / 2, avpdn ); 
ZlDif = ZlCl - ZlHa; 

keep1 = Hold( HaClose < HaOpen, 2 ); 
keep2 = ZlDif < 0; 
keeping = keep1 OR keep2; 
keepall = keeping OR ( Ref( keeping, -1 ) AND ( C < O ) OR C < Ref( C, -1 ) ); 
keep3 = abs( C - O ) < ( H - L ) * 0.35 AND L <= Ref( H, -1 ); 
dtr = keepall OR ( Ref( keepall, -1 ) AND keep3 ); 

upw = dtr == 0 AND Ref( dtr, -1 ) AND utr; 
dnw = utr == 0 AND Ref( utr, -1 ) AND dtr; 

Haco = Flip( upw, dnw ); 

Short   = (Cross (Haco, 0.5) && Hour() > 9 && Hour() < 14);
Buy = (Cross (0.5, haco) && Hour() > 9 && Hour() < 14);
Sell = (Cross (Haco, 0.5) && Hour() > 9 && Hour() < 14) OR Hour() == 14;
Cover  = (Cross (0.5, haco) && Hour() > 9 && Hour() < 14) OR Hour() == 14;

if( ParamToggle("Chart Type", "Price with color back|HACO wave" ) ) 
{ 
 Plot( Haco, "Haco", colorRed ); 
} 
else 
{ 
 Plot( C, "Close", colorBlack, 
       ParamStyle( "Style", styleCandle, maskPrice ) ); 
 Plot( 1, "", IIf( Haco, colorPaleGreen, colorRose ), 
       styleArea | styleOwnScale, 0, 1 ); 
}
_SECTION_END();

0 comments

Leave Comment

Please login here to leave a comment.

Back