很久之前有跟大家分享過一個台灣50的多空指標,那就是計算前面十檔台灣50指數成份股有多少檔站在月線之上。上週五颱風假在假閒閒沒事,想說要不要乾脆把50檔成份股都納進來算,結果50檔裡有多少檔站在月線之上這樣的數據,對照台灣50的走勢,確實是有一定的參考價值,所以我想就直接跟大家分享腳本,讓大家不必辛苦的敲半天,然後也可以根據這樣的想法,透過計算有多少檔成份股RSI在50以上之類的數據,創造自己專屬的多空指標。
有不少朋友喜歡看多大盤時買0050,看壞大盤後市時買00632R,所以需要一個研究台灣50後市的多空依據,以下的腳本是用來計算台灣50裡的50檔成份股,有多少檔站在月線之上。
腳本
1value1=GetSymbolField("1101.tw","收盤價"); 2value2=GetSymbolField("1102.tw","收盤價"); 3value3=GetSymbolField("1216.tw","收盤價"); 4value4=GetSymbolField("1301.tw","收盤價"); 5value5=GetSymbolField("1303.tw","收盤價"); 6value6=GetSymbolField("1326.tw","收盤價"); 7value7=GetSymbolField("1402.tw","收盤價"); 8value8=GetSymbolField("2002.tw","收盤價"); 9value9=GetSymbolField("2105.tw","收盤價"); 10value10=GetSymbolField("2207.tw","收盤價"); 11value11=GetSymbolField("2301.tw","收盤價"); 12value12=GetSymbolField("2303.tw","收盤價"); 13value13=GetSymbolField("2308.tw","收盤價"); 14value14=GetSymbolField("2317.tw","收盤價"); 15value15=GetSymbolField("2327.tw","收盤價"); 16value16=GetSymbolField("2330.tw","收盤價"); 17value17=GetSymbolField("2357.tw","收盤價"); 18value18=GetSymbolField("2382.tw","收盤價"); 19value19=GetSymbolField("2395.tw","收盤價"); 20value20=GetSymbolField("2408.tw","收盤價"); 21value21=GetSymbolField("2409.tw","收盤價"); 22value22=GetSymbolField("2412.tw","收盤價"); 23value23=GetSymbolField("2454.tw","收盤價"); 24value24=GetSymbolField("2474.tw","收盤價"); 25value25=GetSymbolField("2633.tw","收盤價"); 26value26=GetSymbolField("2801.tw","收盤價"); 27value27=GetSymbolField("2880.tw","收盤價"); 28value28=GetSymbolField("2881.tw","收盤價"); 29value29=GetSymbolField("2882.tw","收盤價"); 30value30=GetSymbolField("2883.tw","收盤價"); 31value31=GetSymbolField("2884.tw","收盤價"); 32value32=GetSymbolField("2885.tw","收盤價"); 33value33=GetSymbolField("2886.tw","收盤價"); 34value34=GetSymbolField("2887.tw","收盤價"); 35value35=GetSymbolField("2890.tw","收盤價"); 36value36=GetSymbolField("2891.tw","收盤價"); 37value37=GetSymbolField("2892.tw","收盤價"); 38value38=GetSymbolField("2912.tw","收盤價"); 39value39=GetSymbolField("3008.tw","收盤價"); 40value40=GetSymbolField("3045.tw","收盤價"); 41value41=GetSymbolField("3711.tw","收盤價"); 42value42=GetSymbolField("4904.tw","收盤價"); 43value43=GetSymbolField("4938.tw","收盤價"); 44value44=GetSymbolField("5871.tw","收盤價"); 45value45=GetSymbolField("5876.tw","收盤價"); 46value46=GetSymbolField("5880.tw","收盤價"); 47value47=GetSymbolField("6505.tw","收盤價"); 48value48=GetSymbolField("9904.tw","收盤價"); 49value49=GetSymbolField("9910.tw","收盤價"); 50value50=GetSymbolField("2823.tw","收盤價"); 51 52variable:count(0); 53input:period(20); 54count=0; 55if value1>average(value1,period) then count=count+1; 56if value2>average(value2,period) then count=count+1; 57if value3>average(value3,period) then count=count+1; 58if value4>average(value4,period) then count=count+1; 59if value5>average(value5,period) then count=count+1; 60if value6>average(value6,period) then count=count+1; 61if value7>average(value7,period) then count=count+1; 62if value8>average(value8,period) then count=count+1; 63if value9>average(value9,period) then count=count+1; 64if value10>average(value10,period) then count=count+1; 65if value11>average(value11,period) then count=count+1; 66if value12>average(value12,period) then count=count+1; 67if value13>average(value13,period) then count=count+1; 68if value14>average(value14,period) then count=count+1; 69if value15>average(value15,period) then count=count+1; 70if value16>average(value16,period) then count=count+1; 71if value17>average(value17,period) then count=count+1; 72if value18>average(value18,period) then count=count+1; 73if value19>average(value19,period) then count=count+1; 74if value20>average(value20,period) then count=count+1; 75if value21>average(value21,period) then count=count+1; 76if value22>average(value22,period) then count=count+1; 77if value23>average(value23,period) then count=count+1; 78if value24>average(value24,period) then count=count+1; 79if value25>average(value25,period) then count=count+1; 80if value26>average(value26,period) then count=count+1; 81if value27>average(value27,period) then count=count+1; 82if value28>average(value28,period) then count=count+1; 83if value29>average(value29,period) then count=count+1; 84if value30>average(value30,period) then count=count+1; 85if value31>average(value31,period) then count=count+1; 86if value32>average(value32,period) then count=count+1; 87if value33>average(value33,period) then count=count+1; 88if value34>average(value34,period) then count=count+1; 89if value35>average(value35,period) then count=count+1; 90if value36>average(value36,period) then count=count+1; 91if value37>average(value37,period) then count=count+1; 92if value38>average(value38,period) then count=count+1; 93if value39>average(value39,period) then count=count+1; 94if value40>average(value40,period) then count=count+1; 95if value41>average(value41,period) then count=count+1; 96if value42>average(value42,period) then count=count+1; 97if value43>average(value43,period) then count=count+1; 98if value44>average(value44,period) then count=count+1; 99if value45>average(value45,period) then count=count+1; 100if value46>average(value46,period) then count=count+1; 101if value47>average(value47,period) then count=count+1; 102if value48>average(value48,period) then count=count+1; 103if value49>average(value49,period) then count=count+1; 104if value50>average(value50,period) then count=count+1; 105 106value51=count-25; 107 108plot1(value51,"台灣50多頭指數"); 109 110 111用這個腳本可以畫出下面這張圖
觀察這樣的對照圖,我們有丝個結論
一,當這個指標在20以上快速下跌時,往往是多頭市場的結束
二,當這個指標在-20左右快速往上走時,往往是多頭市場的開始
三,當這個指標穩定的維持紅柱體時,代表大多數的成份股是站在月線之上,屬於多頭架構
四,當這個指標穩定維持在0以下時,代表大多數的成份股站在月線之下,屬於空頭架構
五,當指標與台灣50背離時,往往是反轉訊號。
下圖則是這個指標與台灣50一分鐘的對照圖,這裡代表的是20分鐘移動平均線,如果大家覺得應該調整參數,請直接修改。
以上大致是這個指標的作法與應用,我做的是苦工,目的是讓大家不用自己敲50檔成份股的股票代碼,剩下的就讓大家自由發揮了。
