2016年10月6日 星期四

★程式交易語法如何入門…(2小時就可以學會)

     身邊有很多朋友想要學程式交易,但是被「程式」這兩個字嚇到了,總覺得要看很厚重的書,才能夠寫出程式語法。我最常被問到的問題就是:
「想切入程式交易,但是沒有寫過程式,也不是相關科系畢業的怎麼辦? 」

     在這裡統一回覆這些不得其門而入的讀者,其實程式語法沒有這麼困難,大概只要花個2小時練習,就可以學會了。目前台灣最多人使用的程式交易軟體就是Multicharts,這是一個像EXCEL 套裝軟體,裡面藏有很多現成的函數及功能,只要熟背一些英文單字,然後用現成的範例策略練習,就可以寫出一個自己的策略。我也是這樣學習的,先找出一些策略範例,然後再去背一些英文單字(函數),依樣畫葫蘆創造一個新的策略出來。

    接下來我透過2個範例,告訴你程式語法是很簡單的,可能背了50個以內的英文單字就會寫出策略了。


     到這邊你就已經學會寫了第一個策略,語法就這麼簡單。策略中我們設定變數X,單純只是為了以後每次寫到RSI(C,9)可以用X來代替而已。 而設定變數的語法很死,就是var: x(0); 如果想要設定三個變數就可以寫成var: x(0), y(0), z(0); 把這個東西背起來就可以了(包括每一個句字結束一定要書寫「;」) 。至於為什麼要括號(0),也可以用括號(1),裡面的數字單純只是表示起始預設值而已,不在乎起始值就一律設(0)就好了。

     再來程式的進出場語法就是If …… then buy next bar …… ; 這也會是你未來用最多的語法,所以把下面這四個句型背起來就可以了:

If …then buy next bar market ;           (如果……就在下根k棒市價買進)
If …then sell next bar market          (如果……就在下根k棒市價多單平倉)

If …then sellhort next bar market;         (如果……就在下根k棒市價作空)
If …then buytocover next bar market ;   (如果……就在下根k棒市價空單平倉)






打鐵趁熱,再來接著進入第2個範例。



     到這裡又透過策略學到不少東西,首先這裡設定了一個固定參數Length(9),也就是設定一個Length單字,它代表一個固定的數字9,就是用input這個語法。先別想太多,只要知道input是設固定的數值;var是用來代表指標或變數的一個偷懶方式就可以了。

     在這裡我們另外也設定了2個變數x、y,分別代表我們熟悉的KD指標,設變數這裡也是為了日後的偷懶,未來我只要寫x就代表K指標;寫y就代表D指標。指標裡還學到了死亡交叉及限定交易時間的語法,這也沒什麼難的,只是要像九九乘法表一樣背起來就會了

If x cross over y then buy next bar market;   (xy黃金交叉就在下根k線做多)
if x cross under y then sellshort next bar market; (xy黃金交叉就在下根k線做多)

     除此之外,這裡多了另一個句型if…then begin…end;,如下所示,這個用法跟if … then….;是類似的,只是搭配begin最後面就要有end;作結而已。



好了,其實到這邊,你已經學會程式交易語法了。不信的話,下面這個範例你一定看得懂。留給你練習看看。




把這個很簡單的程式碼,丟到台指期30分鐘k線去測試,績效就會長這個樣子了:






後記:

學習程式語法不外乎就2招而已:拿範例練習背一些必懂的英文單字

如果你是初學者,想要有更多教學範例,我花了一點時間整理約30頁的語法教學、單字及策略範例,我想應該2個小時就可以學會了。有興趣的自行下載(工本費100元)






9 留言:

匿名 提到...

如果可以像這個一樣用Excel自訂編寫策略那更好:
https://www.youtube.com/playlist?list=PLguMejj2qBlRHvtEVuaodD3m_hx4mp4z6

鴨米奇 提到...

不好意思,我本人是沒有學過程式的人,目前正在自學python這套軟體,希望能用這套程式來做程式交易,能否給本人一點建議,這套程式適合程式交易嗎?對初學者會不會太難呢?謝謝

et002471 提到...
作者已經移除這則留言。
et002471 提到...

大大你好:底下第2行是否有誤?? (黃金交叉?? 死亡交叉?? 多?? 空??)

If x cross over y then buy next bar market; (x與y黃金交叉就在下根k線做多)
if x cross under y then sellshort next bar market; (x與y黃金交叉就在下根k線做多)

匿名 提到...

確認一下,還在嗎?還可以購買嗎?

WEN 提到...

嗯…一直都在。

simond nmax 提到...

我是新手想寫程式,你的江學很好
請問你得程式是要在mutilchart裡面執行嗎?

simond nmax 提到...

已經收到程式交易入門信件了,謝謝!!
但一直不能從MC裡面載入寫好的PL程式
麻煩請教一下從MC如何載入PL程式?
謝謝!!

Jocelyn Tseng 提到...

已經匯款了哦!!期待收到程式入門信件

張貼留言

如果有私人問題想請教,請透過網站右方『與站長聯絡』之表單,謝謝!

----------------------------------------------------------------------------------------------------
網站聲明(Disclaimer)
本教學網站內所提供之程式碼(包括函數、指標、訊號)屬開放程式碼,用意在於讓使用者學習程式語法之撰寫,使用者可以任意修改語法內容並調整參數。本網站所有之內容(包括文章、影片、歷史紀錄、程式碼、教材)限用於個人學習使用,請勿轉寄、濫用,嚴禁私自串接帳戶交易。
-------------------------------------------------------------------------------------------------