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 寫個進出場策略吧。接下來的文章會轉到一些內建函數的程式碼講解。多看一下內建程式碼其實對一開始不會寫程式的人會有很大的幫助的。
沒有留言:
張貼留言
請留下您的大名…匿名者恕不回應…