成本線可說是移動平均線的進化,可以估算過去一段期間市場的交易平均成本,我們分為計算日內成本線以及連續成本線跟大家介紹:
對當沖客而言,估算當日的市場成交成本價是很有參考價值的資訊,事實上,當沖客觀察大量K棒(關鍵K)或是所謂的交易密集平台,就是用市場成交成本的概念去作相對應的操作,日內成本線的語法如下:
===================================
vars:counter1(0),B_AvgCost(0),W_AvgCost(0),AvgCost(0),CumTicks(0);
B_AvgCost=(h+l+2*c)/4;
W_AvgCost=B_AvgCost*Ticks;
if date<>date[1] then begin
counter1=0;
CumTicks=0;
end;
counter1=counter1+1;
CumTicks=CumTicks+Ticks;
AvgCost=summation(W_AvgCost,counter1)/CumTicks;
plot1(AvgCost);
===================================
語法說明:
計算日內成本線的基本概念就是算出今日成交量加權平均成交價,假如今天只有成交三筆:
3口@7000
4口@7010
3口@7012
則今日的成本線為:(3*7000+4*7010+3*7012)/(3+4+3)=7007.6。
有了成本線的基本概念後,首先,我們一樣用(H+L+2*C) / 4估算每根K棒的平均成交價,也就是”B_AvgCost=(h+l+2*c)/4”;再來就是計算每根K棒的成交均價乘於成交量:
W_AvgCost=B_AvgCost*Ticks;
接著我們運用了date<>date[1]的技巧將變數每日歸零。
(2018/3/16補充)
如過有用到夜盤,if date<>date[1]可改成 if time=846(1分K用846,5分K的話就改用850,以此類推,目的就是抓每天的第一根K棒)。
如過有用到夜盤,if date<>date[1]可改成 if time=846(1分K用846,5分K的話就改用850,以此類推,目的就是抓每天的第一根K棒)。
最後算出開盤到當根K棒為止今日的成交量加權平均成交價,也就是計算成本線:
AvgCost=summation(W_AvgCost,counter1)/CumTicks;
連續成本線
AvgCost=summation(W_AvgCost,counter1)/CumTicks;
連續成本線
相較於上面日內成本線,連續成本線也就是把所有成交價(K棒)視為連續,以20MA為例的語法如下:
===================================
vars:B_AvgCost(0),W_AvgCost(0),AvgCost(0),Len(20);
B_AvgCost=(h+l+2*c)/4;
W_AvgCost=B_AvgCost*Ticks;
AvgCost=summation(W_AvgCost,len)/summation(Ticks,len);
plot1(AvgCost);
===================================
下圖分別是是繪製出來的日內成本線(建議指標樣式採點狀圖)與連續成本線,簡單歸納出行情判斷的方式:成本線是平均成交成本,一般具有壓力支撐的效果,但一但行情突破,瞬間都會一根長K棒出來,因為做錯的要被迫停損,另外,成本線也可作為停損或加碼參考……,希望提供給各位網友參考,或可創造出不同的運用辦法。
加權成本線:
===================================
vars:B_AvgCost(0),W_AvgCost(0),AvgCost(0),Len(20);
B_AvgCost=(h+l+2*c)/4;
W_AvgCost=B_AvgCost*Ticks;
AvgCost=summation(W_AvgCost,len)/summation(Ticks,len);
plot1(AvgCost);
===================================
下圖分別是是繪製出來的日內成本線(建議指標樣式採點狀圖)與連續成本線,簡單歸納出行情判斷的方式:成本線是平均成交成本,一般具有壓力支撐的效果,但一但行情突破,瞬間都會一根長K棒出來,因為做錯的要被迫停損,另外,成本線也可作為停損或加碼參考……,希望提供給各位網友參考,或可創造出不同的運用辦法。
加權成本線:
另外成本線跟均線一樣,也可以作加權處理,使其能更敏銳更貼近盤面,如下程式碼範例(用1分K)就是簡單地把原算出來成本線再跟當根收盤價加總除以2。加權平均還有其他算法,讀者可以自行深入研究。
===================================
vars:counter1(0),B_AvgCost(0),W_AvgCost(0),AvgCost(0),CumTicks(0);
B_AvgCost=(h+l+2*c)/4;
W_AvgCost=B_AvgCost*Ticks;
if time=846 then begin
counter1=0;
CumTicks=0;
end;
counter1=counter1+1;
CumTicks=CumTicks+Ticks;
AvgCost=((summation(W_AvgCost,counter1)/CumTicks)+B_AvgCost)*0.5;
plot1(AvgCost);
===================================
下圖白色為原日內成本線,黃色為加權後成本線:
vars:counter1(0),B_AvgCost(0),W_AvgCost(0),AvgCost(0),CumTicks(0);
B_AvgCost=(h+l+2*c)/4;
W_AvgCost=B_AvgCost*Ticks;
if time=846 then begin
counter1=0;
CumTicks=0;
end;
counter1=counter1+1;
CumTicks=CumTicks+Ticks;
AvgCost=((summation(W_AvgCost,counter1)/CumTicks)+B_AvgCost)*0.5;
plot1(AvgCost);
===================================
下圖白色為原日內成本線,黃色為加權後成本線: