[TS懶人包] [保險服務]

2010年2月20日 星期六

指標的運用 - MACD 交叉程式

在寫完了均線的交叉程式後…我想 MACD 就變的很簡單了…只要知道 MACD 的運算方式…再把均線交叉的兩條線換成是 MACD 線和 MACD 均線即可。在上一篇文章內已經提到了 MACD 的運算方式了…所以這邊就直接把進出場程式寫出來吧。


Value1 = MACD(close, 12, 26);
Value2 = XAverage(MACD(close, 12, 26), 9);

if Value1 cross over Value2 then begin
buy next bar at market;
end;
if Value1 cross under Value2 then begin
sell next bar at market;
end;


績效依舊不太好…所以依舊只能算是個例題。

指標的運用講解到這邊…我猜想大家應該可以簡單的了解到原理了…其它的指標方式都可以這樣子使用。如果不是內建指標的話…那只要在網路上找到計算的方式…也可以直接的用進來。

比如說 TradeStation 內沒提供的 KDJ 指標,只要找到計算方式(可以 Google 一下),就可以找到 KDJ 的計算是這樣:

KDJ的计算
        今日收盘价-N日内最低价
今(N)日RSV=(—————————————)× 100 ;
       N日内最高价-N日内最低价

今(N)日K值=2/3昨日K值+1/3今(N)日RSV ;

今(N)日D值=2/3昨日D值+1/3今(N)日K值 ;

今(N)日J值=3今(N)日D值-2今(N)日K值 。

K、D初始值取50。

知道了公式後…其實要寫成指標就簡單了:

Input: N(13), M1(7), M2(3);
Vars:KDJRSV(0), KDJK(0), KDJD(0), KDJJ(0);

If CurrentBar = 1 Then begin

KDJRSV = 0;
KDJK = 50;
KDJD = 50;
KDJJ = 0;
end
Else begin
KDJRSV = (Close - Lowest(Low, 9)) / iff((Highest(High, 9) - Lowest(Low, 9)) = 0, 1, (Highest(High, 9) - Lowest(Low, 9))) * 100;

KDJK = KDJK[1] * 0.66 + KDJRSV * 0.34;
KDJD = KDJD[1] * 0.66 + KDJK * 0.34;
KDJJ = (3 * KDJK) - (2 * KDJD);
End;

Plot1(KDJK, "K", Red, 2);
Plot2(KDJD, "D", Green, 2);
Plot3(KDJJ, "J", Blue, 1);


或是不要寫成指標直接運用在策略裡面…也應該不會是問題才對囉。

有興趣的就用 KDJ 寫個進出場策略吧。接下來的文章會轉到一些內建函數的程式碼講解。多看一下內建程式碼其實對一開始不會寫程式的人會有很大的幫助的。

沒有留言:

張貼留言

請留下您的大名…匿名者恕不回應…

Related Posts Plugin for WordPress, Blogger...