話先說在前頭…其實這個方法和暴力法去抓每日的收盤價計算來比較的話…會有一點點差距,如下圖…紅線是用暴力法算出來的 10ma,而黃線則是偷雞法...
為什麼暴力法不好呢…暴力法的程式碼如下:
vars:maa(0);
maa = (closed(1)+closed(2)+closed(3)+closed(4)+closed(5)+closed(6)+closed(7)+closed(8)+closed(9)+closed(10))/10;
plot2(maa, "10ma", red, red, 2);
這是在 TS 裡面的寫法…其實還滿簡單的…不過呢,在 HTS 可就不一樣了…每一個 closed 都得先弄個 array 出來,在用 array 去抓值來計算… 10ma 就得弄出 10 個 array…要是你要算個 60ma...那建 array 就不知道要建到什麼時候了。
就算是在 TS 裡面有提供 closed 這個方便的函式…要 key 60 次也真夠煩人的吧…所以下面就是偷雞法啦…
input:length(600);
vars:count(1);
if date[1] <> date[0] then
count = 1;
if time[1] <> time[0] then
count = count + 1;
plot1(average(close[count],length), "ma", yellow, yellow, 1);
這個方法要怎麼用呢…首先…如果你是用 5 分 k 的話…那一天有 60 根 k 線…十天就有 600 根了…開頭的 input:length(600) 就是這個意思…以後只要改這個地方就可以輕鬆算出 ma 啦…管你是要 60 還是 120…改個數字就行了…
如果是 30 分 k,那一天有 10 根 k 線…要算 10ma 就改成 100 吧…這個算法會稍微有差距…不過其實差距不太大的…好好利用吧。
天象寫了個新的算法了…結果會和暴力法一樣喔…有興趣的到他那邊看看吧…
在分線內顯示日線 MA
這招聰明哦~
回覆刪除你的blog還真是內容豐富XD
剛剛爬文...有一篇說你有個朋友玩選
擇權、權証全押...是X龍嗎 呵呵 我笑了
投資新手,還要跟你多多討教了~~
普爾凱弟
是啊…就是說他…他最近改玩權証了..也是賭很大..聽說曾經用一萬賺到四十萬過…結果心太大了…想賺到一百萬…最後什麼都沒有了…加油啊
回覆刪除哈哈...好像在說我耶!!
回覆刪除今年初也是10萬跳入權証,結果不到一個月喔,10萬變30萬,本來想30萬衝進去50萬閃人. 哈哈...結果如DK大說的太貪心;光溜溜出來!!
還是穩穩賺比較實在..
回覆刪除DK大 以你寫交易程式的經驗中,在你看來會不不有程式寫的不好而影響執行速度呢? 我沒寫過程式,若算有也只是以前唸書時短暫接觸過,但我知道大型的程式若寫的不好,可能相當耗硬體資源.
回覆刪除不知在交易程式中,是不是也有這方面的問題呢?
我想交易程式應該比較不會有這樣的問題產生才對...除非你用到非常多的技術指標…這樣也許會讓速度慢一些…畢竟技術指標的運算本就就比較複雜…如果又用到數個技術指標…那可能電腦就要好一點才行了…
回覆刪除DK大 了解...
回覆刪除當沖程式,我都是自己寫的,目前我沒有使用任何技術指標; 哈哈...我只是怕我程式沒寫好,會導致盤中出狀況而已.
那就得盤中測試囉…寫好的程式最好觀察一陣子再實單下去跑…
回覆刪除我發現HTS在分線中引用日線資料只要使用下列方式
回覆刪除就可避免錯誤,且可用於任何週期上.
IF DATE>DATE[1] THEN
...
...
END IF
Parameter: ND(5)
Variables:
Array: OoD[84](-1), HoD[84](-1), LoD[84](-1), CoD[84](-1)
//Value2 = HighOfD ( 1, HoD)
//Value3 = LowOfD ( 1, LoD)
Value4 = CloseOfD( 1, CoD)
IF DATE>DATE[1] THEN
Value5 = MA(Value4,ND)
Value10 = MA(Value4,ND*2)
Value20 = MA(Value4,ND*4)
END IF
DRAW5(Value5,"MA5",red)
DRAW10(Value10,"MA10",yellow)
DRAW20(Value20,"MA20",blue)