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

[amibroker] Inspection Points, part Va



PureBytes Links

Trading Reference Links




In the previous examples we were selecting the top Equity 
stock for each IP.
It may be dangerous, if this top stock will give loosing 
trades up to the next IP.
It would be better to select the top3 [or, in general the 
topX], create a temporary WatchList and trade them up to the next 
IP.
I will describe the creation of the top3 
WatchLists:
My Group254 begins on Jan3,2000.
The first Inspection Point is placed on May30, 
2000.
The next are every 200 bars.
The dates [for checks] are
30/5/2000
15/3/2001
4/1/2002
21/10/2002 and 
7/8/2003.
The Buy=Cross(StochD(),30);Sell=Cross(80,StochD()); was used 
as example.
Paste in Indicator builder the
 
// Temporary top3 WatchLists per Inspection 
Point
START=DateNum()==1000530 
;per=200;EVENT=BarsSince(START)%per==0;Plot(event,"",colorWhite,2);u=LastValue(Cum(event));// 
Conditional WatchList creationNo=254;
TOP=3;// Calibrate the topXTitle="The 
top"+WriteVal(top,1.0)+" Equities are";group="";Counter=0;
for(q=u;q>0;q--){list = GetCategorySymbols( 
categoryGroup, No );R = 0; Count1=0; for( i = 0; ( sym = StrExtract( 
list, i ) ) != ""; i++ ){SetForeign(sym,True,True);global Buy;global 
Sell;Buy=Cross(StochD(),30);Sell=Cross(80,StochD());f=Equity(1,0);R[BarCount-1-i] 
= LastValue(ValueWhen(event,f,q));Count1=Count1+1;} 
G=0;L1=LastValue(Cum(1));W="";for(K=1;K<=TOP;K++){H1=LastValue(HHV(R,Count1));BAR1=LastValue((ValueWhen(R==H1,Cum(1)-1)));R[BAR1]=-1000000;Counter=Counter+1;G[L1-CountER]=-H1;w=w+StrExtract(List,L1-bar1-1)+WriteIf(k<top,",","");}Title=Title+"\nW"+WriteVal(u-q,1.0)+" 
: 
"+w;group=group+w+",";}Title=Title+"\n"+WriteIf(event,Date(),"")+"\nThe 
Group was "+group;
 
Dimitris Tsokakis
----- Original Message ----- 
From: <A 
title=tsokakis@xxxxxxxxx href="">Dimitris Tsokakis 

To: <A title=amibroker@xxxxxxxxxxxxxxx 
href="">amibroker@xxxxxxxxxxxxxxx 
Sent: Thursday, October 23, 2003 1:24 PM
Subject: Inspection Points, part IV

After the recent version 4.46.0, Oct22, 2003, you may see in 
the title not only the ordinal # but also the name of the TopEquity stock, 
for
much easier reference.
The changes are in green for the first two codes.
Dimitris Tsokakis
 
----- Original Message ----- 
From: <A 
title=tsokakis@xxxxxxxxx href="">Dimitris Tsokakis 

To: <A title=amibroker@xxxxxxxxxxxxxxx 
href="">amibroker@xxxxxxxxxxxxxxx 
Sent: Wednesday, October 22, 2003 3:02 PM
Subject: Inspection Points, part IV

We shall see now a typical 2-parametic optimization 
procedure.
I have placed AMZN, BBBY, CPWR, IDPH, MSFT and PTEN in 
WatchList6 to examine the
 
<FONT 
size=2>BuyLEVEL=Optimize("BL",20,20,45,5);SellLEVEL=Optimize("SL",60,60,85,5);Buy=Cross(StochD(),BuyLEVEL);Sell=Cross(SellLEVEL,StochD());
 
The test period was from Jan2000 till now, buy/sell at +1Open, 
commission 0.25%, all stops disabled.
For the whole List, the profits distribution was from 
-76%[IDPH, 35, 65] to +344%[CPWR, 35, 60]For the most profitable CPWR, the 
profits distribution was from  13.52% [CPWR, 45, 70] TO +344.17% [CPWR, 35, 
60]
The average profit for the whole WL would vary from +7% to 
+73%, with equal initial equities for the 6 stocks.
The IP method will define 9 inspection points and trade the 
top equity stock between two cascade IPs.
In AA terms, one should execute one optimization per IP, 
see the optimals
 
IP0, 30/5/2000     #1, 20, 70
IP1, 20/10/2000   #3, 45, 85IP2, 
19/3/2001     #2, 40, 80IP3, 
10/8/2001     #2, 40, 80IP4, 
10/1/2002     #2, 40, 80IP5, 
6/6/2002      #2, 40, 80IP6, 29/10/2002   
#2, 35, 80IP7, 26/3/2003     #2, 35, 80IP8, 
19/8/2003     #2, 35, 60
and then trade the respective # per period to see the 
final result.
This procedure may be available in Indicator builder 
with
 
// Inspection points for a 2-parametric trading 
system
<FONT 
face="Times New Roman">START=DateNum()==1000530 
;per=101;EVENT=BarsSince(START)%per==0;EXIT=Ref(EVENT,1);Plot(10000,"",Cum(1)%2,1);Plot(0,"",1,styleNoLine);Counter=Cum(EVENT)%10;shape=IIf(Counter==1,shapeDigit0,IIf(Counter==2 
,shapeDigit1,IIf(Counter==3 ,shapeDigit2,IIf(Counter==4 
,shapeDigit3,IIf(Counter==5 ,shapeDigit4,IIf(Counter==6 
,shapeDigit5,IIf(Counter==7 ,shapeDigit6,IIf(Counter==8 
,shapeDigit7,IIf(Counter==9 
,shapeDigit8,shapeDigit9)))))))));PlotShapes(shape*EVENT,colorIndigo);G=0;NUM=6;list 
= GetCategorySymbols( categoryWatchlist, NUM );for( i = 0; ( sym = 
StrExtract( list, i ) ) != ""; i++ 
){SetForeign(SYM,True,True);global Buy;global 
Sell;for(SellLevel=60;SellLevel<90;SellLevel=SellLevel+5){for(BuyLevel=20;BuyLevel<50;BuyLevel=BuyLevel+5){Buy=Cross(StochD(),BuyLEVEL);Sell=Cross(SellLEVEL,StochD());E1=Equity(1,0);E11=ValueWhen(EVENT,E1);G=IIf(G>E11,G,E11);}}}F=0;list 
= GetCategorySymbols( categoryWatchlist, NUM );for( i = 0; ( sym = 
StrExtract( list, i ) ) != ""; i++ 
){SetForeign(SYM,True,True);global Buy;global 
Sell;for(SellLevel=60;SellLevel<90;SellLevel=SellLevel+5){for(BuyLevel=20;BuyLevel<50;BuyLevel=BuyLevel+5){Buy=Cross(StochD(),BuyLEVEL) 
;Sell=Cross(SellLEVEL,StochD()) 
;E1=Equity(1,0);E11=ValueWhen(EVENT,E1);EE=IIf(E11==G,E1,0);G=IIf(E11==G,0,G);F=F+EE;}}}D=0;SLpass=0;BLpass=0;list 
= GetCategorySymbols( categoryWatchlist, NUM );for( i = 0; ( sym = 
StrExtract( list, i ) ) != ""; i++ 
){SetForeign(SYM,True,True);global Buy;global 
Sell;for(SellLevel=60;SellLevel<90;SellLevel=SellLevel+5){for(BuyLevel=20;BuyLevel<50;BuyLevel=BuyLevel+5){Buy=Cross(StochD(),BuyLEVEL);Sell=Cross(SellLEVEL,StochD());E1=Equity(1,0);D1=IIf(E1==F,I,0);SL1=IIf(E1==F,SellLevel,0);BL1=IIf(E1==F,BuyLevel,0);d=d+d1;SLpass=SLpass+SL1;BLpass=BLpass+BL1;}}}STEP=IIf(EVENT,F-Ref(F,-1),0);T=Cum(STEP);Changes=Cum(D!=Ref(D,-1));SettingsCommission=0.25/100;FINAL=(F-T)*(1-2*Settingscommission*Changes);Plot(FINAL,"\n"+WriteIf(EVENT,"*","")+"[#"+WriteVal(d,1.0)+", 
BL="+WriteVal(BLpass,1.0)+", 
SL="+WriteVal(SLpass,1.0)+"]\n"+Date(),IIf(EVENT,colorRed,colorBlack),8);
 
<FONT 
size=2>Cb=StrToNum(NumToStr(D));Title="2-parametic IP system, 
"+Date()+"\nThe TopEquity stock was "+StrExtract(List,Cb)+" 
[#"+WriteVal(d,1.0)+", BL="+WriteVal(BLpass,1.0)+", 
SL="+WriteVal(SLpass,1.0)+"]"+WriteIf(EVENT,"*","")  
;
<FONT 
size=2>// The individual CRWR 
EquitiesCountER=0;SetForeign("CPWR",True,True);for(SellLevel=60;SellLevel<90;SellLevel=SellLevel+5){for(BuyLevel=20;BuyLevel<50;BuyLevel=BuyLevel+5){Buy=Cross(StochD(),BuyLEVEL);Sell=Cross(SellLEVEL,StochD());E1=Equity(1,0);CountER=CountER+1;// 
Plot(E1,"\n["+WriteVal(BuyLevel,1.0)+", 
"+WriteVal(SellLevel,1.0)+"]",35+CountER%5,1);}}
<FONT 
face="Times New Roman"> 
The code uses CPWR 
from 19/03/2001 continuously and changes the BuyLevel, SellLevel for better 
performance.
To have a visual 
experience how it works, take a full page pane and uncomment the last line // 
Plot(E1,...
to see the bunch of 
CPWR equity lines for various BuyLevel, SellLevel. Since CPWR is the favorite 
for the last 7 IPs, see how the code selects
automatically 
the optimal combination.
The most important 
[for the dangers of optimization] : The catastrophic stock of this WL, #3 IDPH 
was the optimal back on 20/10/2000 !!
The IPs followed this 
local champion up to 19/3/2001 and never touch it again.
An IDPH fan could 
probably stay more and suffer from severe losses.
The Oct2000 picture 
had [IDPH, 45, 85] with the great +124%, by far the optimal compared to the 
+33%, +2%, -16%, -22% and -56% of the rest WL members.
The opinion for the 
"repetition of local profits" is quite expensive and may cause great damage for 
the fanatics...
Dimitris 
Tsokakis
 
----- Original Message ----- 
From: <A 
title=tsokakis@xxxxxxxxx href="">Dimitris Tsokakis 

To: <A title=amibroker@xxxxxxxxxxxxxxx 
href="">amibroker@xxxxxxxxxxxxxxx 
Sent: Tuesday, October 21, 2003 3:08 PM
Subject: Inspection Points, Hi-pass Equity for the whole Market, 
part III

The Inspection Points theory becomes very interesting when 
applied to profitable trading systems.
The system
 
// System xII
<FONT 
size=2>STARTBUY=DateNum()==1020222;STARTSELL=DateNum()==1020308;X=26;Y=24;Buy=BarsSince(STARTBuy)%X==0;Sell=BarsSince(STARTSell)%Y==0;Short=Sell;Cover=Buy;
is  profitable for the N100 database.[+346% when 
buy/sell/short/cover at +1Open, commission 0.25%, all stops disabled, initial 
equity=100007losers/94winners up to 2,650%, 8 stocks >+1000%, 17 stocks 
between +500% and +1000%].With the use of the Inspection Points, you could 
trade only one stock and come to a final Equity 205,911 !!How does it work 
:At each IP the code selects automatically the top Equity stock and follows 
its trades up to the next IP.The selections for the 8 IPs and the respective 
movements wereIP0 ADCT, buy 
ADCTIP1 VRSN, sell ADCT, buy 
VRSNIP2 VRSN, <FONT 
color=#ff0000>nothingIP3 ERICY, <FONT 
color=#ff0000>sell VRSN, buy ERICYIP4 VRSN, <FONT 
color=#ff0000>sell ERICY, buy VRSNIP5 ERICY, <FONT 
color=#ff0000>sell VRSN, buy ERICYIP6 ERICY, <FONT 
color=#ff0000>nothingIP7 VRSN, <FONT 
color=#ff0000>sell ERICY, buy VRSNIP8 VRSN, <FONT 
color=#ff0000>nothingYou may see the critical IP7, when the 
system decided to sell the [red] ERICY and buy [again] the [green] 
VRSN
 
// Inspection Points and the xII 
systemSTART=DateNum()==1020227 
;per=Param("per",50,50,200,10);EVENT=BarsSince(START)%per==0;EXIT=Ref(EVENT,1);Plot(10000,"",Cum(1)%2,1);Plot(0,"",1,styleNoLine);Counter=Cum(EVENT)%10;shape=IIf(Counter==1,shapeDigit0,IIf(Counter==2 
,shapeDigit1,IIf(Counter==3 ,shapeDigit2,IIf(Counter==4 
,shapeDigit3,IIf(Counter==5 ,shapeDigit4,IIf(Counter==6 
,shapeDigit5,IIf(Counter==7 ,shapeDigit6,IIf(Counter==8 
,shapeDigit7,IIf(Counter==9 
,shapeDigit8,shapeDigit9)))))))));
PlotShapes(shape*EVENT,colorIndigo);G=0;
NUM=254;list = GetCategorySymbols( categoryGroup, NUM 
);for( i = 0; ( sym = StrExtract( list, i ) ) != ""; i++ 
){SetForeign(SYM,True,True);global Buy;global Sell;global 
Short;global 
Cover;STARTBUY=DateNum()==1020222;STARTSELL=DateNum()==1020308;X=26;Y=24;Buy=BarsSince(STARTBuy)%X==0;Sell=BarsSince(STARTSell)%Y==0;Short=Sell;Cover=Buy;E1=Equity(1,0);E11=ValueWhen(EVENT,E1);G=IIf(G>E11,G,E11);}// 
Plot(G,"\nG",colorBlue,8);D=0;F=0;list = GetCategorySymbols( 
categoryGroup, NUM );for( i = 0; ( sym = StrExtract( list, i ) ) != ""; i++ 
){SetForeign(SYM,True,True);global Buy;global Sell;global 
Short;global 
Cover;STARTBUY=DateNum()==1020222;STARTSELL=DateNum()==1020308;X=26;Y=24;Buy=BarsSince(STARTBuy)%X==0;Sell=BarsSince(STARTSell)%Y==0;Short=Sell;Cover=Buy;E1=Equity(1,0);E11=ValueWhen(EVENT,E1);G11=ValueWhen(EVENT,G);D1=IIf(E11==G,i,0);D=D+D1;EE=IIf(E11==G,E1,0);F=F+EE;}
STEP=IIf(EVENT,F-Ref(F,-1),0);T=Cum(STEP);
<FONT 
size=2>Plot(F-T,"F-T",IIf(EVENT,colorRed,colorBlack),8);Changes=Cum(D!=Ref(D,-1));SettingsCommission=0.25/100;// 
FINAL=F-T-2*Settingscommission*Changes*(F-T);Plot(FINAL,"FINAL",2,1);
 
<FONT 
color=#008000>Cb=StrToNum(NumToStr(d));Title="System  xII for Group 
"+WriteVal(num,1.0)+", the TopEquity Stock was "+StrExtract(list,Cb)+"[ # 
"+WriteVal(D,1.0)+"]"+WriteIf(EVENT,"*","");
<FONT 
size=2>SetForeign(StrExtract(LIST,95),True,True);STARTBUY=DateNum()==1020222;STARTSELL=DateNum()==1020308;X=26;Y=24;Buy=BarsSince(STARTBuy)%X==0;Sell=BarsSince(STARTSell)%Y==0;E0=Equity(1,0);Plot(E0,"VRSN",colorBrightGreen,1);SetForeign(StrExtract(LIST,33),True,True);STARTBUY=DateNum()==1020222;STARTSELL=DateNum()==1020308;X=26;Y=24;Buy=BarsSince(STARTBuy)%X==0;Sell=BarsSince(STARTSell)%Y==0;E0=Equity(1,0);Plot(E0,"ERICY",colorRed,1);GraphXSpace=2;
 
Note 1.The code needs amibroker 4.45.0, Oct19, 
2003Note 2.The database should be absolutely 
alignedNote 3. My N100 database is in Group254 
Note 4. I have not included the [ 11 ] commissions 
at the IPs changes.Uncomment the // FINAL... line to see them included
 
Dimitris Tsokakis
----- Original Message ----- 
From: <A 
title=tsokakis@xxxxxxxxx href="">Dimitris Tsokakis 

To: <A title=amibroker@xxxxxxxxxxxxxxx 
href="">amibroker@xxxxxxxxxxxxxxx 
Sent: Friday, October 17, 2003 12:13 PM
Subject: Fw: Inspection Points and Hi-pass Equity for the whole 
Market, part II

The 
systemBuy=Cross(StochD(),30);Sell=Cross(80,StochD());was applied 
over the N100 database from Jan2000 till now.The HiEquity-pass filter 
selected for various Inspection Points [IP] theNVDA, at IP0ADBE, at 
IP1CPWR, from IP2 to IP7 andSYMC at IP8.At each IP the [blue] ground 
level G is defined. It is the value of the Equity() for this date.See how it 
works.The black line is the Equity of the selected stock from IP to the next 
IP.At IP2 [point A] the system selected CPWR [ yellow Equity line] and, 
since CPWR was the top Equity stock for IP3, IP4, IP5, IP6 and IP7, there 
was no reason to change stock.The decision at A was to sell ADBE, buy CPWR 
and follow CPWR signals until the IP8. All this period SYMC Equity [red 
line] was growing up and, some days before IP8 [point B] crossed the CPRW equity 
lineabd became the top Equity stock.The IP8 decision was to sell CPRW, 
buy SYMC and follow SYMC trades until the next IP9.   These 
details come from the Ind. builder code
// A HiEquity-pass filterSTART=DateNum()==1000530 
;Title="TOP EQ 
STOCK";EVENT=BarsSince(START)%101==0;Plot(2000,"",1,1);Plot(10000,"",Cum(1)%2,1);PlotShapes(shapeCircle*EVENT,colorRed);G=0;CountER=0;list 
= GetCategorySymbols( categoryGroup, 254 );for( i = 0; ( sym = StrExtract( 
list, i ) ) != ""; i++ ){SetForeign(SYM,True,True);global Buy;global 
Sell;Buy=Cross(StochD(),30);Sell=Cross(80,StochD());E1=Equity(1,0);//Plot(E1,"\n["+WriteVal(CountER,1.0)+"]",Counter+40,1);E11=ValueWhen(EVENT,E1);T11=ValueWhen(EVENT,Cum(1));G=IIf(G>E11,G,E11);CountER=CountER+1;}Plot(G,"\nG",colorBlue,8);CountER1=0;D=0;list 
= GetCategorySymbols( categoryGroup, 254 );for( i = 0; ( sym = StrExtract( 
list, i ) ) != ""; i++ ){SetForeign(SYM,True,True);global Buy;global 
Sell;Buy=Cross(StochD(),30);Sell=Cross(80,StochD());E1=Equity(1,0);E11=ValueWhen(EVENT,E1);//Plot(E11,"\n["+WriteVal(CountER1,1.0)+"]",Counter1+40,1);G11=ValueWhen(EVENT,G);D1=IIf(E11==G,CountER1,0);D=D+D1;EE=IIf(E11==G,E1,-1E10);Plot(EE,"",1,1);CountER1=CountER1+1;}Title=Title+" 
["+WriteVal(D,1.0)+"]"+WriteIf(EVENT," * ","");
 
<FONT 
size=2>SetForeign(StrExtract(List,92),True,True);Buy=Cross(StochD(),30);Sell=Cross(80,StochD());E0=Equity(1,0);Plot(E0,"",4,8);SetForeign(StrExtract(List,25),True,True);Buy=Cross(StochD(),30);Sell=Cross(80,StochD());E0=Equity(1,0);Plot(E0,"",7,8);
 
Now, we should eliminate the [blue] G discontinuities and come 
closer to the real facts.This is done by the // Trade the top 
Equity stockSTART=DateNum()==1000530 
;per=Param("per",101,90,110,1);EVENT=BarsSince(START)%per==0;EXIT=Ref(EVENT,1);Plot(10000,"",Cum(1)%2,1);Plot(0,"",1,styleNoLine);Counter=Cum(EVENT)%10;shape=IIf(Counter==1,shapeDigit0,IIf(Counter==2 
,shapeDigit1,IIf(Counter==3 ,shapeDigit2,IIf(Counter==4 
,shapeDigit3,IIf(Counter==5 ,shapeDigit4,IIf(Counter==6 
,shapeDigit5,IIf(Counter==7 ,shapeDigit6,IIf(Counter==8 
,shapeDigit7,IIf(Counter==9 
,shapeDigit8,shapeDigit9)))))))));PlotShapes(shape*EVENT,colorIndigo);G=0;NUM=254;BuyLEVEL=Param("b",30,10,50,5);SellLEVEL=Param("s",80,50,95,5);list 
= GetCategorySymbols( categoryGroup, NUM );for( i = 0; ( sym = StrExtract( 
list, i ) ) != ""; i++ ){SetForeign(SYM,True,True);global Buy;global 
Sell;Buy=Cross(StochD(),BuyLEVEL);Sell=Cross(SellLEVEL,StochD());E1=Equity(1,0);E11=ValueWhen(EVENT,E1);T11=ValueWhen(EVENT,Cum(1));G=IIf(G>E11,G,E11);}D=0;F=0;list 
= GetCategorySymbols( categoryGroup, NUM );for( i = 0; ( sym = StrExtract( 
list, i ) ) != ""; i++ ){SetForeign(SYM,True,True);global Buy;global 
Sell;Buy=Cross(StochD(),BuyLEVEL) ;Sell=Cross(SellLEVEL,StochD()) 
;E1=Equity(1,0);E11=ValueWhen(EVENT,E1);G11=ValueWhen(EVENT,G);D1=IIf(E11==G,i,0);D=D+D1;EE=IIf(E11==G,E1,0);F=F+EE;}STEP=IIf(EVENT,F-Ref(F,-1),0);T=Cum(STEP);Plot(F-T,"",IIf(EVENT,colorRed,colorBlack),8);Title="Group 
"+WriteVal(num,1.0)+", TopEquity Stock is # "+ 
"["+WriteVal(D,1.0)+"]"+WriteIf(EVENT,"*","");
 
A STEP function was introduced to measure the discontinuity 
gap [positive or negative] and the T=Cum(STEP) will act for the whole range, 
adding or subtracting at each IP the respective STEP.The final Equity line 
is continuous and is closer to the reality [some commissions are missing, when, 
for examplethe system sells CPWR at IP8 without a regular Sell signal and 
Buys SYMC without the respective regular Buy signal]This method decisions 
wereIP0 : Buy and Trade NVDAIP1 : Sell NVDA, Buy and Trade ADBEIP2 : 
Sell ADBE, Buy and Trade CPWRIP3 to IP7 : Keep on trading CPWRIP8 : Sell 
CPWR, Buy and Trade SYMC 
Let us see now if it is interesting.The final Equity value 
is 41,114.5.The 
Buy=Cross(StochD(),30);Sell=Cross(80,StochD());over the whole N100 
for the same period and settings gives a total net profit -3.5%.41 stocks 
were profitable up to +390% and the rest 60 were loosing money [15 stocks were 
below -75%...]
 
Dimitris Tsokakis
----- Original Message ----- 
From: <A 
title=tsokakis@xxxxxxxxx href="">Dimitris Tsokakis 

To: <A title=amibroker@xxxxxxxxxxxxxxx 
href="">amibroker@xxxxxxxxxxxxxxx 
Sent: Thursday, October 16, 2003 11:17 AM
Subject: Inspection Points and Hi-pass Equity for the whole Market, 
part I

The code will choose the top Equity stock at the 
Inspection Point [IP] and will trade all its [individual] signals up to the next 
inspection.
The procedure will be repeated for every future 
inspection.
The Equities at an inspection point are counted from the 
beginning of the available data.
All stocks should be aligned, missing bars should be filled 
before the research.
The starting and ending date for all stocks should be the 
same
The application is effective from Amibroker 4.44.1, Oct12, 
2003, when the 
SetForeign( ticker, fixup = True, tradeprices = 
False)
was implemented *
The selected stock at IP had an Equity value G. It is the 
ground level for the next trades and is plotted as a blue thick 
line.
Up to the next IP we may see if the selected top stock was 
profitable [Eq>G] or not [Eq<G].
The black line is the Equity from IP to IP.
How does it work : At the Inspection point X, for 
example, PETM was the top Equity stock [see PETM red equity 
line]
The code selected PETM and followed its trades up to now [PETM 
was the top stock for the next two IPs too !!]
 
// A Hi-pass Equity filter at the Inspection 
PointsSTART=DateNum()==1000530 ;Title="TOP EQ 
STOCK";EVENT=BarsSince(START)%101==0;Plot(2000,"",1,1);Plot(10000,"",Cum(1)%2,1);PlotShapes(shapeCircle*EVENT,colorRed);G=0;CountER=0;list 
= GetCategorySymbols( categoryGroup, 254 );// group IDfor( i = 0; ( sym = 
StrExtract( list, i ) ) != ""; i++ 
){SetForeign(SYM,True,True);global Buy;global 
Sell;Buy=Cross(StochD(),30);Sell=Cross(50,StochD());E1=Equity(1,0);E11=ValueWhen(EVENT,E1);T11=ValueWhen(EVENT,Cum(1));G=IIf(G>E11,G,E11);CountER=CountER+1;}Plot(G,"\nG",colorBlue,8);CountER1=0;D=0;list 
= GetCategorySymbols( categoryGroup, 254 );// group IDfor( i = 0; ( sym = 
StrExtract( list, i ) ) != ""; i++ 
){SetForeign(SYM,True,True);global Buy;global 
Sell;Buy=Cross(StochD(),30);Sell=Cross(50,StochD());E1=Equity(1,0);E11=ValueWhen(EVENT,E1);G11=ValueWhen(EVENT,G);D1=IIf(E11==G,CountER1,0);D=D+D1;EE=IIf(E11==G,E1,-1E10);Plot(EE,"",1,1);CountER1=CountER1+1;}Title=Title+" 
["+WriteVal(D,1.0)+"]"+WriteIf(EVENT," * 
","");SetForeign("PETM",True,True);Buy=Cross(StochD(),30);Sell=Cross(50,StochD());E0=Equity(1,0);Plot(E0,"",4,8);//Plot(D,"",1,styleOwnScale);
 
Notes
1. The 100 N100 stocks and the index ^NDX are placed in my 
Group254.
If your stocks are in the WatchList5, for example, you should 
change the // group ID lines as follows
 
list = GetCategorySymbols( categorywatchList, 5 
);//
 
2. The
Buy=Cross(StochD(),30);Sell=Cross(50,StochD());was 
used as example of the trading system.
Settings were arranged in AA window 
Buy, Sell at Open
Delay +1
commission 0.25%
all stops disabled
initial equity 10000
3. G [thick blue line] is the ground level, the equity value 
for the selected stock at the IP.
As you see, even for the top stocks, the system was not quite 
profitable, the [black] individual Equity lines 
are frequently below their Ground level G.
4. D is the ordinal # of the stock in the database. You may 
uncomment the last line to see the top Ds.
If you place your cursor on some bar, you will read D in the 
title.
An asterisk * will appear at each IP bar. As you 
see, on Oct20, 2000 the system sold #67 [NVDA] to buy
the new top stock #2 [ADBE] 
5. The graph is universal and will not change as you move from 
ticker to ticker in your symbol tree.
 
This is the basic idea, to ride on the top equity 
stock.
The expectation is a follow up, at least up to the next IP. 

If negative, the inspector will search for the new rising star 
of the show, right at the next IP !!
More details in part II, hopefully today...
Dimitris Tsokakis 
 
* From the 4.44.1 Readme.html




SetForeign( ticker, fixup = True, tradeprices = False) and 
RestorePriceArrays( tradeprices = False ) have new flag now: tradeprices 
(False by default)



when tradeprices is set to TRUE, then not only OHLC, V, OI, 
Avg arrays are set to foreign symbol values, but also BuyPrice, SellPrice, 
ShortPrice, CoverPrice, PointValue, TickSize, RoundLotSize, MarginDeposit 
variables are set to correspond to foreign 
security.



This allows Equity() to work well with 
SetForeign.






Yahoo! Groups Sponsor


  ADVERTISEMENT 









Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html



Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.



Attachment:
top3.gif

Attachment: Description: "Description: GIF image"