最近因為菜籃大要北上去做一次演講…裡面提到了為什麼要程式交易。這也是我在思考的問題…程式基本上是很死的東西…程式也沒辦法寫出型態、趨勢線、交易線等東西…(應該說還是有辦法寫…只是寫的過程太複雜、太麻煩了),所以變成了程式只能用比較基本的條件完成。
我一直相信著「程式有價、心態無價」的理念…今天就算交易的聖杯擺在眼前,並不代表每個得到聖杯的人都能賺錢…就算今天媽祖顯靈(或上帝或其它…),給了你一個交易的聖杯…他告訴你…就是照著作…五年後你一定能大富大貴。但…得到它的人真的有辦法照著作嗎?
其實會提到這個…是因為今天在盤中有個朋友跟我聊著 msn…他也是做程式交易的…今天在他的程式第一次出現空點的時候…他沒有做單,接下來第二次出現空點…他還是沒做單,一直等到第三次出現空點了…他才做單,在這之前我的程式出現空單訊號…自動下單機也幫我做單了…我有把進場點跟他說,我也不確定是不是因為我進場了…他看到訊號才跟著進場的…
接下來…今天的好戲上場…從低點往上拉…我的程式因此被慘電了一百六十多點…程式停損,我出場了。我就問問他的狀況…他跟我說程式已經出現停損了…可是他"不敢下單"…他害怕虧損…他在面對虧損時的心情是很沉重的。在 msn 上一直跟我說"怎麼會這樣…怎麼會這樣…",其實我也不知道為什麼會這樣…指數就是一直往上走,事實就是他在往上走這樣而已。
我這時對他的語氣其實不太好…如果那位朋友有看到這篇文章的話…在此跟您道個歉…請相信我是為了你好,我那時候說了"還不砍?"、"難不成要我幫你下單嗎?"、"想留倉?留個屁…今天留倉你晚上睡得著嗎?"、"訊號出來了就是砍了…哪這麼多廢話…"等等…
他跟我說…他常賺了一點就跑…也不等訊號出來就趕緊出場;但當虧損的時候…卻又死抱活抱…抱到真的受不了才停損…所以…就算交易的聖杯擺在你眼前…你能獲利嗎?
為什麼說程式有價、心態無價…因為真正有價值的不在程式,也不在交易策略…真正有價值的是你的心態。我通常對新朋友說…技術真的不用太好…把你的心態練好才是重點。只玩玩模擬單是沒用的…我不建議模擬單做太久,兩個星期、一個月…夠了,你要的決對不是模擬單的經驗,做模擬單你絕對不會面對人心的恐懼、人心的貪婪、人心的矛盾、人心的緊張…你可以很自在的該進就進…該出就出。
因為…一切只是模擬而已,當你真的把錢丟進市場的時候…一切都不一樣了!該進的時候…你開始再三考慮、你開始翻歷史資料、你開始看電視新聞、看投顧老師或是打電話問朋友現在是多單還空單,等你真的考慮好要下單了…一切都問完和你的方向一樣了…進場的點位早不知道跑到哪去了;當你該停損的時候…你開始猶愈、你開始想凹單、你會有"等一下會不會拉回一點我再停損好了"的想法出現、你開始想"這筆賠這麼多…怎麼辦…怎麼辦?"
我想…一開始大家的情況都是這樣的…如果你發現自己有這樣的情況,請停止操作。好好的冷靜個幾天再回到這個市場…這絕對是缺點…絕對是要改正的缺點。當然…這也是程式交易的好處…用了自動下單的系統後…你沒有時候考慮、沒有凹單的機會…程式訊號出現,下一秒下單機就幫你把單子丟出去了。當然這時候就會有另外的問題出現了:程式連賠了這麼多次了…我到底還要不要繼續跟單?盤中出現這麼大的虧損了…我手動平倉好了。
所以,就算用程式交易自動下單…還是很多問題…還是那句老話:"程式不值錢、值錢的是人心"、有玩魔獸世界的也知道部落的名言:"耐心與紀律"…請把這些字牢記在心中。
到今天為止…小弟的程式也是極為悲情…今天已經破了程式回測的最大折返了…不過還是得繼續跟下去的啊。程式回測的最大折返…會不會破功?我想當然是有機會的…既然遇到了…那就遇到了吧。
這篇寫得好!新手的確應該多吃幾次虧,再多看幾本有關心態的書,才會學乖~ DT也是這個月才虧損,八、九月表現很棒的,要堅持下去!!!相信你這老賭鬼沒這麼脆弱的 呵呵呵~
回覆刪除我不是老賭鬼啊..XD
回覆刪除你是老賭鬼~
回覆刪除DK大 有個漲跌停價的問題像您請教,就是昨天10/29大/小台收盤是4288/4260,照理今天10/30漲停7%應該是4588/4558,可是今天盤中實際漲停卻是4594, ㄟ...怎麼會差這麼多呢? 我去期貨交易所查了一下,有一筆結算價4294,看樣子好像是以4294計算的!! 那如果程式中要計算漲跌停價位時,應該抓哪一個價位才會是4294(結算價)呢? 我目前程式是抓CLOSE[1]*1.07來計算的,這樣您看來對嗎?
回覆刪除麻煩指導小弟一下...
現在結算價是期貨最後五分鐘內的均價了..最後的收盤價不是結算價..所以用 closed(1) 去算..本來就會有誤差..另外有時候漲停是 6.98% 有時是 6.99%...都不太一定..所以只差幾點其實不用太計較..
回覆刪除非常同意 Steven Chu的說法
回覆刪除事實就是如此
敢輸;輸的起才能有贏的機會
事實上;多數人是輸不起的.逃避是人性本能.
看看交易心態的書;表示進入交易的第二個階段.到成功獲利交易在下認為共有5個階段.恭喜已經進入第2階段.
DK大 我在TS寫了一段程式,要轉HTS;麻煩有空時幫我看一下這樣轉對不對...謝囉!!
回覆刪除{TS程式------------------------}
A8 = HighD (2);
A9 = LowD (2);
if HIGHD(1) = LOWD(1) or (HIGHD(1)-LOWD(1)) < RC then
A1 = A8;
if HIGHD(1) = LOWD(1) or (HIGHD(1)-LOWD(1)) < RC then
A2 = A9;
{TS程式---------------------}
//---TS轉HTS---//
vars:HighOfD0(0),LowOfD1(0)
Array: HoD0[84](-1),LoD1[84](-1)
HighOfD0 = HighOfD(2, HoD0)
LowOfD1 = LowOfD(2, LoD1)
A8 = HighOfD0
A9 = LowOfD1
if HighOfD0 = LowOfD1 or (HighOfD0-LowOfD1) < RC then
A1 = A8
End IF
if HighOfD0 = LowOfD1 or (HighOfD0-LowOfD1) < RC then
A2 = A9
End IF
//---TS轉HTS---//
hts 的程式碼錯誤很多啊....
回覆刪除vars:HighOfD2(0),LowOfD2(0), HighOfD1(0), LowOfD1(0)
Array: HoD2[84](-1),LoD2[84](-1), HoD1[84](-1), LoD1[84](-1)
HighOfD2 = HighOfD(2, HoD2)
LowOfD2 = LowOfD(2, LoD2)
HighOfD1 = HighOfD(1, HoD1)
LowOfD1 = LowOfD(1, LoD1)
A8 = HighOfD2
A9 = LowOfD2
if HighOfD1 = LowOfD1 or (HighOfD1-LowOfD1) < RC then
A1 = A8
End IF
if HighOfD1 = LowOfD1 or (HighOfD1-LowOfD1) < RC then
A2 = A9
End IF
DK大 就這一部份HTS的語法真的比TS麻煩很多;謝謝你撥空指導修正!!
回覆刪除DK大....
回覆刪除也麻煩你幫我看一下
我在運用ATR做買賣訊號上這樣出了甚麼問題
If date [0] <> date [1] then
begin
Dayopen = open ;
AH = Dayopen + DAvgTrueRange( Length ) * 0.5 ;
NH = Dayopen + DAvgTrueRange( Length ) * 0.35 ;
NL = Dayopen - DAvgTrueRange( Length ) * 0.35 ;
AL = Dayopen - DAvgTrueRange( Length ) * 0.5 ;
End;
去呼叫DAvgTrueRange 來計算四個參數
每日在若跌破NL下一支bar 市價買進以AL做停損價
反之,漲過NH下一支bar市價賣出以AH做停損價
結果TS只會在分時線(1分K線)上的開盤價相同於當日第1支Bar的開盤價(dayopen)才有買賣訊號動作
而且雖然用plot劃出四條線,k線穿越這四條線都沒有訊號出現,好像AH,NH,AL,NL這四個值都和dayopen是相同的數值,可以看一下有圖片請移駕http://www.flickr.com/photos/
32004853@N04/sets/72157608589476231/
DK大能看的出來是那裡有問題
謝謝你唷.....
作者已經移除這則留言。
回覆刪除你不是老賭鬼~你是老酒鬼~
回覆刪除uha: 你試著把 AH 那些數值用 print 的方試檢查一下…或是把你買賣訊號那邊的寫法也留一下囉..
回覆刪除呵~~~
回覆刪除Length天內的DAvgTruerange都有會有五個數值相同的狀況.Length+1天後之後就正常了
那可能entry condition 要再加個 currnetbar >= length * 5 * 60 (1分線K BAR 數)這個條件
謝謝囉
祝開工大吉.....^^