2020年10月1日

[置頂] 程式交易學習地圖

想學程式交易/計量交易的新同學們,以下學習地圖供參考:
(努力更新中...)

1.交易觀念與心法
-「練拳不練功,到老一場空」,交易第一步就是先建立正確的交易觀念-



2.MultiChrts軟體安裝設定
-工欲善其事,必先利其器,透過詳細的步驟解說,先把工作平台給搞定-

3.MultiCharts程式語言(PowerLanguage)
-學習把交易邏輯用語法表達出來,即使從零開始沒有程式背景也可以學-

4.開發交易策略、回測及參數最佳化
-從經典策略觀摩開始,到建立自己的策略如何回測與參數調整,逐步邁向上線實戰-

5.資金管理
  • 關於資金管理的一些名詞解釋(馬丁、反馬丁、期望值等等)

6.其他議題

國外大戶載點:http://vipupdate.pfctrade.com/VIPFutureMaster/agreement.htm


歡迎加入LINE@
加入好友
(點擊上方圖示)

2019年10月6日

PowerLanguage如何寫「兩條均線越來越靠近(收斂)」

PowerLanguage怎麼表達「兩條均線越來越靠近(收斂)」?

思考一:兩條均線越來越靠近,意即兩條線間距變小,間距就是兩條均線相減的值,變小就是當下的值小於前一個值,就是value1 < value1[1]。

思考二:兩條均線可能短均線值大於長均線值,也可能相反,由於間距值不會是負數,所以用上計算絕對值得函式--absvalue()。

所以串起來,寫成程式碼即是:

value2=average(close,5);
value3=average(close,20);

value1 = absvalue(value2-value3);
if value3 < value3[1] then ....



2019年10月5日

PowerLanguage如何寫「4個條件中任3個以上符合即進場」

有一個簡單的方法,直接用語法說明,如下:

Condition1=…..
Condition2=…..
Condition3=…..
Condition4=…..

if condition1=true then value1=1 else value1=0;

if condition2=true then value2=1 else value1=0;
if condition3=true then value3=1 else value1=0;
if condition4=true then value4=1 else value1=0;

if value1+value2+value3+ value4>=3 then (進場)


4個條件中任3個符合即進場,重點是不限定哪3個條件符合,且4個都符合也要進場,用以上語法表達雖然感覺有點tricky,不過簡單實用,同理類推,m個條件中任n個以上符合即進場也可以比照辦理。

2019年9月24日

人類天性就是喜愛「複雜」

有一個實驗是這樣的:

兩個受測者AB被要求以試誤法(trail and error),根據螢幕提供的K線型態判斷後續走勢多或空,AB兩人彼此看不到對方,當回答正確,螢幕會出現「正確」燈號,判斷錯誤則會出現「錯誤」燈號。

實驗有個"壞壞的"設計,就是A看到的燈號是真實的,也就是A答對了,會如實看到「正確」的燈號,而B的燈號是隨機的,也就是B明明是答對了,但可能會看到「錯誤」的燈號。AB被告知,他們可以從這個程序找到判斷多空的法則。但是對於B來講,這顯然是不可能。

最後,開放AB兩人一起討論他們的判別法則。A解釋自己的法則,邏輯簡單且明確,而B的法則則顯得非常微妙與複雜,因為B被迫根據不一致的結論歸納判別法則。可是,AB經過意見交換後,A並不認為B的法則太過複雜且不合理,反而自覺自己的法則太過簡單而被B複雜的程序給說服。

這個實驗的啟示是,人類就是偏愛複雜!

註:本實驗改編自Paul Watzlawick1977年出版的《How Real Is Real?》一書。




2019年8月20日

MultiCharts如何寫KD、RSI或MACD指標背離

背離也算型態的一種,只要是型態屬性,在程式交易上就不太好處理,一方面程式碼不好寫,再者型態定義有主觀成分,看圖說故事,會有很多版本。不過背離在技術分析上算是很重要的一門,也是開發逆勢策略可以參考的方向,本文以KD指標為例(商品價格與K值背離),示範如何寫背離指標及相關策略。

2019年8月15日

做最壞的打算--評估績效再創新高所需時間

務實的程式交易者都知道,策略的好壞不在於它多能賺錢,而是它在如何挺過艱困時期,另外還有一個現實問題,就是當策略開始實單交易,先遇到賺錢行情還是虧錢行情差很大—即使最終總損益是一樣。

2019年8月12日

券商版MultiCharts如何輸出資料,匯到EXCEL做進一步統計或分析

我們知道專業版MC可以用Print指令將資料存到檔案,券商版MC則只能輸出到PowerLanguage Editor的輸出區,但為了進一步分析/研究資料,我們往往需要運用EXCEL做運算,本文教大家如何用券商版MC進行這個工作。

2019年7月30日

以(Open+High+Low+Close)/4取代收盤價(Close)

在MultiCharts的內建指標或策略,或是傳統我們學的技術分析,指標的運算多是用「收盤價(Close)」代表每根K棒來帶入計算,但其實一根K棒上由許多價格組成,時間架構越長的K線(例如60分K)則收盤價代表性更差了,因此我們可以把其他如Open、High、Low等引用進來,改以下幾種方式來替代收盤價(Close):
1. NewClose=(Open+High+Low+Close)/4; 
2. NewClose=(High-Low)/2+Low;
3. NewClose=(High+Low+Close*2)/4;  //(CDP指標公式)

2019年7月28日

多策略下在同一期貨帳戶,倉位互相沖銷又如何?

程式交易最後會走到多商品多策略階段,曾遇到不少用戶,對於多策略下在同一期貨帳戶會發生不同策略訊號間多空互相沖銷的狀況,感到不能接受、無法理解,例如某甲共有兩個策略,A策略作多,之後B策略空單進場,多空沖銷後,導致整個帳戶沒有部位,這種沒有部位的狀態,會讓人覺得彷彿從未進場過,也浪費手續費。

類似少數客戶喜愛指定沖銷(交易所預設沖銷順序為先進先出),為的是讓未平倉部位的成本價”看起來”比較漂亮。其實這都只是一種錯覺,從損益跟淨值的角度來看,不管是先進先出對比指定沖銷,或是A、B策略下在同一帳戶跟各自獨立下在不同帳戶來比,兩者都是不變的,這邊有個EXCEL範例,有興趣的朋友可下載來模擬看看。


2019年6月25日

Touchance3.0安裝與測試

申請Touchance需完成測試流程(下測試單)才能申請正式環境交易權限。請依下列指示完成測試。