[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[EquisMetaStock Group] Re: HEIKIN-ASHI CANDLESTICK OSCILLATOR



PureBytes Links

Trading Reference Links

As a subscriber to Roy's newsletter you would have a solution to 
this.

Preston



--- In equismetastock@xxxxxxxxxxxxxxx, "Ed Hoopes" 
<reefbreak_sd@xxx> wrote:
>
> As a former user of MetaStock software, I can comment on why the
> indicator is not programmed for MS.  The MetaStock formula language
> does not have nearly enough functions to implement the code.
> 
> Below, I show the indicator programmed in AmiBroker by Tomasz 
Janeczko.
> 
> Here is an incomplete list of required functions that MS lacks:
> IIF - an immediate IF function that works on data arrays
> IF  - a conditional execution statement that allows blocks of
> statements to be conditionally executed
> Hold - holds a logic true/false in a certain state for a number of 
bars
> AMA - an adaptive moving average function
> ParamToggle - switches the logic state of a variable
> Flip - works like an electrical FlipFlop logic circuit
> StyleArea & StyleOwnScale - allows proper plotting of Heikin bars.
> 
> If you wanted to implement this indicator in MS you would need to 
buy
> the software developers kit which has software hooks into the MS
> package.  Plus buy some fully capable language compiler like C++.  
> 
> Or, for $199 you could buy AB and use the code below :)
> 
> ***********************
> 
> HA Candelstick Oscillator in AmiBroker;
> 
> 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 = Param("Dn TEMA avg", 34, 1, 100 );
> 
> // 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 );
> 
> 
> 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 );
> }--- In equismetastock@xxxxxxxxxxxxxxx, "maurizio_innamorati"
> <maurizio.innamorati@> wrote:
> >
> > The above indicator is discussed in TASC December issue. 
unfortunately, 
> > the formula in MS code is not listed in Traders' Tips (given in 
article 
> > itself only available to subscribers). Could somebody share the 
code 
> > for the above indicator witg us? Thanks.
> >
>



------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/equismetastock/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/equismetastock/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:equismetastock-digest@xxxxxxxxxxxxxxx 
    mailto:equismetastock-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    equismetastock-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/