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

RE: [amibroker] Re: Help re converting metastock code



PureBytes Links

Trading Reference Links

Hi Ton,

 

You could substitute the Hull MA for the LinReg.  I was just converting MetaStock code as it was posted on the forum and made a channel out of it.   All you would need to do is substitute the line:

 

LR = LinearReg(C,periods);

 

With the line:

 

LR = WMA( 2*WMA(C,int(periods/2))- WMA(C,periods),int(sqrt(periods)));  // Hull MA

 

Regards,

 

David

 


From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Ton Sieverding
Sent: 03/02/2007 4:09 AM
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] Re: Help re converting metastock code

 

Thanks for the code David. But why not using the Hull MA in stead of the LinReg ? Just to get the same lunch from the same kitchen ...

 

Regards,

Ton Sieverding.

 

 

 

 

 

 

----- Original Message -----

From: dbw451

Sent: Friday, March 02, 2007 12:12 AM

Subject: RE: [amibroker] Re: Help re converting metastock code

 

Hi Russ,

I took a quick look at the alanhull website and at first glance did not see anything about your indicator.  I guess I need to register…  Anyways the indicator looked interesting to me and I thought having the indicator above the prices would also be beneficial, so I created a channel.  For lack of a better name, I call it a Hull channel.  What’s interesting about the Hull channel is that it shows consolidation vs. trending pretty well.  The consolidation areas are bracketed by flat lines where the trending areas the channel has a slope.  The trending part of the channel is actually very similar to a Keltner channel.  Here’s the Hull channel code if anyone is interested:

//

// Hull Channel

//

periods = Param("periods", 13,2,100,1);

ATRmult = Param("ATR mult", 2.5,1.0,6.0,.25);

LR = LinearReg(C,periods);

LR_ATRl = LR - (ATR(periods)*ATRmult);

LR_ATRu = LR + (ATR(periods)*ATRmult);

HClower = 0// Hull Channel upper line

HCupper = 0// Hull Channel lower line

for (i=periods; i<BarCount; i++) {

       if(LR[i] > HClower[i-1]) {

              if(LR_ATRl[i] > HClower[i-1])

                     HClower[i] = LR_ATRl[i];

              else

                     HClower[i] = HClower[i-1];

       }

       else

              HClower[i] = LR[i];

       if(LR[i] < HCupper[i-1]) {

              if(LR_ATRu[i] < HCupper[i-1])

                     HCupper[i] = LR_ATRu[i];

              else

                     HCupper[i] = HCupper[i-1];

       }

       else

              HCupper[i] = LR[i];

}

Plot( HClower, "HC lower", ParamColor("HC color", colorWhite ), ParamStyle("HC style") );

Plot( HCupper, "HC upper", ParamColor("HC color", colorWhite ), ParamStyle("HC style") );

Regards,

David


From: amibroker@xxxxxxxxxps.com [mailto:amibroker@yahoogroups.com] On Behalf Of russ_shor
Sent: 03/01/2007 4:04 AM
To: amibroker@xxxxxxxxxps.com
Subject: [amibroker] Re: Help re converting metastock code

Hi David

thanks for the code. Please check out www.alanhull.com.au. His online
tutorial is very interesting.

Kind regards
Russ

--- In amibroker@xxxxxxxxxps.com, "dbw451" <dbw451@xxx> wrote:
>
> Hi Russ,
>
>
>
> The MetaStock PREV function is a strange function that represents the
> previous value of the function which contains it. I chose to write
a loop
> to calculate the indicator values. Your indicator looks
interesting; what
> is it called and how do you use it?
>
>
>
> The following code was written for readability to help explain the PREV
> function, not minimal code optimization (although the code is fast as
> written):
>
>
>
> // MetaStock Code
>
> // if(LinearReg(C,13)>PREV,if(LinearReg(C,13)-(ATR(13)*2.5)>PREV,
>
> // LinearReg(C,13)-(ATR(13)*2.5),PREV),LinearReg(C,13));
>
>
>
> periods = Param("periods", 13,2,100,1);
>
> LR = LinearReg(C,periods);
>
> LR_ATR = LR - (ATR(periods)*2.5);
>
>
>
> MyInd = 0; // Indicator to calculate, MyInd[i-1] = MetaStock PREV
>
> PREV = 0;
>
>
>
> for (i=periods; i<BarCount; i++) {
>
> PREV[i] = MyInd[i-1];
>
> if(LR[i] > PREV[i]) {
>
> if(LR_ATR[i] > PREV[i])
>
> MyInd[i] = LR_ATR[i];
>
> else
>
> MyInd[i] = PREV[i];
>
> }
>
> else
>
> MyInd[i] = LR[i];
>
> }
>
>
>
> Plot( MyInd, "My Indicator", ParamColor("My Ind color", colorRed ),
> ParamStyle("My Ind style") );
>
>
>
>
>
> Regards,
>
>
>
> David
>
>
>
> _____
>
> From: amibroker@xxxxxxxxxps.com [mailto:amibroker@xxxxxxxxxps.com]
On Behalf
> Of russ_shor
> Sent: 02/28/2007 7:40 AM
> To: amibroker@xxxxxxxxxps.com
> Subject: [amibroker] Help re converting metastock code
>
>
>
> Hi re a lower deviation metastock can someone help convert to
> Amibroker. I use version 4.6
>
> Metastock code:
>
If(LinearReg(c,13)>PREV,If(LinearReg(C,13)-(ATR(13)*2.5)>PREV,LinearReg(C,13
> )-(ATR(13)*2.5),PREV,LinearReg(C,13));
>

__._,_.___

Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html





SPONSORED LINKS
Investment management software Investment property software Investment software
Investment tracking software Return on investment software

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___