PureBytes Links
Trading Reference Links
|
Darshit,
Here's your code.
enjoy,
Preston
In Metastock we are lucky that we already have built in indicators
for rally and reaction days with and without volume. This makes our
job a good bit easier than in Amibroker.
We have already seen what a simple conversion from Amibroker to
Metastock can be like. Instead of using this code:
RY:= H > Ref(H, -1) AND L >= Ref(L, -1);{Rally Day}
RX:= H <= Ref(H, -1) AND L < Ref(L, -1);{Reaction Day}
IN:= H <= Ref(H, -1) AND L >= Ref(L, -1);{Inside Day}
OUT:= H > Ref(H, -1) AND L < Ref(L, -1);{Outside Day}
We are going to simplify things a bit and use this code similar to
this instead:
RY:=Rally();
RX:=Reaction();
IN:=Inside();
OUT:=Outside();
Our code requires that we count rally and reaction days so we won't
be using either inside or outside days. We will also be counting
rally and reaction days with volume. There is a bit of redundancy
here but inorder to stay true to the code we will count both.
{Cole Trading System}
{Coded for Metastock}
{by Preston Umrysh at}
{The EquisMetastock Yahoo Group}
{Cole Trading Definitions}
RY:=Rally();{upday}
RX:=Reaction();{downday}
RYVol:=RallyWithVol();{up vol}
RXVol:=ReactionWithVol();{down vol}
{Cole Count Calculations}
UpDay:=Cum(RY);
DownDay:=Cum(RX);
UpVol:=Cum(RYVol);
DownVol:=Cum(RXVol);
UpDCnt:=UpDay-ValueWhen(1,RX,UpDay);
DnDCnt:=DownDay-ValueWhen(1,RY,DownDay);
UpVCnt:=UpVol-ValueWhen(1,RXVol,UpVol);
DnVCnt:=DownVol-ValueWhen(1,RYVol,DownVol);
{Cole Signals}
Buy:=UpDCnt >=3 AND UpVCnt >=3;
Sell:=DnDCnt >=3 AND DnVCnt >=3;
Buy; -Sell;
{end}
--- In equismetastock@xxxxxxxxxxxxxxx, "Darshit" <darsh.goswami@xxx>
wrote:
>
> Dear Friends ,..
>
> I have got the AFL ( Amibroker Formulle file ) for this ,..
>
> If any senior can convert this code to Metastock format i will be
> thankful...
>
> ===========================================================
> /* COLE.AFL v 1.00 17/10/2001
> /* Cole Trading Method
> /* Developed by Roger Cole
> /* From Technical Analysis of Stocks and Commodities, V8:12 (460-
> 463), by Alan Friedman
> /* Indicator developed and coded by Marek Chlopek, October 2001
> /* Support from Tomasz Janeczko and Amibroker Mailing List members -
> THANKS!!! */
>
> /*
>
**********************************************************************
> **** */
> /* Cole Trading Method description
> /* A up signal is formed when a stock makes three Rally Days in a
row
> with larger volume on each day
> /* A down signal is formed when a stock makes three Reaction Days
in
> a row with larger volume on each day
> /* Inside and Outside Days are ignored */
>
> /*
>
**********************************************************************
> **** */
> /* Cole Trading Method Indicator development description
> /* Cole Trading Method measures two independent signals: day status
> (Rally, Reaction, Inside, Outside) and volume,
> /* therefore two independent sub-indicators have been implemented:
> /* ColeDay - counts number of days in a row when Rally (positive)
or
> Reaction (negative)
> /* ColeVolume - counts number of days with higher volume, always
> positive */
>
> /*
>
**********************************************************************
> **** */
> /* Cole's Trading Day Status definition */
> RY = H > Ref(H, -1) AND L >= Ref(L, -1); // Rally Day
> RX = H <= Ref(H, -1) AND L < Ref(L, -1); // Reaction Day
> IN = H <= Ref(H, -1) AND L >= Ref(L, -1); // Inside Day
> OUT = H > Ref(H, -1) AND L < Ref(L, -1); // Outside Day
>
> VolRY = Ref(V, - BarsSince(RY));
> VolRX = Ref(V, - BarsSince(RX));
> RYwithVol = RY AND V > IIf(RY, Ref(VolRY, -1), VolRY); // Rally
> Day with Volume
> RXwithVol = RX AND V > IIf(RX, Ref(VolRX, -1), VolRX); //
Reaction
> Day with Volume
>
> /*
>
**********************************************************************
> **** */
> /* ColeDay - counts number of Rally Days in a row (positive) or
> Reaction Days in a row (negative)
> /* When Rally ColeDay increases by 1 unless the first Rally Day
then
> ColeDay = 1
> /* When Reaction ColeDay decreases by 1 unless the first Reaction
Day
> then ColeDay = -1
> /* When Inside Day or Outside Day then ColeDay stays unchanged */
> PeriodRY = BarsSince(NOT RY);
> PeriodRX = BarsSince(NOT RX);
> ColeDay = ValueWhen(RX OR RY, Sum(RY, PeriodRY) - Sum(RX,
PeriodRX));
>
> /*
>
**********************************************************************
> **** */
> /* ColeVolume - counts number of days with higher volume, always
> positive
> /* When volume higher than previous day volume ColeVolume increases
> by 1
> /* When volume lower previous day volume then ColeVolume = 1
> /* When Inside Day or Outside Day then ColeVolume stays unchanged */
> PeriodV = BarsSince(V < Ref(V, -1) AND (RX OR RY));
> ColeVolume = ValueWhen(RX OR RY, Sum (RX+RY, PeriodV) +1);
>
> /*
>
**********************************************************************
> **** */
> /* Trading Signals in Cole Trading Method
> /* Buy Signal - when a stock makes three Rally Days in a row with
> larger volume on each day
> /* Sell Signal - when a stock makes three Reaction Days in a row
with
> larger volume on each day */
> Buy = ColeDay >= 3 AND ColeVolume >= 3;
> Sell = ColeDay <= -3 AND ColeVolume >= 3;
> Cover = Buy;
> Short = Sell;
>
> /*
>
**********************************************************************
> **** */
> /* Graphic presentation in Amibroker */
> MaxGraph = 2;
> Graph0 = ColeDay;
> Graph1 = ColeVolume;
> Title = Name() + " - ColeDay = " + WriteVal(Graph0, 1.0) + ";
> ColeVolume = " + WriteVal(Graph1, 1.0);
>
> /*
>
**********************************************************************
> **** */
> /* Exploration in Amibroker */
> Filter = 1;
> NumColumns = 9;
> Column0 = H; Column0Name = "H"; Column0Format
> = 1.2;
> Column1 = L; Column1Name = "L"; Column1Format
> = 1.2;
> Column2 = V; Column2Name = "V"; Column2Format
> = 1.0;
> Column3 = RY; Column3Name = "RY"; Column3Format
> = 1.0;
> Column4 = RX; Column4Name = "RX"; Column4Format
> = 1.0;
> Column5 = IN; Column5Name = "IN"; Column5Format
> = 1.0;
> Column6 = OUT; Column6Name = "OUT";
Column6Format
> = 1.0;
> Column7 = ColeDay; Column7Name = "ColeDay"; Column7Format
> = 1.0;
> Column8 = ColeVolume; Column8Name = "ColeVolume"; Column8Format
> = 1.0;
>
> /*
>
**********************************************************************
> **** */
> /* END COLE Indicator Formula */
>
> ===========================================================
>
> Regards,..
> Darsh
>
------------------------------------
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/
|