終極下單函數白話解釋 A_SendOrder() - TradeBlazer公式 [開拓者 TB]
- 咨詢內容:
本帖最后由 zejunl 于 2010-8-31 17:06 編輯
今天發一個貼子,http://www.tradeblazer.net/forum/thread-8232-1-1.html 是關于在實盤程序化交易中怎樣下單的問題,得到了管理員同志的幫助(在這里要感謝一下),有一些心得體會,現在將下單A_SendOrder函數通過通俗易懂的方式描述如下,希望對各位有所幫助,如有不足之處,望不吝賜教。
仔細研究了一下Bool A_SendOrder(Integer BuyOrSell,Integer EntryOrExit,Numeric fLot,Numeric fPrice) 函數,有一些心得體會。
首先我們來看一下A_SendOrder()函數的使用說明。
/*---------------------------------------------------A_SendOrder--------------------------------------------------------------
A_SendOrder
說明
針對當前公式應用的帳戶、商品發送委托單。
語法
Bool A_SendOrder(Integer BuyOrSell,Integer EntryOrExit,Numeric fLot,Numeric fPrice)
參數
BuyOrSell 發送委托單的買賣類型,取值為Enum_Buy(買入)或Enum_Sell(賣出)之一;
EntryOrExit 發送委托單的開平倉類型,取值為Enum_Entry(開倉),Enum_Exit(平倉),Enum_ExitToday(平今倉)之一;
fLot 委托單的交易數量;
fPrice 委托單的交易價格。
備注
針對當前公式應用的帳戶、商品發送委托單,發送成功返回True,發送失敗返回False。
該函數可針對疊加商品進行處理,可用Data1.A_SendOrder(...)進行調用。
該函數直接發單,不經過任何確認,并會在每次公式計算時發送,一般需要配合著倉位頭寸進行條件處理,在不清楚運行機制的情況下,請慎用。
示例
If (A_BuyPosition()>0 && A_GetOpenOrderCount()==0)
{
A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Q_BidPrice());
...
}
---------------------------------------------------A_SendOrder--------------------------------------------------------------*/
在函數參數中我們很清楚的看到了根據條件和修改函數的參數去進行下單。
下面把開倉多單/空單和平倉多單/空單 其中平倉又分為平多單/平空單 的關系組合如下。
A_SendOrder(Integer BuyOrSell,Integer EntryOrExit,Numeric fLot,Numeric fPrice)
下面將參數替換為可以好理解的詞語.
A_SendOrder(Buy Or Sell (買入/賣出), Entry(開倉)/Exit(平倉)/ExitToday(平今),fLot(發送委托單量),fPrice(交易價格));
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());Edit by :Zejunl
[ 本帖最后由 zejunl 于 2010-4-26 23:28 編輯 ] - TB技術人員:
補充:避免重復發單,要配合全局變量使用
該函數全局變量如何寫
- TB客服:
請教:該函數的全局變量代碼架構如何寫?好像開拓者只有序列變量。
- 網友回復:
看看賠子怎么樣了。
- 網友回復:
好貼。開拓者是好東西,我也正在努力學習中。
如果以上指標公式不適用于您常用的行情軟件
或者您想改編成選股公式,以便快速選出某種形態個股的話,
- 上一篇:序列變量在公式中時循環執行的么 - Trade…
- 下一篇:沒有了!
相關文章
-
沒有相關內容