- 精华
- 0
- 在线时间
- 144 小时
- UID
- 7593
- 积分
- 609
- 帖子
- 109
- 阅读权限
- 60
- 注册时间
- 2010-3-19
- 最后登录
- 2014-5-18
- 精华
- 0
- UID
- 7593
- 积分
- 609
- 帖子
- 109
- 主题
- 14
- 阅读权限
- 60
- 注册时间
- 2010-3-19
- 最后登录
- 2014-5-18
|
本帖最后由 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 编辑 ] |
-
总评分: 威望 + 100
金钱 + 500
查看全部评分
|