Print Page | Close Window

Adding a moving average to existing indicator

Printed From: BullCharts Forum
Category: BullCharts
Forum Name: BullScript
Forum Discription: Technical discussion related specifically to the BullScript programming language.
URL: http://www.bullcharts.com.au/forum/forum_posts.asp?TID=542
Printed Date: 19 May 2024 at 12:15am
Software Version: Web Wiz Forums 9.69 - http://www.webwizforums.com


Topic: Adding a moving average to existing indicator
Posted By: meldeans
Subject: Adding a moving average to existing indicator
Date Posted: 13 Feb 2009 at 4:39pm
Hi,
 
I want to be able to put a 30 period moving average onto the Relative Strength Comparison Normalised (RSCN) indicator to see when the RSCN starts to show consistent outperformance via some smoothing.  Is this possible?
 
I am very new to Bullscript and am trying to work out how to do it but am getting very confused with the notes.
 
thanks
Dean



Replies:
Posted By: brentjedi
Date Posted: 13 Feb 2009 at 7:42pm
ma(RSI,30,S)

-------------
Trading is art of self


Posted By: maximo
Date Posted: 14 Feb 2009 at 4:34pm
Originally posted by meldeans

 
I want to be able to put a 30 period moving average onto the Relative Strength Comparison Normalised (RSCN) indicator to see when the RSCN starts to show consistent outperformance via some smoothing.  Is this possible?
 
 
Good choice of Indicators meldeans.  This is one I coded with those options.
 
 

{ RSC - Relative Strength Comparison }

select:=input("Type: RSC=0, ROC=1",0,0,1);

smooth:=input("Normal=0, Smoothed=1",0,0,1);

method := inputma("Method",E);

period:= input("Period",30,1);

symb := inputsymbol("Compare to", "XJO");

index:=LoadSymbol(symb,C);

ROCD:=ROC(C,period,%) - ROC(index,period,%);

[color=rgb(249,207,31); width=2] { gold }

If(select=1 and smooth=0,ROCD,if(select=1,ma(ROCD,3,S),undefined));

[color=lime green; width=2]

RSCD:=(( C/index - Ma(C/index,period,method)) / Ma(C/index,period,method))*100;

If(select=0 and smooth=0,RSCD,if(select=0,ma(RSCD,3,S),undefined));

[color=black; linestyle=solid; width=1]

0;



Posted By: meldeans
Date Posted: 15 Feb 2009 at 11:41am
Thanks Brentjedi and Maximo for the replies.  Unfortunately, neither work as required.  I am currently doing the calcs manually on stocks that interest me and this sucks!! :)
Maximo - my level of understanding is nowhere near high enough to understand what your formula means but its values calculated are more of a ROC calc than a MA of RSCN when I copied it to indicator builder page.
 
The indicator builder accepts the simple ma("RSCN",30,e) which is what I had come up with but when you select it as an indicator it comes up with loads of errors which mean nothing to me.
 
Are you able to help further?
 
thanks
Dean


Posted By: maximo
Date Posted: 15 Feb 2009 at 12:08pm
Yes I think that's the reason I created my own indicator because of those errors.  This indicator doesn't produce errors it produces results using one of the methods selected.
  Selection 0 (default) makes a comparison using a 30 period MA (default), Select 1  for the other method using Rate Of Change.   I have found both methods  to be effective,
though there's not a huge difference if you compare them visually. The first method is like RSI except it's comparing another symbol instead of itself. The second method using
 ROC is similar in that they both operate by calculating a percent of price change over the set period value.  Because these compare using percentages they are both what I'd
 call Universal Relative Strength Comparisons and are suitable for ranking the entire market or sector indices.  
  Anyway doing a scan will find the strongest performing stocks versus the index or anything else you want to compare them with.
 
Cheers! 
 


Posted By: maximo
Date Posted: 15 Feb 2009 at 5:31pm
Here's what I mean by a Universal comparison. This is the indicator I created to rank the sector indices. The RSC that came with BullCharts won't do this.
 

[description="Universal Relative Strength Comparison, Max"]

symb := inputsymbol("ASX 300", "XKO");

period:= input("average period",144,1);

sec1 := inputsymbol("Energy", "XEJ");

sec2 := inputsymbol("Materials", "XMJ");

sec3 := inputsymbol("Industrials", "XNJ");

sec4 := inputsymbol("Consumer Discretionary", "XDJ");

sec5 := inputsymbol("Consumer Staples", "XSJ");

sec6 := inputsymbol("Health Care", "XHJ");

sec7 := inputsymbol("Financials", "XFJ");

sec8 := inputsymbol("Information Technology", "XIJ");

sec9 := inputsymbol("Telecommunications", "XTJ");

secA := inputsymbol("Utilities", "XUJ");

index:=LoadSymbol(symb,C);

sector1:=LoadSymbol(sec1,C);

sector2:=LoadSymbol(sec2,C);

sector3:=LoadSymbol(sec3,C);

sector4:=LoadSymbol(sec4,C);

sector5:=LoadSymbol(sec5,C);

sector6:=LoadSymbol(sec6,C);

sector7:=LoadSymbol(sec7,C);

sector8:=LoadSymbol(sec8,C);

sector9:=LoadSymbol(sec9,C);

sectorA:=LoadSymbol(secA,C);

[color=red; width=2]

ma(ROC(sector1,1,%),period,S)-ma(ROC(index,1,%),period,S);

[color=coral]

ma(ROC(sector2,1,%),period,S)-ma(ROC(index,1,%),period,S);

[color=violet]

ma(ROC(sector3,1,%),period,S)-ma(ROC(index,1,%),period,S);

[color=gold]

ma(ROC(sector4,1,%),period,S)-ma(ROC(index,1,%),period,S);

[color=olive]

ma(ROC(sector5,1,%),period,S)-ma(ROC(index,1,%),period,S);

[color=lawn green]

ma(ROC(sector6,1,%),period,S)-ma(ROC(index,1,%),period,S);

[color=Teal]

ma(ROC(sector7,1,%),period,S)-ma(ROC(index,1,%),period,S);

[color=Turquoise]

ma(ROC(sector8,1,%),period,S)-ma(ROC(index,1,%),period,S);

[color=Slate Blue]

ma(ROC(sector9,1,%),period,S)-ma(ROC(index,1,%),period,S);

[color=Blue]

ma(ROC(sectorA,1,%),period,S)-ma(ROC(index,1,%),period,S);



Posted By: brentjedi
Date Posted: 15 Feb 2009 at 9:47pm
That's a Opus Magnum Maxmio

-------------
Trading is art of self


Posted By: brentjedi
Date Posted: 15 Feb 2009 at 10:00pm
I have put that on my screen but I don't get the legend of the sectors and color?.




-------------
Trading is art of self


Posted By: brentjedi
Date Posted: 15 Feb 2009 at 10:07pm



-------------
Trading is art of self


Posted By: brentjedi
Date Posted: 15 Feb 2009 at 10:10pm


-------------
Trading is art of self


Posted By: brentjedi
Date Posted: 15 Feb 2009 at 10:10pm
sorry still can't get the chart posted.Thumbs%20Down

-------------
Trading is art of self


Posted By: maximo
Date Posted: 16 Feb 2009 at 12:30am

Name the file you want to post: Blank.gif

That seems to work.  Forum has a bug?
 
BTW, the legend is something I pasted onto
the image as a colour reference.     


Posted By: meldeans
Date Posted: 16 Feb 2009 at 8:30am
Maximo,
 
Excellent sector performance comparison.  I have requested this be done in some form of upgrade along with a graphical display of advance/decline line.  I'm surprised that Bullcharts doesn't do this - most packages can at least graphically display advances/declines and I would have thought they should have been able to do sector performance too.
 
Thanks for the help.
 
Cheers
Dean
 


Posted By: maximo
Date Posted: 22 Feb 2009 at 5:27pm
Thanks,
 
I would like to see an inbuilt calculation  of adance/decline line too.   I built one over the weekend for the ASX200.  It takes about half a minute to compute on my dual CPU.  Would be useful for day traders and gauging when the market is likely to turn based on the number of rising or falling stocks.
 

[description="Advancing - Declining issues. Represents the number of stocks rising versus the number of stocks falling in the index, Max"]

{ Index Composition for ASX200 XJO }

S001:="AAC"; S002:="AAX"; S003:="ABB"; S004:="ABC"; S005:="ABP";

S006:="AGK"; S007:="AGO"; S008:="AIO"; S009:="AIX"; S010:="ALL";

S011:="ALS"; S012:="ALZ"; S013:="AMC"; S014:="AMP"; S015:="ANN";

S016:="ANZ"; S017:="AOE"; S018:="APA"; S019:="APN"; S020:="AQA";

S021:="AQP"; S022:="ASX"; S023:="AUN"; S024:="AUW"; S025:="AVO";

S026:="AWB"; S027:="AWC"; S028:="AWE"; S029:="AXA"; S030:="BBG";

S031:="BBI"; S032:="BBP"; S033:="BBW"; S034:="BCM"; S035:="BEN";

S036:="BHP"; S037:="BJT"; S038:="BKN"; S039:="BLD"; S040:="BLY";

S041:="BNB"; S042:="BOQ"; S043:="BPT"; S044:="BSL"; S045:="BWP";

S046:="BXB"; S047:="CAB"; S048:="CBA"; S049:="CCL"; S050:="CER";

S051:="CEU"; S052:="CEY"; S053:="CFX"; S054:="CGF"; S055:="CMJ";

S056:="COH"; S057:="CPA"; S058:="CPU"; S059:="CRG"; S060:="CSL";

S061:="CSR"; S062:="CTX"; S063:="CWN"; S064:="CXP"; S065:="DJS";

S066:="DOW"; S067:="DUE"; S068:="DXS"; S069:="EHL"; S070:="ENV";

S071:="EQN"; S072:="ERA"; S073:="EWC"; S074:="FCL"; S075:="FGL";

S076:="FKP"; S077:="FLT"; S078:="FLX"; S079:="FMG"; S080:="FXJ";

S081:="GBG"; S082:="GCL"; S083:="GFF"; S084:="GMG"; S085:="GNS";

S086:="GPT"; S087:="GUD"; S088:="GWT"; S089:="HDF"; S090:="HFA";

S091:="HGG"; S092:="HIL"; S093:="HSP"; S094:="HVN"; S095:="IAG";

S096:="IFL"; S097:="IGO"; S098:="IIF"; S099:="ILU"; S100:="IOF";

S101:="IPL"; S102:="IRE"; S103:="IVC"; S104:="JBH"; S105:="JHX";

S106:="KAR"; S107:="KCN"; S108:="KZL"; S109:="LEI"; S110:="LGL";

S111:="LLC"; S112:="LNC"; S113:="LNN"; S114:="LYC"; S115:="MAH";

S116:="MAP"; S117:="MCC"; S118:="MCG"; S119:="MCR"; S120:="MCW";

S121:="MDT"; S122:="MGR"; S123:="MGX"; S124:="MIG"; S125:="MMG";

S126:="MMX"; S127:="MND"; S128:="MOF"; S129:="MQG"; S130:="MRE";

S131:="MTS"; S132:="NAB"; S133:="NCM"; S134:="NUF"; S135:="NWH";

S136:="NWS"; S137:="NXS"; S138:="OMH"; S139:="ORG"; S140:="ORI";

S141:="OSH"; S142:="OST"; S143:="OZL"; S144:="PAN"; S145:="PBG";

S146:="PDN"; S147:="PLA"; S148:="PMP"; S149:="PNA"; S150:="PPT";

S151:="PPX"; S152:="PRY"; S153:="PTM"; S154:="QAN"; S155:="QBE";

S156:="RHC"; S157:="RIO"; S158:="RIV"; S159:="RMD"; S160:="ROC";

S161:="SBM"; S162:="SDG"; S163:="SDL"; S164:="SEK"; S165:="SEV";

S166:="SGM"; S167:="SGP"; S168:="SGT"; S169:="SGX"; S170:="SHL";

S171:="SIP"; S172:="SKI"; S173:="SPN"; S174:="SPT"; S175:="SRL";

S176:="STO"; S177:="SUN"; S178:="TAH"; S179:="TAL"; S180:="TCL";

S181:="TEL"; S182:="TEN"; S183:="TLS"; S184:="TOL"; S185:="TPI";

S186:="TSE"; S187:="TSO"; S188:="TTS"; S189:="UGL"; S190:="VBA";

S191:="VPG"; S192:="WAN"; S193:="WBC"; S194:="WDC"; S195:="WES";

S196:="WOR"; S197:="WOW"; S198:="WPL"; S199:="WSA"; S200:="WTF";

{ Advancing Issues }

a001 := If(LoadSymbol(S001,C) > LoadSymbol(S001,O),1,0);

a002 := If(LoadSymbol(S002,C) > LoadSymbol(S002,O),1,0);

a003 := If(LoadSymbol(S003,C) > LoadSymbol(S003,O),1,0);

a004 := If(LoadSymbol(S004,C) > LoadSymbol(S004,O),1,0);

a005 := If(LoadSymbol(S005,C) > LoadSymbol(S005,O),1,0);

a006 := If(LoadSymbol(S006,C) > LoadSymbol(S006,O),1,0);

a007 := If(LoadSymbol(S007,C) > LoadSymbol(S007,O),1,0);

a008 := If(LoadSymbol(S008,C) > LoadSymbol(S008,O),1,0);

a009 := If(LoadSymbol(S009,C) > LoadSymbol(S009,O),1,0);

a010 := If(LoadSymbol(S010,C) > LoadSymbol(S010,O),1,0);

a011 := If(LoadSymbol(S011,C) > LoadSymbol(S011,O),1,0);

a012 := If(LoadSymbol(S012,C) > LoadSymbol(S012,O),1,0);

a013 := If(LoadSymbol(S013,C) > LoadSymbol(S013,O),1,0);

a014 := If(LoadSymbol(S014,C) > LoadSymbol(S014,O),1,0);

a015 := If(LoadSymbol(S015,C) > LoadSymbol(S015,O),1,0);

a016 := If(LoadSymbol(S016,C) > LoadSymbol(S016,O),1,0);

a017 := If(LoadSymbol(S017,C) > LoadSymbol(S017,O),1,0);

a018 := If(LoadSymbol(S018,C) > LoadSymbol(S018,O),1,0);

a019 := If(LoadSymbol(S019,C) > LoadSymbol(S019,O),1,0);

a020 := If(LoadSymbol(S020,C) > LoadSymbol(S020,O),1,0);

a021 := If(LoadSymbol(S021,C) > LoadSymbol(S021,O),1,0);

a022 := If(LoadSymbol(S022,C) > LoadSymbol(S022,O),1,0);

a023 := If(LoadSymbol(S023,C) > LoadSymbol(S023,O),1,0);

a024 := If(LoadSymbol(S024,C) > LoadSymbol(S024,O),1,0);

a025 := If(LoadSymbol(S025,C) > LoadSymbol(S025,O),1,0);

a026 := If(LoadSymbol(S026,C) > LoadSymbol(S026,O),1,0);

a027 := If(LoadSymbol(S027,C) > LoadSymbol(S027,O),1,0);

a028 := If(LoadSymbol(S028,C) > LoadSymbol(S028,O),1,0);

a029 := If(LoadSymbol(S029,C) > LoadSymbol(S029,O),1,0);

a030 := If(LoadSymbol(S030,C) > LoadSymbol(S030,O),1,0);

a031 := If(LoadSymbol(S031,C) > LoadSymbol(S031,O),1,0);

a032 := If(LoadSymbol(S032,C) > LoadSymbol(S032,O),1,0);

a033 := If(LoadSymbol(S033,C) > LoadSymbol(S033,O),1,0);

a034 := If(LoadSymbol(S034,C) > LoadSymbol(S034,O),1,0);

a035 := If(LoadSymbol(S035,C) > LoadSymbol(S035,O),1,0);

a036 := If(LoadSymbol(S036,C) > LoadSymbol(S036,O),1,0);

a037 := If(LoadSymbol(S037,C) > LoadSymbol(S037,O),1,0);

a038 := If(LoadSymbol(S038,C) > LoadSymbol(S038,O),1,0);

a039 := If(LoadSymbol(S039,C) > LoadSymbol(S039,O),1,0);

a040 := If(LoadSymbol(S040,C) > LoadSymbol(S040,O),1,0);

a041 := If(LoadSymbol(S041,C) > LoadSymbol(S041,O),1,0);

a042 := If(LoadSymbol(S042,C) > LoadSymbol(S042,O),1,0);

a043 := If(LoadSymbol(S043,C) > LoadSymbol(S043,O),1,0);

a044 := If(LoadSymbol(S044,C) > LoadSymbol(S044,O),1,0);

a045 := If(LoadSymbol(S045,C) > LoadSymbol(S045,O),1,0);

a046 := If(LoadSymbol(S046,C) > LoadSymbol(S046,O),1,0);

a047 := If(LoadSymbol(S047,C) > LoadSymbol(S047,O),1,0);

a048 := If(LoadSymbol(S048,C) > LoadSymbol(S048,O),1,0);

a049 := If(LoadSymbol(S049,C) > LoadSymbol(S049,O),1,0);

a050 := If(LoadSymbol(S050,C) > LoadSymbol(S050,O),1,0);

a051 := If(LoadSymbol(S051,C) > LoadSymbol(S051,O),1,0);

a052 := If(LoadSymbol(S052,C) > LoadSymbol(S052,O),1,0);

a053 := If(LoadSymbol(S053,C) > LoadSymbol(S053,O),1,0);

a054 := If(LoadSymbol(S054,C) > LoadSymbol(S054,O),1,0);

a055 := If(LoadSymbol(S055,C) > LoadSymbol(S055,O),1,0);

a056 := If(LoadSymbol(S056,C) > LoadSymbol(S056,O),1,0);

a057 := If(LoadSymbol(S057,C) > LoadSymbol(S057,O),1,0);

a058 := If(LoadSymbol(S058,C) > LoadSymbol(S058,O),1,0);

a059 := If(LoadSymbol(S059,C) > LoadSymbol(S059,O),1,0);

a060 := If(LoadSymbol(S060,C) > LoadSymbol(S060,O),1,0);

a061 := If(LoadSymbol(S061,C) > LoadSymbol(S061,O),1,0);

a062 := If(LoadSymbol(S062,C) > LoadSymbol(S062,O),1,0);

a063 := If(LoadSymbol(S063,C) > LoadSymbol(S063,O),1,0);

a064 := If(LoadSymbol(S064,C) > LoadSymbol(S064,O),1,0);

a065 := If(LoadSymbol(S065,C) > LoadSymbol(S065,O),1,0);

a066 := If(LoadSymbol(S066,C) > LoadSymbol(S066,O),1,0);

a067 := If(LoadSymbol(S067,C) > LoadSymbol(S067,O),1,0);

a068 := If(LoadSymbol(S068,C) > LoadSymbol(S068,O),1,0);

a069 := If(LoadSymbol(S069,C) > LoadSymbol(S069,O),1,0);

a070 := If(LoadSymbol(S070,C) > LoadSymbol(S070,O),1,0);

a071 := If(LoadSymbol(S071,C) > LoadSymbol(S071,O),1,0);

a072 := If(LoadSymbol(S072,C) > LoadSymbol(S072,O),1,0);

a073 := If(LoadSymbol(S073,C) > LoadSymbol(S073,O),1,0);

a074 := If(LoadSymbol(S074,C) > LoadSymbol(S074,O),1,0);

a075 := If(LoadSymbol(S075,C) > LoadSymbol(S075,O),1,0);

a076 := If(LoadSymbol(S076,C) > LoadSymbol(S076,O),1,0);

a077 := If(LoadSymbol(S077,C) > LoadSymbol(S077,O),1,0);

a078 := If(LoadSymbol(S078,C) > LoadSymbol(S078,O),1,0);

a079 := If(LoadSymbol(S079,C) > LoadSymbol(S079,O),1,0);

a080 := If(LoadSymbol(S080,C) > LoadSymbol(S080,O),1,0);

a081 := If(LoadSymbol(S081,C) > LoadSymbol(S081,O),1,0);

a082 := If(LoadSymbol(S082,C) > LoadSymbol(S082,O),1,0);

a083 := If(LoadSymbol(S083,C) > LoadSymbol(S083,O),1,0);

a084 := If(LoadSymbol(S084,C) > LoadSymbol(S084,O),1,0);

a085 := If(LoadSymbol(S085,C) > LoadSymbol(S085,O),1,0);

a086 := If(LoadSymbol(S086,C) > LoadSymbol(S086,O),1,0);

a087 := If(LoadSymbol(S087,C) > LoadSymbol(S087,O),1,0);

a088 := If(LoadSymbol(S088,C) > LoadSymbol(S088,O),1,0);

a089 := If(LoadSymbol(S089,C) > LoadSymbol(S089,O),1,0);

a090 := If(LoadSymbol(S090,C) > LoadSymbol(S090,O),1,0);

a091 := If(LoadSymbol(S091,C) > LoadSymbol(S091,O),1,0);

a092 := If(LoadSymbol(S092,C) > LoadSymbol(S092,O),1,0);

a093 := If(LoadSymbol(S093,C) > LoadSymbol(S093,O),1,0);

a094 := If(LoadSymbol(S094,C) > LoadSymbol(S094,O),1,0);

a095 := If(LoadSymbol(S095,C) > LoadSymbol(S095,O),1,0);

a096 := If(LoadSymbol(S096,C) > LoadSymbol(S096,O),1,0);

a097 := If(LoadSymbol(S097,C) > LoadSymbol(S097,O),1,0);

a098 := If(LoadSymbol(S098,C) > LoadSymbol(S098,O),1,0);

a099 := If(LoadSymbol(S099,C) > LoadSymbol(S099,O),1,0);

a100 := If(LoadSymbol(S100,C) > LoadSymbol(S100,O),1,0);

a101 := If(LoadSymbol(S101,C) > LoadSymbol(S101,O),1,0);

a102 := If(LoadSymbol(S102,C) > LoadSymbol(S102,O),1,0);

a103 := If(LoadSymbol(S103,C) > LoadSymbol(S103,O),1,0);

a104 := If(LoadSymbol(S104,C) > LoadSymbol(S104,O),1,0);

a105 := If(LoadSymbol(S105,C) > LoadSymbol(S105,O),1,0);

a106 := If(LoadSymbol(S106,C) > LoadSymbol(S106,O),1,0);

a107 := If(LoadSymbol(S107,C) > LoadSymbol(S107,O),1,0);

a108 := If(LoadSymbol(S108,C) > LoadSymbol(S108,O),1,0);

a109 := If(LoadSymbol(S109,C) > LoadSymbol(S109,O),1,0);

a110 := If(LoadSymbol(S110,C) > LoadSymbol(S110,O),1,0);

a111 := If(LoadSymbol(S111,C) > LoadSymbol(S111,O),1,0);

a112 := If(LoadSymbol(S112,C) > LoadSymbol(S112,O),1,0);

a113 := If(LoadSymbol(S113,C) > LoadSymbol(S113,O),1,0);

a114 := If(LoadSymbol(S114,C) > LoadSymbol(S114,O),1,0);

a115 := If(LoadSymbol(S115,C) > LoadSymbol(S115,O),1,0);

a116 := If(LoadSymbol(S116,C) > LoadSymbol(S116,O),1,0);

a117 := If(LoadSymbol(S117,C) > LoadSymbol(S117,O),1,0);

a118 := If(LoadSymbol(S118,C) > LoadSymbol(S118,O),1,0);

a119 := If(LoadSymbol(S119,C) > LoadSymbol(S119,O),1,0);

a120 := If(LoadSymbol(S120,C) > LoadSymbol(S120,O),1,0);

a121 := If(LoadSymbol(S121,C) > LoadSymbol(S121,O),1,0);

a122 := If(LoadSymbol(S122,C) > LoadSymbol(S122,O),1,0);

a123 := If(LoadSymbol(S123,C) > LoadSymbol(S123,O),1,0);

a124 := If(LoadSymbol(S124,C) > LoadSymbol(S124,O),1,0);

a125 := If(LoadSymbol(S125,C) > LoadSymbol(S125,O),1,0);

a126 := If(LoadSymbol(S126,C) > LoadSymbol(S126,O),1,0);

a127 := If(LoadSymbol(S127,C) > LoadSymbol(S127,O),1,0);

a128 := If(LoadSymbol(S128,C) > LoadSymbol(S128,O),1,0);

a129 := If(LoadSymbol(S129,C) > LoadSymbol(S129,O),1,0);

a130 := If(LoadSymbol(S130,C) > LoadSymbol(S130,O),1,0);

a131 := If(LoadSymbol(S131,C) > LoadSymbol(S131,O),1,0);

a132 := If(LoadSymbol(S132,C) > LoadSymbol(S132,O),1,0);

a133 := If(LoadSymbol(S133,C) > LoadSymbol(S133,O),1,0);

a134 := If(LoadSymbol(S134,C) > LoadSymbol(S134,O),1,0);

a135 := If(LoadSymbol(S135,C) > LoadSymbol(S135,O),1,0);

a136 := If(LoadSymbol(S136,C) > LoadSymbol(S136,O),1,0);

a137 := If(LoadSymbol(S137,C) > LoadSymbol(S137,O),1,0);

a138 := If(LoadSymbol(S138,C) > LoadSymbol(S138,O),1,0);

a139 := If(LoadSymbol(S139,C) > LoadSymbol(S139,O),1,0);

a140 := If(LoadSymbol(S140,C) > LoadSymbol(S140,O),1,0);

a141 := If(LoadSymbol(S141,C) > LoadSymbol(S141,O),1,0);

a142 := If(LoadSymbol(S142,C) > LoadSymbol(S142,O),1,0);

a143 := If(LoadSymbol(S143,C) > LoadSymbol(S143,O),1,0);

a144 := If(LoadSymbol(S144,C) > LoadSymbol(S144,O),1,0);

a145 := If(LoadSymbol(S145,C) > LoadSymbol(S145,O),1,0);

a146 := If(LoadSymbol(S146,C) > LoadSymbol(S146,O),1,0);

a147 := If(LoadSymbol(S147,C) > LoadSymbol(S147,O),1,0);

a148 := If(LoadSymbol(S148,C) > LoadSymbol(S148,O),1,0);

a149 := If(LoadSymbol(S149,C) > LoadSymbol(S149,O),1,0);

a150 := If(LoadSymbol(S150,C) > LoadSymbol(S150,O),1,0);

a151 := If(LoadSymbol(S151,C) > LoadSymbol(S151,O),1,0);

a152 := If(LoadSymbol(S152,C) > LoadSymbol(S152,O),1,0);

a153 := If(LoadSymbol(S153,C) > LoadSymbol(S153,O),1,0);

a154 := If(LoadSymbol(S154,C) > LoadSymbol(S154,O),1,0);

a155 := If(LoadSymbol(S155,C) > LoadSymbol(S155,O),1,0);

a156 := If(LoadSymbol(S156,C) > LoadSymbol(S156,O),1,0);

a157 := If(LoadSymbol(S157,C) > LoadSymbol(S157,O),1,0);

a158 := If(LoadSymbol(S158,C) > LoadSymbol(S158,O),1,0);

a159 := If(LoadSymbol(S159,C) > LoadSymbol(S159,O),1,0);

a160 := If(LoadSymbol(S160,C) > LoadSymbol(S160,O),1,0);

a161 := If(LoadSymbol(S161,C) > LoadSymbol(S161,O),1,0);

a162 := If(LoadSymbol(S162,C) > LoadSymbol(S162,O),1,0);

a163 := If(LoadSymbol(S163,C) > LoadSymbol(S163,O),1,0);

a164 := If(LoadSymbol(S164,C) > LoadSymbol(S164,O),1,0);

a165 := If(LoadSymbol(S165,C) > LoadSymbol(S165,O),1,0);

a166 := If(LoadSymbol(S166,C) > LoadSymbol(S166,O),1,0);

a167 := If(LoadSymbol(S167,C) > LoadSymbol(S167,O),1,0);

a168 := If(LoadSymbol(S168,C) > LoadSymbol(S168,O),1,0);

a169 := If(LoadSymbol(S169,C) > LoadSymbol(S169,O),1,0);

a170 := If(LoadSymbol(S170,C) > LoadSymbol(S170,O),1,0);

a171 := If(LoadSymbol(S171,C) > LoadSymbol(S171,O),1,0);

a172 := If(LoadSymbol(S172,C) > LoadSymbol(S172,O),1,0);

a173 := If(LoadSymbol(S173,C) > LoadSymbol(S173,O),1,0);

a174 := If(LoadSymbol(S174,C) > LoadSymbol(S174,O),1,0);

a175 := If(LoadSymbol(S175,C) > LoadSymbol(S175,O),1,0);

a176 := If(LoadSymbol(S176,C) > LoadSymbol(S176,O),1,0);

a177 := If(LoadSymbol(S177,C) > LoadSymbol(S177,O),1,0);

a178 := If(LoadSymbol(S178,C) > LoadSymbol(S178,O),1,0);

a179 := If(LoadSymbol(S179,C) > LoadSymbol(S179,O),1,0);

a180 := If(LoadSymbol(S180,C) > LoadSymbol(S180,O),1,0);

a181 := If(LoadSymbol(S181,C) > LoadSymbol(S181,O),1,0);

a182 := If(LoadSymbol(S182,C) > LoadSymbol(S182,O),1,0);

a183 := If(LoadSymbol(S183,C) > LoadSymbol(S183,O),1,0);

a184 := If(LoadSymbol(S184,C) > LoadSymbol(S184,O),1,0);

a185 := If(LoadSymbol(S185,C) > LoadSymbol(S185,O),1,0);

a186 := If(LoadSymbol(S186,C) > LoadSymbol(S186,O),1,0);

a187 := If(LoadSymbol(S187,C) > LoadSymbol(S187,O),1,0);

a188 := If(LoadSymbol(S188,C) > LoadSymbol(S188,O),1,0);

a189 := If(LoadSymbol(S189,C) > LoadSymbol(S189,O),1,0);

a190 := If(LoadSymbol(S190,C) > LoadSymbol(S190,O),1,0);

a191 := If(LoadSymbol(S191,C) > LoadSymbol(S191,O),1,0);

a192 := If(LoadSymbol(S192,C) > LoadSymbol(S192,O),1,0);

a193 := If(LoadSymbol(S193,C) > LoadSymbol(S193,O),1,0);

a194 := If(LoadSymbol(S194,C) > LoadSymbol(S194,O),1,0);

a195 := If(LoadSymbol(S195,C) > LoadSymbol(S195,O),1,0);

a196 := If(LoadSymbol(S196,C) > LoadSymbol(S196,O),1,0);

a197 := If(LoadSymbol(S197,C) > LoadSymbol(S197,O),1,0);

a198 := If(LoadSymbol(S198,C) > LoadSymbol(S198,O),1,0);

a199 := If(LoadSymbol(S199,C) > LoadSymbol(S199,O),1,0);

a200 := If(LoadSymbol(S200,C) > LoadSymbol(S200,O),1,0);

[linestyle=solid; color=lime green]

Adv:=a001+a002+a003+a004+a005+a006+a007+a008+a009+a010+a011+a012+a013+a014+a015+a016+a017+a018+a019+a020+a021+a022+a023+a024+a025+a026+a027+a028+a029+a030+a031+a032+a033+a034+a035+a036+a037+a038+a039+a040+a041+a042+a043+a044+a045+a046+a047+a048+a049+a050+a051+a052+a053+a054+a055+a056+a057+a058+a059+a060+a061+a062+a063+a064+a065+a066+a067+a068+a069+a070+a071+a072+a073+a074+a075+a076+a077+a078+a079+a080+a081+a082+a083+a084+a085+a086+a087+a088+a089+a090+a091+a092+a093+a094+a095+a096+a097+a098+a099+a100+a101+a102+a103+a104+a105+a106+a107+a108+a109+a110+a111+a112+a113+a114+a115+a116+a117+a118+a119+a120+a121+a122+a123+a124+a125+a126+a127+a128+a129+a130+a131+a132+a133+a134+a135+a136+a137+a138+a139+a140+a141+a142+a143+a144+a145+a146+a147+a148+a149+a150+a151+a152+a153+a154+a155+a156+a157+a158+a159+a160+a161+a162+a163+a164+a165+a166+a167+a168+a169+a170+a171+a172+a173+a174+a175+a176+a177+a178+a179+a180+a181+a182+a183+a184+a185+a186+a187+a188+a189+a190+a191+a192+a193+a194+a195+a196+a197+a198+a199+a200;

Adv;

[linestyle=solid; color=red]

Dec:=200-Adv;

Dec 


Posted By: jalna
Date Posted: 22 Feb 2009 at 5:58pm
Maximo !!! your dah man Smile cool. It even works on my old,old computer.
soooo.... if I have this correct, there were 55 advancing stock on Friday ?


Posted By: jalna
Date Posted: 22 Feb 2009 at 6:00pm
I don't seem to have a red line on my panel. Only a green line ?


Posted By: maximo
Date Posted: 22 Feb 2009 at 9:33pm
That's correct 55 stocks rising and 145 falling.
 
Hmm the last line didn't paste for some reason and that's why
the red line didn't show.   It should be,
 
Dec
 
 
 


Posted By: jalna
Date Posted: 04 Aug 2009 at 3:11pm
Maximo , woild it be possible to make a 10day moving average of these differences. A/D
This what one GURU subscripton does. They use it a buy signal when it rises into positive territory


Posted By: maximo
Date Posted: 12 Aug 2009 at 11:14pm

Yeah that's simple enough.   Also the ASX200 list needs updating at least every 6 months dues to changes.   A weighting system based on volume may improve things, as there's a lot more turnover in the larger stocks, so they have more influence over market direction.  A crude method could be to add 4 for top 50 stocks,  add 2 for the next lowest 50 and finally add 1 to the last 100.  Then divide the total by 2 to get it back to 200.  Just pondering.

[description="Advancing - Declining issues. Represents the number of stocks rising versus the number of stocks falling in the index, Max"]

n := input("Period",10,1);

start:=barnumber > lastvalue(barnumber)-500;

{ Index Composition for ASX200 }

S001:="AAC"; S002:="AAX"; S003:="ABB"; S004:="ABC"; S005:="ABP";

S006:="AGK"; S007:="AGO"; S008:="AIO"; S009:="AIX"; S010:="AJA";

S011:="AJL"; S012:="ALL"; S013:="ALS"; S014:="ALZ"; S015:="AMC";

S016:="AMP"; S017:="ANN"; S018:="ANZ"; S019:="AOE"; S020:="APA";

S021:="APN"; S022:="AQA"; S023:="AQP"; S024:="ASX"; S025:="AUN";

S026:="AVO"; S027:="AWB"; S028:="AWC"; S029:="AWE"; S030:="AXA";

S031:="BBG"; S032:="BBI"; S033:="BEN"; S034:="BHP"; S035:="BKN";

S036:="BLD"; S037:="BLY"; S038:="BOQ"; S039:="BPT"; S040:="BSL";

S041:="BWP"; S042:="BXB"; S043:="CAB"; S044:="CBA"; S045:="CCL";

S046:="CEU"; S047:="CEY"; S048:="CFX"; S049:="CGF"; S050:="CHC";

S051:="CMJ"; S052:="COH"; S053:="CPA"; S054:="CPU"; S055:="CRG";

S056:="CSL"; S057:="CSR"; S058:="CTX"; S059:="CVN"; S060:="CWN";

S061:="CXP"; S062:="DJS"; S063:="DOM"; S064:="DOW"; S065:="DUE";

S066:="DXS"; S067:="EHL"; S068:="ELD"; S069:="ENV"; S070:="EQN";

S071:="ERA"; S072:="ERC"; S073:="ESG"; S074:="EWC"; S075:="EXT";

S076:="FGL"; S077:="FKP"; S078:="FLT"; S079:="FLX"; S080:="FMG";

S081:="FWD"; S082:="FXJ"; S083:="GBG"; S084:="GFF"; S085:="GMG";

S086:="GNS"; S087:="GPT"; S088:="GUD"; S089:="GWT"; S090:="HDF";

S091:="HGG"; S092:="HIL"; S093:="HSP"; S094:="HST"; S095:="HVN";

S096:="IAG"; S097:="IFL"; S098:="IFN"; S099:="IGO"; S100:="IIF";

S101:="ILU"; S102:="IOF"; S103:="IPL"; S104:="IRE"; S105:="ISF";

S106:="IVC"; S107:="JBH"; S108:="JHX"; S109:="KAR"; S110:="KCN";

S111:="LEI"; S112:="LGL"; S113:="LLC"; S114:="LNC"; S115:="LNN";

S116:="LYC"; S117:="MAH"; S118:="MAP"; S119:="MCC"; S120:="MCR";

S121:="MCW"; S122:="MGR"; S123:="MGX"; S124:="MIG"; S125:="MMG";

S126:="MML"; S127:="MMX"; S128:="MND"; S129:="MOF"; S130:="MPO";

S131:="MQG"; S132:="MRE"; S133:="MTS"; S134:="NAB"; S135:="NCM";

S136:="NUF"; S137:="NWS"; S138:="NXS"; S139:="OMH"; S140:="ORG";

S141:="ORI"; S142:="OSH"; S143:="OST"; S144:="OZL"; S145:="PAN";

S146:="PBG"; S147:="PDN"; S148:="PLA"; S149:="PMP"; S150:="PNA";

S151:="PPT"; S152:="PPX"; S153:="PRY"; S154:="PTM"; S155:="QAN";

S156:="QBE"; S157:="RHC"; S158:="RIO"; S159:="RIV"; S160:="RMD";

S161:="ROC"; S162:="SBM"; S163:="SDG"; S164:="SDL"; S165:="SEK";

S166:="SEV"; S167:="SGM"; S168:="SGP"; S169:="SGT"; S170:="SGX";

S171:="SHL"; S172:="SIP"; S173:="SKI"; S174:="SMX"; S175:="SPN";

S176:="SPT"; S177:="SRL"; S178:="STO"; S179:="SUN"; S180:="TAH";

S181:="TAL"; S182:="TCL"; S183:="TEL"; S184:="TEN"; S185:="TLS";

S186:="TOL"; S187:="TPI"; S188:="TSE"; S189:="TTS"; S190:="UGL";

S191:="VBA"; S192:="WAN"; S193:="WBC"; S194:="WDC"; S195:="WES";

S196:="WOR"; S197:="WOW"; S198:="WPL"; S199:="WSA"; S200:="WTF";

{ Advancing Issues }

a001 := If(LoadSymbol(S001,C) >= LoadSymbol(S001,O),1,0);

a002 := If(LoadSymbol(S002,C) >= LoadSymbol(S002,O),1,0);

a003 := If(LoadSymbol(S003,C) >= LoadSymbol(S003,O),1,0);

a004 := If(LoadSymbol(S004,C) >= LoadSymbol(S004,O),1,0);

a005 := If(LoadSymbol(S005,C) >= LoadSymbol(S005,O),1,0);

a006 := If(LoadSymbol(S006,C) >= LoadSymbol(S006,O),1,0);

a007 := If(LoadSymbol(S007,C) >= LoadSymbol(S007,O),1,0);

a008 := If(LoadSymbol(S008,C) >= LoadSymbol(S008,O),1,0);

a009 := If(LoadSymbol(S009,C) >= LoadSymbol(S009,O),1,0);

a010 := If(LoadSymbol(S010,C) >= LoadSymbol(S010,O),1,0);

a011 := If(LoadSymbol(S011,C) >= LoadSymbol(S011,O),1,0);

a012 := If(LoadSymbol(S012,C) >= LoadSymbol(S012,O),1,0);

a013 := If(LoadSymbol(S013,C) >= LoadSymbol(S013,O),1,0);

a014 := If(LoadSymbol(S014,C) >= LoadSymbol(S014,O),1,0);

a015 := If(LoadSymbol(S015,C) >= LoadSymbol(S015,O),1,0);

a016 := If(LoadSymbol(S016,C) >= LoadSymbol(S016,O),1,0);

a017 := If(LoadSymbol(S017,C) >= LoadSymbol(S017,O),1,0);

a018 := If(LoadSymbol(S018,C) >= LoadSymbol(S018,O),1,0);

a019 := If(LoadSymbol(S019,C) >= LoadSymbol(S019,O),1,0);

a020 := If(LoadSymbol(S020,C) >= LoadSymbol(S020,O),1,0);

a021 := If(LoadSymbol(S021,C) >= LoadSymbol(S021,O),1,0);

a022 := If(LoadSymbol(S022,C) >= LoadSymbol(S022,O),1,0);

a023 := If(LoadSymbol(S023,C) >= LoadSymbol(S023,O),1,0);

a024 := If(LoadSymbol(S024,C) >= LoadSymbol(S024,O),1,0);

a025 := If(LoadSymbol(S025,C) >= LoadSymbol(S025,O),1,0);

a026 := If(LoadSymbol(S026,C) >= LoadSymbol(S026,O),1,0);

a027 := If(LoadSymbol(S027,C) >= LoadSymbol(S027,O),1,0);

a028 := If(LoadSymbol(S028,C) >= LoadSymbol(S028,O),1,0);

a029 := If(LoadSymbol(S029,C) >= LoadSymbol(S029,O),1,0);

a030 := If(LoadSymbol(S030,C) >= LoadSymbol(S030,O),1,0);

a031 := If(LoadSymbol(S031,C) >= LoadSymbol(S031,O),1,0);

a032 := If(LoadSymbol(S032,C) >= LoadSymbol(S032,O),1,0);

a033 := If(LoadSymbol(S033,C) >= LoadSymbol(S033,O),1,0);

a034 := If(LoadSymbol(S034,C) >= LoadSymbol(S034,O),1,0);

a035 := If(LoadSymbol(S035,C) >= LoadSymbol(S035,O),1,0);

a036 := If(LoadSymbol(S036,C) >= LoadSymbol(S036,O),1,0);

a037 := If(LoadSymbol(S037,C) >= LoadSymbol(S037,O),1,0);

a038 := If(LoadSymbol(S038,C) >= LoadSymbol(S038,O),1,0);

a039 := If(LoadSymbol(S039,C) >= LoadSymbol(S039,O),1,0);

a040 := If(LoadSymbol(S040,C) >= LoadSymbol(S040,O),1,0);

a041 := If(LoadSymbol(S041,C) >= LoadSymbol(S041,O),1,0);

a042 := If(LoadSymbol(S042,C) >= LoadSymbol(S042,O),1,0);

a043 := If(LoadSymbol(S043,C) >= LoadSymbol(S043,O),1,0);

a044 := If(LoadSymbol(S044,C) >= LoadSymbol(S044,O),1,0);

a045 := If(LoadSymbol(S045,C) >= LoadSymbol(S045,O),1,0);

a046 := If(LoadSymbol(S046,C) >= LoadSymbol(S046,O),1,0);

a047 := If(LoadSymbol(S047,C) >= LoadSymbol(S047,O),1,0);

a048 := If(LoadSymbol(S048,C) >= LoadSymbol(S048,O),1,0);

a049 := If(LoadSymbol(S049,C) >= LoadSymbol(S049,O),1,0);

a050 := If(LoadSymbol(S050,C) >= LoadSymbol(S050,O),1,0);

a051 := If(LoadSymbol(S051,C) >= LoadSymbol(S051,O),1,0);

a052 := If(LoadSymbol(S052,C) >= LoadSymbol(S052,O),1,0);

a053 := If(LoadSymbol(S053,C) >= LoadSymbol(S053,O),1,0);

a054 := If(LoadSymbol(S054,C) >= LoadSymbol(S054,O),1,0);

a055 := If(LoadSymbol(S055,C) >= LoadSymbol(S055,O),1,0);

a056 := If(LoadSymbol(S056,C) >= LoadSymbol(S056,O),1,0);

a057 := If(LoadSymbol(S057,C) >= LoadSymbol(S057,O),1,0);

a058 := If(LoadSymbol(S058,C) >= LoadSymbol(S058,O),1,0);

a059 := If(LoadSymbol(S059,C) >= LoadSymbol(S059,O),1,0);

a060 := If(LoadSymbol(S060,C) >= LoadSymbol(S060,O),1,0);

a061 := If(LoadSymbol(S061,C) >= LoadSymbol(S061,O),1,0);

a062 := If(LoadSymbol(S062,C) >= LoadSymbol(S062,O),1,0);

a063 := If(LoadSymbol(S063,C) >= LoadSymbol(S063,O),1,0);

a064 := If(LoadSymbol(S064,C) >= LoadSymbol(S064,O),1,0);

a065 := If(LoadSymbol(S065,C) >= LoadSymbol(S065,O),1,0);

a066 := If(LoadSymbol(S066,C) >= LoadSymbol(S066,O),1,0);

a067 := If(LoadSymbol(S067,C) >= LoadSymbol(S067,O),1,0);

a068 := If(LoadSymbol(S068,C) >= LoadSymbol(S068,O),1,0);

a069 := If(LoadSymbol(S069,C) >= LoadSymbol(S069,O),1,0);

a070 := If(LoadSymbol(S070,C) >= LoadSymbol(S070,O),1,0);

a071 := If(LoadSymbol(S071,C) >= LoadSymbol(S071,O),1,0);

a072 := If(LoadSymbol(S072,C) >= LoadSymbol(S072,O),1,0);

a073 := If(LoadSymbol(S073,C) >= LoadSymbol(S073,O),1,0);

a074 := If(LoadSymbol(S074,C) >= LoadSymbol(S074,O),1,0);

a075 := If(LoadSymbol(S075,C) >= LoadSymbol(S075,O),1,0);

a076 := If(LoadSymbol(S076,C) >= LoadSymbol(S076,O),1,0);

a077 := If(LoadSymbol(S077,C) >= LoadSymbol(S077,O),1,0);

a078 := If(LoadSymbol(S078,C) >= LoadSymbol(S078,O),1,0);

a079 := If(LoadSymbol(S079,C) >= LoadSymbol(S079,O),1,0);

a080 := If(LoadSymbol(S080,C) >= LoadSymbol(S080,O),1,0);

a081 := If(LoadSymbol(S081,C) >= LoadSymbol(S081,O),1,0);

a082 := If(LoadSymbol(S082,C) >= LoadSymbol(S082,O),1,0);

a083 := If(LoadSymbol(S083,C) >= LoadSymbol(S083,O),1,0);

a084 := If(LoadSymbol(S084,C) >= LoadSymbol(S084,O),1,0);

a085 := If(LoadSymbol(S085,C) >= LoadSymbol(S085,O),1,0);

a086 := If(LoadSymbol(S086,C) >= LoadSymbol(S086,O),1,0);

a087 := If(LoadSymbol(S087,C) >= LoadSymbol(S087,O),1,0);

a088 := If(LoadSymbol(S088,C) >= LoadSymbol(S088,O),1,0);

a089 := If(LoadSymbol(S089,C) >= LoadSymbol(S089,O),1,0);

a090 := If(LoadSymbol(S090,C) >= LoadSymbol(S090,O),1,0);

a091 := If(LoadSymbol(S091,C) >= LoadSymbol(S091,O),1,0);

a092 := If(LoadSymbol(S092,C) >= LoadSymbol(S092,O),1,0);

a093 := If(LoadSymbol(S093,C) >= LoadSymbol(S093,O),1,0);

a094 := If(LoadSymbol(S094,C) >= LoadSymbol(S094,O),1,0);

a095 := If(LoadSymbol(S095,C) >= LoadSymbol(S095,O),1,0);

a096 := If(LoadSymbol(S096,C) >= LoadSymbol(S096,O),1,0);

a097 := If(LoadSymbol(S097,C) >= LoadSymbol(S097,O),1,0);

a098 := If(LoadSymbol(S098,C) >= LoadSymbol(S098,O),1,0);

a099 := If(LoadSymbol(S099,C) >= LoadSymbol(S099,O),1,0);

a100 := If(LoadSymbol(S100,C) >= LoadSymbol(S100,O),1,0);

a101 := If(LoadSymbol(S101,C) > LoadSymbol(S101,O),1,0);

a102 := If(LoadSymbol(S102,C) > LoadSymbol(S102,O),1,0);

a103 := If(LoadSymbol(S103,C) > LoadSymbol(S103,O),1,0);

a104 := If(LoadSymbol(S104,C) > LoadSymbol(S104,O),1,0);

a105 := If(LoadSymbol(S105,C) > LoadSymbol(S105,O),1,0);

a106 := If(LoadSymbol(S106,C) > LoadSymbol(S106,O),1,0);

a107 := If(LoadSymbol(S107,C) > LoadSymbol(S107,O),1,0);

a108 := If(LoadSymbol(S108,C) > LoadSymbol(S108,O),1,0);

a109 := If(LoadSymbol(S109,C) > LoadSymbol(S109,O),1,0);

a110 := If(LoadSymbol(S110,C) > LoadSymbol(S110,O),1,0);

a111 := If(LoadSymbol(S111,C) > LoadSymbol(S111,O),1,0);

a112 := If(LoadSymbol(S112,C) > LoadSymbol(S112,O),1,0);

a113 := If(LoadSymbol(S113,C) > LoadSymbol(S113,O),1,0);

a114 := If(LoadSymbol(S114,C) > LoadSymbol(S114,O),1,0);

a115 := If(LoadSymbol(S115,C) > LoadSymbol(S115,O),1,0);

a116 := If(LoadSymbol(S116,C) > LoadSymbol(S116,O),1,0);

a117 := If(LoadSymbol(S117,C) > LoadSymbol(S117,O),1,0);

a118 := If(LoadSymbol(S118,C) > LoadSymbol(S118,O),1,0);

a119 := If(LoadSymbol(S119,C) > LoadSymbol(S119,O),1,0);

a120 := If(LoadSymbol(S120,C) > LoadSymbol(S120,O),1,0);

a121 := If(LoadSymbol(S121,C) > LoadSymbol(S121,O),1,0);

a122 := If(LoadSymbol(S122,C) > LoadSymbol(S122,O),1,0);

a123 := If(LoadSymbol(S123,C) > LoadSymbol(S123,O),1,0);

a124 := If(LoadSymbol(S124,C) > LoadSymbol(S124,O),1,0);

a125 := If(LoadSymbol(S125,C) > LoadSymbol(S125,O),1,0);

a126 := If(LoadSymbol(S126,C) > LoadSymbol(S126,O),1,0);

a127 := If(LoadSymbol(S127,C) > LoadSymbol(S127,O),1,0);

a128 := If(LoadSymbol(S128,C) > LoadSymbol(S128,O),1,0);

a129 := If(LoadSymbol(S129,C) > LoadSymbol(S129,O),1,0);

a130 := If(LoadSymbol(S130,C) > LoadSymbol(S130,O),1,0);

a131 := If(LoadSymbol(S131,C) > LoadSymbol(S131,O),1,0);

a132 := If(LoadSymbol(S132,C) > LoadSymbol(S132,O),1,0);

a133 := If(LoadSymbol(S133,C) > LoadSymbol(S133,O),1,0);

a134 := If(LoadSymbol(S134,C) > LoadSymbol(S134,O),1,0);

a135 := If(LoadSymbol(S135,C) > LoadSymbol(S135,O),1,0);

a136 := If(LoadSymbol(S136,C) > LoadSymbol(S136,O),1,0);

a137 := If(LoadSymbol(S137,C) > LoadSymbol(S137,O),1,0);

a138 := If(LoadSymbol(S138,C) > LoadSymbol(S138,O),1,0);

a139 := If(LoadSymbol(S139,C) > LoadSymbol(S139,O),1,0);

a140 := If(LoadSymbol(S140,C) > LoadSymbol(S140,O),1,0);

a141 := If(LoadSymbol(S141,C) > LoadSymbol(S141,O),1,0);

a142 := If(LoadSymbol(S142,C) > LoadSymbol(S142,O),1,0);

a143 := If(LoadSymbol(S143,C) > LoadSymbol(S143,O),1,0);

a144 := If(LoadSymbol(S144,C) > LoadSymbol(S144,O),1,0);

a145 := If(LoadSymbol(S145,C) > LoadSymbol(S145,O),1,0);

a146 := If(LoadSymbol(S146,C) > LoadSymbol(S146,O),1,0);

a147 := If(LoadSymbol(S147,C) > LoadSymbol(S147,O),1,0);

a148 := If(LoadSymbol(S148,C) > LoadSymbol(S148,O),1,0);

a149 := If(LoadSymbol(S149,C) > LoadSymbol(S149,O),1,0);

a150 := If(LoadSymbol(S150,C) > LoadSymbol(S150,O),1,0);

a151 := If(LoadSymbol(S151,C) > LoadSymbol(S151,O),1,0);

a152 := If(LoadSymbol(S152,C) > LoadSymbol(S152,O),1,0);

a153 := If(LoadSymbol(S153,C) > LoadSymbol(S153,O),1,0);

a154 := If(LoadSymbol(S154,C) > LoadSymbol(S154,O),1,0);

a155 := If(LoadSymbol(S155,C) > LoadSymbol(S155,O),1,0);

a156 := If(LoadSymbol(S156,C) > LoadSymbol(S156,O),1,0);

a157 := If(LoadSymbol(S157,C) > LoadSymbol(S157,O),1,0);

a158 := If(LoadSymbol(S158,C) > LoadSymbol(S158,O),1,0);

a159 := If(LoadSymbol(S159,C) > LoadSymbol(S159,O),1,0);

a160 := If(LoadSymbol(S160,C) > LoadSymbol(S160,O),1,0);

a161 := If(LoadSymbol(S161,C) > LoadSymbol(S161,O),1,0);

a162 := If(LoadSymbol(S162,C) > LoadSymbol(S162,O),1,0);

a163 := If(LoadSymbol(S163,C) > LoadSymbol(S163,O),1,0);

a164 := If(LoadSymbol(S164,C) > LoadSymbol(S164,O),1,0);

a165 := If(LoadSymbol(S165,C) > LoadSymbol(S165,O),1,0);

a166 := If(LoadSymbol(S166,C) > LoadSymbol(S166,O),1,0);

a167 := If(LoadSymbol(S167,C) > LoadSymbol(S167,O),1,0);

a168 := If(LoadSymbol(S168,C) > LoadSymbol(S168,O),1,0);

a169 := If(LoadSymbol(S169,C) > LoadSymbol(S169,O),1,0);

a170 := If(LoadSymbol(S170,C) > LoadSymbol(S170,O),1,0);

a171 := If(LoadSymbol(S171,C) > LoadSymbol(S171,O),1,0);

a172 := If(LoadSymbol(S172,C) > LoadSymbol(S172,O),1,0);

a173 := If(LoadSymbol(S173,C) > LoadSymbol(S173,O),1,0);

a174 := If(LoadSymbol(S174,C) > LoadSymbol(S174,O),1,0);

a175 := If(LoadSymbol(S175,C) > LoadSymbol(S175,O),1,0);

a176 := If(LoadSymbol(S176,C) > LoadSymbol(S176,O),1,0);

a177 := If(LoadSymbol(S177,C) > LoadSymbol(S177,O),1,0);

a178 := If(LoadSymbol(S178,C) > LoadSymbol(S178,O),1,0);

a179 := If(LoadSymbol(S179,C) > LoadSymbol(S179,O),1,0);

a180 := If(LoadSymbol(S180,C) > LoadSymbol(S180,O),1,0);

a181 := If(LoadSymbol(S181,C) > LoadSymbol(S181,O),1,0);

a182 := If(LoadSymbol(S182,C) > LoadSymbol(S182,O),1,0);

a183 := If(LoadSymbol(S183,C) > LoadSymbol(S183,O),1,0);

a184 := If(LoadSymbol(S184,C) > LoadSymbol(S184,O),1,0);

a185 := If(LoadSymbol(S185,C) > LoadSymbol(S185,O),1,0);

a186 := If(LoadSymbol(S186,C) > LoadSymbol(S186,O),1,0);

a187 := If(LoadSymbol(S187,C) > LoadSymbol(S187,O),1,0);

a188 := If(LoadSymbol(S188,C) > LoadSymbol(S188,O),1,0);

a189 := If(LoadSymbol(S189,C) > LoadSymbol(S189,O),1,0);

a190 := If(LoadSymbol(S190,C) > LoadSymbol(S190,O),1,0);

a191 := If(LoadSymbol(S191,C) > LoadSymbol(S191,O),1,0);

a192 := If(LoadSymbol(S192,C) > LoadSymbol(S192,O),1,0);

a193 := If(LoadSymbol(S193,C) > LoadSymbol(S193,O),1,0);

a194 := If(LoadSymbol(S194,C) > LoadSymbol(S194,O),1,0);

a195 := If(LoadSymbol(S195,C) > LoadSymbol(S195,O),1,0);

a196 := If(LoadSymbol(S196,C) > LoadSymbol(S196,O),1,0);

a197 := If(LoadSymbol(S197,C) > LoadSymbol(S197,O),1,0);

a198 := If(LoadSymbol(S198,C) > LoadSymbol(S198,O),1,0);

a199 := If(LoadSymbol(S199,C) > LoadSymbol(S199,O),1,0);

a200 := If(LoadSymbol(S200,C) > LoadSymbol(S200,O),1,0);

[linestyle=solid; color=lime green]

Adv:=a001+a002+a003+a004+a005+a006+a007+a008+a009+a010+a011+a012+a013+a014+a015+a016+a017+a018+a019+a020+a021+a022+a023+a024+a025+a026+a027+a028+a029+a030+a031+a032+a033+a034+a035+a036+a037+a038+a039+a040+a041+a042+a043+a044+a045+a046+a047+a048+a049+a050+a051+a052+a053+a054+a055+a056+a057+a058+a059+a060+a061+a062+a063+a064+a065+a066+a067+a068+a069+a070+a071+a072+a073+a074+a075+a076+a077+a078+a079+a080+a081+a082+a083+a084+a085+a086+a087+a088+a089+a090+a091+a092+a093+a094+a095+a096+a097+a098+a099+a100+a101+a102+a103+a104+a105+a106+a107+a108+a109+a110+a111+a112+a113+a114+a115+a116+a117+a118+a119+a120+a121+a122+a123+a124+a125+a126+a127+a128+a129+a130+a131+a132+a133+a134+a135+a136+a137+a138+a139+a140+a141+a142+a143+a144+a145+a146+a147+a148+a149+a150+a151+a152+a153+a154+a155+a156+a157+a158+a159+a160+a161+a162+a163+a164+a165+a166+a167+a168+a169+a170+a171+a172+a173+a174+a175+a176+a177+a178+a179+a180+a181+a182+a183+a184+a185+a186+a187+a188+a189+a190+a191+a192+a193+a194+a195+a196+a197+a198+a199+a200;

ma(Adv,n,E);

[linestyle=solid; color=red]

Dec:=200-Adv;

ma(Dec,n,E);



Posted By: jazza
Date Posted: 13 Aug 2009 at 5:19pm
Thanks, a heap to the ever helpful Maximo!

Was searching around for a  good usable solution for Relative Strength Comparison. The existing Bullcharts indicators aren't that accurate or meaningful to my mind.

Came across this Post and formula from the ever helpful and brilliant 'Maximo'

This is brilliantly done! Now incorporated in a new template for consistent use.

Thanks again Maximo.

Cheers,

Jazza




Posted By: maximo
Date Posted: 30 Aug 2009 at 5:57pm
Thanks Jazza,
 
I  wasn't convinced the A/D index using 200 stocks was giving me effective signals as to market direction, so over the weekend I reasoned that using the top 50 stocks should give a better indication of where most of the buying is.   This new indicator does appear to have produced very good signals for the past several months.  No good though if you look further back than this because the stocks in the index change over time, so best to keep it updated.
 
 
    

[description="Advance - Decline Issues. Represents the number of stocks rising versus the number of stocks falling in the index, Max"]

n := input("Period",5,1);

{ Index Composition for ASX20 }

S001:="AMP"; S002:="ANZ"; S003:="BHP"; S004:="BXB"; S005:="CBA";

S006:="CSL"; S007:="FGL"; S008:="MQG"; S009:="NAB"; S010:="NCM";

S011:="ORG"; S012:="QBE"; S013:="RIO"; S014:="SUN"; S015:="TLS";

S016:="WBC"; S017:="WDC"; S018:="WES"; S019:="WOW"; S020:="WPL";

{ Index Composition for remaining ASX50 }

S021:="AGK"; S022:="AMC"; S023:="ASX"; S024:="AXA"; S025:="BSL";

S026:="CCL"; S027:="CFX"; S028:="CWN"; S029:="FMG"; S030:="GPT";

S031:="IAG"; S032:="IPL"; S033:="LEI"; S034:="LGL"; S035:="LLC";

S036:="MAP"; S037:="MIG"; S038:="NWS"; S039:="ORI"; S040:="OSH";

S041:="OST"; S042:="QAN"; S043:="SGP"; S044:="SHL"; S045:="STO";

S046:="TAH"; S047:="TCL"; S048:="TEL"; S049:="TOL"; S050:="WOR";

{ Advancing Issues }

a001 := If(LoadSymbol(S001,C) >= LoadSymbol(S001,ref(C,-1)),1,0);

a002 := If(LoadSymbol(S002,C) > LoadSymbol(S002,ref(C,-1)),1,0);

a003 := If(LoadSymbol(S003,C) >= LoadSymbol(S003,ref(C,-1)),1,0);

a004 := If(LoadSymbol(S004,C) > LoadSymbol(S004,ref(C,-1)),1,0);

a005 := If(LoadSymbol(S005,C) >= LoadSymbol(S005,ref(C,-1)),1,0);

a006 := If(LoadSymbol(S006,C) > LoadSymbol(S006,ref(C,-1)),1,0);

a007 := If(LoadSymbol(S007,C) >= LoadSymbol(S007,ref(C,-1)),1,0);

a008 := If(LoadSymbol(S008,C) > LoadSymbol(S008,ref(C,-1)),1,0);

a009 := If(LoadSymbol(S009,C) >= LoadSymbol(S009,ref(C,-1)),1,0);

a010 := If(LoadSymbol(S010,C) > LoadSymbol(S010,ref(C,-1)),1,0);

a011 := If(LoadSymbol(S011,C) >= LoadSymbol(S011,ref(C,-1)),1,0);

a012 := If(LoadSymbol(S012,C) > LoadSymbol(S012,ref(C,-1)),1,0);

a013 := If(LoadSymbol(S013,C) >= LoadSymbol(S013,ref(C,-1)),1,0);

a014 := If(LoadSymbol(S014,C) > LoadSymbol(S014,ref(C,-1)),1,0);

a015 := If(LoadSymbol(S015,C) >= LoadSymbol(S015,ref(C,-1)),1,0);

a016 := If(LoadSymbol(S016,C) > LoadSymbol(S016,ref(C,-1)),1,0);

a017 := If(LoadSymbol(S017,C) >= LoadSymbol(S017,ref(C,-1)),1,0);

a018 := If(LoadSymbol(S018,C) > LoadSymbol(S018,ref(C,-1)),1,0);

a019 := If(LoadSymbol(S019,C) >= LoadSymbol(S019,ref(C,-1)),1,0);

a020 := If(LoadSymbol(S020,C) > LoadSymbol(S020,ref(C,-1)),1,0);

a021 := If(LoadSymbol(S021,C) >= LoadSymbol(S021,ref(C,-1)),1,0);

a022 := If(LoadSymbol(S022,C) > LoadSymbol(S022,ref(C,-1)),1,0);

a023 := If(LoadSymbol(S023,C) >= LoadSymbol(S023,ref(C,-1)),1,0);

a024 := If(LoadSymbol(S024,C) > LoadSymbol(S024,ref(C,-1)),1,0);

a025 := If(LoadSymbol(S025,C) >= LoadSymbol(S025,ref(C,-1)),1,0);

a026 := If(LoadSymbol(S026,C) > LoadSymbol(S026,ref(C,-1)),1,0);

a027 := If(LoadSymbol(S027,C) >= LoadSymbol(S027,ref(C,-1)),1,0);

a028 := If(LoadSymbol(S028,C) > LoadSymbol(S028,ref(C,-1)),1,0);

a029 := If(LoadSymbol(S029,C) >= LoadSymbol(S029,ref(C,-1)),1,0);

a030 := If(LoadSymbol(S030,C) > LoadSymbol(S030,ref(C,-1)),1,0);

a031 := If(LoadSymbol(S031,C) >= LoadSymbol(S031,ref(C,-1)),1,0);

a032 := If(LoadSymbol(S032,C) > LoadSymbol(S032,ref(C,-1)),1,0);

a033 := If(LoadSymbol(S033,C) >= LoadSymbol(S033,ref(C,-1)),1,0);

a034 := If(LoadSymbol(S034,C) > LoadSymbol(S034,ref(C,-1)),1,0);

a035 := If(LoadSymbol(S035,C) >= LoadSymbol(S035,ref(C,-1)),1,0);

a036 := If(LoadSymbol(S036,C) > LoadSymbol(S036,ref(C,-1)),1,0);

a037 := If(LoadSymbol(S037,C) >= LoadSymbol(S037,ref(C,-1)),1,0);

a038 := If(LoadSymbol(S038,C) > LoadSymbol(S038,ref(C,-1)),1,0);

a039 := If(LoadSymbol(S039,C) >= LoadSymbol(S039,ref(C,-1)),1,0);

a040 := If(LoadSymbol(S040,C) > LoadSymbol(S040,ref(C,-1)),1,0);

a041 := If(LoadSymbol(S041,C) >= LoadSymbol(S041,ref(C,-1)),1,0);

a042 := If(LoadSymbol(S042,C) > LoadSymbol(S042,ref(C,-1)),1,0);

a043 := If(LoadSymbol(S043,C) >= LoadSymbol(S043,ref(C,-1)),1,0);

a044 := If(LoadSymbol(S044,C) > LoadSymbol(S044,ref(C,-1)),1,0);

a045 := If(LoadSymbol(S045,C) >= LoadSymbol(S045,ref(C,-1)),1,0);

a046 := If(LoadSymbol(S046,C) > LoadSymbol(S046,ref(C,-1)),1,0);

a047 := If(LoadSymbol(S047,C) >= LoadSymbol(S047,ref(C,-1)),1,0);

a048 := If(LoadSymbol(S048,C) > LoadSymbol(S048,ref(C,-1)),1,0);

a049 := If(LoadSymbol(S049,C) >= LoadSymbol(S049,ref(C,-1)),1,0);

a050 := If(LoadSymbol(S050,C) > LoadSymbol(S050,ref(C,-1)),1,0);

[linestyle=solid; color=lime green]

Adv:=(a001+a002+a003+a004+a005+a006+a007+a008+a009+a010+a011+a012+a013+a014+a015+a016+a017+a018+a019+a020+a021+a022+a023+a024+a025+a026+a027+a028+a029+a030+a031+a032+a033+a034+a035+a036+a037+a038+a039+a040+a041+a042+a043+a044+a045+a046+a047+a048+a049+a050);

ma(Adv,n,E);

[linestyle=solid; color=red]

Dec:=(50-Adv)+12;

ma(Dec,n,E);

 

 



Posted By: jalna
Date Posted: 30 Aug 2009 at 7:57pm
HI Maximo, Looking forward to trying this out.
When  i try  and close the formula builder it tells me that
A formula must not contain/\ :*?  or other special reserved letters.
If i run the checker over it though it tells me it is a valid Bull script formula so can't work out what to do


Posted By: jalna
Date Posted: 30 Aug 2009 at 7:59pm
oh just worked it out , they mean in the name that I gave it


Posted By: jalna
Date Posted: 30 Aug 2009 at 8:13pm
DO you think Maximo it would give a good signals in the first part of a new upturn because people would be buying safe stock and then after awhile when the market had run for awhile they would feel  safer and start investing in midcap and more speculative stock.
Just a thought but thinking it throughSleepy the top 50 would be going up anywayEmbarrassed


Posted By: maximo
Date Posted: 30 Aug 2009 at 11:13pm
Yes Jalna,    
good signals in the first part of a new upturn
 
I can see there is some pre-emptive buying in the top50 before the rest of the market follows (shown by the green line crossing up above the red line).   As the market begins to trend in a new direction then demand continues and more money is exchanged for shares until the buy cycle finishes.   You can see an indication of a buy cycle ending when the green line goes beneath the red one.  The lines also tend to swap over more frequently during consolidation phases.    So, you could view this as a market trend filter.       
 
 


Posted By: jalna
Date Posted: 31 Aug 2009 at 8:04am
Thanks Maximo, it does look encouraging. Clearer signals than the 10MA 200 too.
Thanks for sharing
Where do you find out the info as to when the Indices are changed .  Is it done annually only ?


Posted By: maximo
Date Posted: 31 Aug 2009 at 3:40pm
I just look at the index listing in bullcharts every month as it is updated automatically :)
You can compare that list with the list in the code and make any necessary changes. 
 
You can also see what changes have been made and on what date at:
http://www2.standardandpoors.com/portal/site/sp/en/au/page.topic/indices_asx50/2,3,2,8,0,0,0,0,0,4,1,0,0,0,0,0.html - http://www2.standardandpoors.com/portal/site/sp/en/au/page.topic/indices_asx50/2,3,2,8,0,0,0,0,0,4,1,0,0,0,0,0.html
 
The changes appear to be made from the end of the 3rd week onwards of any month, but usally less frequently like every 3 months. 
 


Posted By: jhubbard
Date Posted: 23 Sep 2009 at 5:40pm
Hi Maximo,

Would it be possible to write a scan that would only look at stocks that appeared in the top 3 sectors as defined by your universal relative strength comparison? 

Thanks,
Jeremy.


Posted By: maximo
Date Posted: 24 Sep 2009 at 12:22am
Hi JH and welcome to the Forum.  Using the scan properties, 3. Securities Tab, you can limit any type of scan to any sector(s) or index or watchlist that you wish.  Just add the 3 sectors you want to include in your scan and away your go.
 
BTW, I've rewritten the indicator, so it no longer uses a moving average which smoothed it, but also caused it to lag.  Rate Of Change by itself is more responsive.  I think you will find good stocks are distributed throughout most sectors and not limited to the top 3.
 
Just as a side note.  Try changing the period to 200 and have a look at where the major divergences in the sectors are.   That could be an indication of something...  Also, Materials and Infotech are at the top.   Meaning they have risen more than anything in the last several months and that can be varified by the top movers in the ASX300.
 
Cheers!
 
 

[description="Universal Relative Strength Comparison, Max"]

symb := inputsymbol("ASX 300", "XKO");

period:= input("period",300,1);

start:=barnumber > lastvalue(barnumber) - 600;

sec1 := inputsymbol("Energy", "XEJ");

sec2 := inputsymbol("Materials", "XMJ");

sec3 := inputsymbol("Industrials", "XNJ");

sec4 := inputsymbol("Consumer Discretionary", "XDJ");

sec5 := inputsymbol("Consumer Staples", "XSJ");

sec6 := inputsymbol("Health Care", "XHJ");

sec7 := inputsymbol("Financials", "XFJ");

sec8 := inputsymbol("Information Technology", "XIJ");

sec9 := inputsymbol("Telecommunications", "XTJ");

secA := inputsymbol("Utilities", "XUJ");

index:=LoadSymbol(symb,C);

sector1:=LoadSymbol(sec1,C);

sector2:=LoadSymbol(sec2,C);

sector3:=LoadSymbol(sec3,C);

sector4:=LoadSymbol(sec4,C);

sector5:=LoadSymbol(sec5,C);

sector6:=LoadSymbol(sec6,C);

sector7:=LoadSymbol(sec7,C);

sector8:=LoadSymbol(sec8,C);

sector9:=LoadSymbol(sec9,C);

sectorA:=LoadSymbol(secA,C);

[color=red; width=2]

if(start,ROC(sector1,period,%) - ROC(index,period,%),prev);

[color=coral]

if(start,ROC(sector2,period,%) - ROC(index,period,%),prev);

[color=violet]

if(start,ROC(sector3,period,%) - ROC(index,period,%),prev);

[color=gold]

if(start,ROC(sector4,period,%) - ROC(index,period,%),prev);

[color=olive]

if(start,ROC(sector5,period,%) - ROC(index,period,%),prev);

[color=lawn green]

if(start,ROC(sector6,period,%) - ROC(index,period,%),prev);

[color=Teal]

if(start,ROC(sector7,period,%) - ROC(index,period,%),prev);

[color=Turquoise]

if(start,ROC(sector8,period,%) - ROC(index,period,%),prev);

[color=Slate Blue]

if(start,ROC(sector9,period,%) - ROC(index,period,%),prev);

[color=Blue]

if(start,ROC(sectorA,period,%) - ROC(index,period,%),prev);



Posted By: jalna
Date Posted: 24 Sep 2009 at 7:16am
Hi Maximo,  Could we add REITS. It would be interesting to watch them. Would I need to make them sector B


Posted By: jhubbard
Date Posted: 24 Sep 2009 at 8:35am
Thanks for the quick reply Maximo.

I didn't do a very good job of explaining what I would like to do with this.  I would actually like to use this as a filter in a tradesim scan, so I don't think it would be possible to limit the sectors on the security tab, as the top sectors would obviously change over time.

I have an existing filter in my tradesim scan that makes sure the sector of the security being assessed is trading above it's 30wk moving average (using loadsymbol(Security.SectorIndex, C)).  I would really like to replace/add to this by making sure it is in the top sectors as defined by your scan.

I agree with your comment on good stocks being distributed through most sectors - not just the top 3.  However my tradesim scan currently returns many more buy signals than I will ever be able to take.  I would like to see what would happen if I filtered out those buy signlas to only those stocks that are currently in the top 3 (or 5 or 7 etc) sectors.

Thanks for your help.

Cheers,
Jeremy.



Posted By: maximo
Date Posted: 24 Sep 2009 at 4:07pm
tradesim scan currently returns many more buy signals than I will ever be able to take.
 
I think this is generally the case with stocks where you can only ever take a percentage of the trades found with a system, though it's possible with  FX and Indices as they're limited in number.   
 
To filter by sector performance may require a sort routine, where the code determines the top 3  or 5 sectors by using around 90 comparisons.  ie. 10 sectors x 9 comparisons.  You'd also need to code for the list of stocks in each sector.  That's a lot of work..  The custom indicator(s) with sort code can then be applied as an entry trigger for Tradesim.   
 
Max


Posted By: jhubbard
Date Posted: 24 Sep 2009 at 5:23pm
Hi Maximo,

That's kind of the answer I was hoping you would come up with.  Except for the bit where you seem to be saying that there no inbuilt sort (or ranking) routine in bullscript!!  I was hoping this wasn't going to be the case.  Hmmm... this is going to get messy.

Regarding the bit on sector stocks - I'm not sure that I would need to code for the list of stocks that belong to each sector.  I was thinking I could create an indicator that returned the rank of the sector that was passed to it (using security.sectorindex).  Then I could simply create a filter checks that the value returned by the indicator is <= 3.  Or alternatively the indicator could just return true if the sector was in the top x sectors.
 
Jeremy.



Posted By: maximo
Date Posted: 26 Sep 2009 at 6:26pm
You could try a TradeSim scan in bullcharts.  It's capable of sorting by an indicator value in the TradeSim Scan [advanced tab].


Posted By: jhubbard
Date Posted: 01 Oct 2009 at 9:30am
Thanks Maximo - I hadn't thought of that.  I will give it a try.


Posted By: Marco
Date Posted: 27 Nov 2009 at 3:32pm
Maximo, I've always been interested in the way Traderfeed tries to gauge market participation by comparing stocks making fresh 20 day highs versus those making new lows during the week ( which I take to mean fresh 20 day lows).

See here:

http://traderfeed.blogspot.com/2009/11/large-cap-strength-small-cap-weakness.html

Do you think there would be merit for the Bullcharts community to have such an indicator that we could then compare to index's movement?. I guess its another take on A/D. Not sure how difficult this would be to code up?? Given you'd want a reasonable basket of stocks, the XKO might be one we could use.




Posted By: maximo
Date Posted: 29 Nov 2009 at 2:18pm

It's a good topic covered earlier this year.   When you do the scan for a comparison of stocks versus an Index, the stocks are sorted in order from highest high to lowest low for the period of your choosing.   The stocks at the top of the list forming higher highs, stocks at the bottom forming lower lows.

http://www.bullcharts.com.au/forum/forum_posts.asp?TID=561 - http://www.bullcharts.com.au/forum/forum_posts.asp?TID=561



Posted By: Marco
Date Posted: 30 Nov 2009 at 9:00am
Originally posted by maximo

It's a good topic covered earlier this year.   When you do the scan for a comparison of stocks versus an Index, the stocks are sorted in order from highest high to lowest low for the period of your choosing.   The stocks at the top of the list forming higher highs, stocks at the bottom forming lower lows.

http://www.bullcharts.com.au/forum/forum_posts.asp?TID=561 - http://www.bullcharts.com.au/forum/forum_posts.asp?TID=561



Excellent. I missed that thread!! I'll take a look.

However, whereas that thread is to pick out particular stocks that are out/under performing, I am looking for an overall "participation" indicator.

That is, if the XAO is making fresh highs, is there an increasing number of its constituent stocks making 20 day highs, or is there less market participation than what we would like to see.





Posted By: maximo
Date Posted: 30 Nov 2009 at 3:29pm
Hi Marco,
 
You can gauge this by the resulting list by checking how many stocks in the list are above 0.  The number of stocks above 0 will tell you how many are out performing the index.   That's using the RSI or ROC comparison.  I think BullCharts scan  results has a counter in the scan results so you don't even have to count them :)


Posted By: jalna
Date Posted: 17 Mar 2010 at 8:47pm
maximo !!!! Are you still out there.
I would love to know how to get the names of the sectors to appear on the charts


Posted By: maximo
Date Posted: 28 Mar 2010 at 2:59pm
You have to make one yourself, a legend/picture of them.  Otherwise you could refer to the list of Sector codes for each line.



Print Page | Close Window

Bulletin Board Software by Web Wiz Forums® version 9.69 - http://www.webwizforums.com
Copyright ©2001-2010 Web Wiz - http://www.webwiz.co.uk