1 在交易開拓者當中,關於交易的做單方式一般分為:圖表函式和a函式兩類。
兩類的主要區別為:如果採用圖表函式的話,所有的交易內容都是以圖表上面的訊號為準,當前**執行的實際狀態是沒有的,但是可以顯示交易圖示和影象,並且可以進行回測;對於a函式而已,不具有顯示交易圖表和影象和回測的功能,除了與圖表函式具有要求點位做單的功能外,**的實際執行狀態可以進行操作。
舉例:比如圖表函式中,在某乙個點位進行下單訊號,此時運用圖表函式可在這個位置進行下單;但是如果此單並沒有成交,如果突然又遇到乙個平倉訊號,圖表函式認為已經成交了,會發出平倉指令。如果採用a函式,此單如果沒有成交,即使遇到平倉訊號,設定條件也不會發出平倉訊號。
因此最大乙個不同就是a函式考慮了單子的實際狀態,而圖表函式所有訊號全部以影象顯示的為準,忽略單子的實際狀態。
2 a函式的下單常用操作。
2.1 a_buyposition和a_sellposition、a_totalposition(合計**)
如果判斷多圖表上的
data0.a_buyposition 或 data0.a_sellposition
data1.a_buyposition 或 data1.a_sellposition
其中:a_totalposition:正數表示多倉,負數表示空倉,0表示無持倉
2.2 以a_buyposition為例,a_sellposition同理
2.3 a_buyposition 是當前真實賬戶,當前商品的持多倉量
marketpositon 是指測試過程中的持倉狀態,不會出現鎖倉的情況。在做真實交易時,盡量同步真實賬戶和測試的**及資金等資訊。
2.4 如果當前持多單3手,返回值為3
2.5 最後乙個bar,指的就是**在跳動的那個bar
2.6 只在最後乙個bar上,也就是2.5說的那根bar上才有值,其他bar都是n/a
2.7 關於下單函式a_sendorder
對應圖表函式,對應的下單函式如下:
buy or sell (enum_buy(**)或enum_sell(賣出))
entry(開倉)/exit(平倉)/exittoday(平今)
flot(傳送委託單量)
fprice(交易**)
示例1.建多單使用buy 替換為可用引數enum_buy
開倉使用entry 替換為enum_entry
開多倉單5手
**可指定和使用q函式,如q_askprice()
a_sendorder(enum_buy,enum_entry,5,q_askprice());
2.平多倉使用sell 替換為可用引數enum_sell
平倉使用exit /exittoday(平今)替換為enum_exit(平倉),enum_exittoday(平今倉)之一
平多倉單5手,也可使用a_buyposition()獲取
**可指定和使用q函式,如q_bidprice()
a_sendorder(enum_sell,enum_exit,5,q_bidprice()
3.建空單使用sell 替換為可用引數enum_sell
開倉使用entry,替換為enum_entry
開空倉單5手
**可指定和使用q函式,如q_bidprice()
a_sendorder(enum_sell,enum_entry,5,q_bidprice());
4.平空單使用buy 替換為可用引數enum_buy
平倉使用exit /exittoday(平今)替換為enum_exit(平倉),enum_exittoday(平今倉)之一
開空倉單5手,也可使用a_sellposition()獲取
**可指定和使用q函式,如q_askprice()
a_sendorder(enum_buy,enum_exit,5,q_askprice());
2.8 該函式直接發單,不經過任何確認,並會在每次公式計算時傳送,一般要配合**頭寸條件處理。
2.9 不能用於歷史測試,僅適用於實時**。
2.10 持倉手數一定要寫要平或開多少。不能寫零,容易造成誤平。
3 用幾個例項來說明函式應用。
if(barstatus == 0)
//高空低多狀態
if(getglobalvar(1) == 0 and data0.a_sellposition() == 0 and data1.a_buyposition() == 0 and dclose[1] > st1_upperband[1] and dclose[1] < st3_upperband[1] and data0.open == data0.close[1] and data1.open == data1.close[1] and data0.vol > 5 and data1.vol > 5) // 高空低多開倉
if (getglobalvar(1) == 1 and data0.a_sellposition() > 0 and data1.a_buyposition() > 0 and dclose[1] < mean[1] and data0.open == data0.close[1] and data1.open == data1.close[1] and data0.vol > 5 and data1.vol > 5) // 高空低多平倉
//高多低空狀態
if(getglobalvar(2) == 0 and data0.a_buyposition() == 0 and data1.a_sellposition() == 0 and dclose[1] < st1_downband[1] and dclose[1] > st3_downband[1] and data0.open == data0.close[1] and data1.open == data1.close[1] and data0.vol > 5 and data1.vol > 5) // 高多低空開倉
if (getglobalvar(2) == -1 and data0.a_buyposition() > 0 and data1.a_sellposition() > 0 and dclose[1] > mean[1] and data0.open == data0.close[1] and data1.open == data1.close[1] and data0.vol > 5 and data1.vol > 5) // 高多低空平倉
3 交易開拓者 TB公式(二)
迴圈語句 if conditions 例 使用者以3000 開倉買多,20 止損,30 止盈 if high 3000 3000 0.3 sell 0.close if low 3000 3000 0.2 sell 0.close if conditions else if close close ...
1 交易開拓者 基礎入門知識介紹
2.資料型別 3.保留字 軟體使用說明 交易開拓者程式化平台介紹官網 名稱說明 bool 布林型boolref 布林型引用,表示引用bool型別的位址。boolseries 和週期長度一致的bool型序列值,支援回溯。boolarray 布林型陣列。boolarrayref 布林型陣列的引用。num...
國美智慧型 智慧型家 生活的實踐者和開拓者
2018 年大力神盃終歸法蘭西,這與人工智慧最初 德意志衛冕的結果大相徑庭,人工智慧真的靠譜嗎?事實上,這個結果與資料模型的成熟度 有效資料的豐滿度和足球場的偶然性關係緊密,但不可否認,這是史上最智慧型的世界盃 var 助理裁判的出現,減少了許多 冤假錯案 讓比程式設計客棧賽更加公平。而我們也和世界...