2332  

 

所謂程式交易,就是把交易的方式邏輯化,用數學統計的方式,驗證交易以及評估績效可行性。

目前最普及的程式交易平台應該就是Multicharts

寫程式的語法 稱為Powerlanguage

而Powerlanguage 的類型分為 函數、指標、訊號

 好比是大腦,這裡是交易的核心

 

 

 

會不會覺得很複雜呢~其實一點都不難

 

什麼是變數 

程式開發工具只認識原始內建的名詞,如果要給予特殊的字詞讓程式運算,則要在程式開頭給這些字詞命名,這種字詞在程式稱之為變數。

例如 MA= average(close,10), MA就是自訂的變數,

需要在程式上方宣告 Var:MA(0)

外部可調整的變數稱為參數,舉例 MA=average(close,Len),Len是可以調整的

需要宣告為 Input:Len(10),而Var 是內部的變數

 

內建保留字

Open 開盤價

High 最高價

Low 最低價

Close 收盤價

Volume 成交量

Date 日期

Time 時間

Highest 最高

Lowest 最低

Buy 買進

Sellshort 賣出

Sell 多單平倉

Buytocover 空單平倉

Cross over 黃金交叉

Cross under 死亡交叉

Condition 條件

If … then 條件判斷

Marketposition 部位

Currentcontracts 口數

 引用舊資料

Close[2] 前二根收盤價

openD(0) 今天開盤價

 

我們來看範例

inputs: Price( Close ), FastLength( 9 ), SlowLength( 18 ) ; 可調整參數

variables: var0( 0 ), var1( 0 ) ; 內建自訂變數

var0 = AverageFC( Price, FastLength ) ;   短周期均線

var1 = AverageFC( Price, SlowLength ) ;   長周期均線

condition1 = CurrentBar > 1 and var0 crosses over var1 ; 條件 符合

if condition1 then

Buy ( "MA2CrossLE" ) next bar at market ; 如果符合條件 就買進

 

 

inputs: Length( 5 ) ;    外部可調整參數

variables: var0( 0 ), var1( 0 ) ;   內部變數

var0 = Highest (High,5) ;   最近5K棒最高價

condition1 = H > Var0[1] ; 條件

if condition1 then

Buy ( “BreakHigh" ) next bar at market ; 如果條件符合就買進

 

value1= AverageFC( Close, 20 ) ; 條件1是20日均線

if close cross over value1 then Buy ( "MACrossLE" ) next bar at market ;

如果收盤價站上條件1(20日均線)就在下一根K棒市價買進

Buy ( "MACrossLE" ) 是給自己的訊號取名稱

if close cross under value1 then Sell ( "MACrossLX" ) next bar at market ;

如果跌破條件1 就在下一根K棒市價多單平倉 (在這邊sell指的不是空單進場,而是多單平倉)

 

出場條件

在Powerlanguage有幾個內建的出場函數

Setstoploss 停損

Setbreakeven 獲利一定金額守不輸

Setprofittarget 停利

Setdollartrailing 折返一定點數出場

Setpercenttrailing 折返百分比停利

 

下一篇另外介紹出場的指令的用法

 

 

arrow
arrow

    元大期貨楊宗儒 發表在 痞客邦 留言(0) 人氣()