【提问】发单时是否必须要使用A_SendOrder函数,望赐教 [开拓者 TB]
- 咨询内容:
 本帖最后由 cicikml 于 2016-3-18 21:49 编辑 
 
 先向老师和高手们问好!
 TB帮助我们在程序化交易路上越走越真实,感谢你们的辛勤付出!
 
 我看了一些帖子之后,对自己的模型做了修改,但是依然无法解答困惑,所以在论坛请教各位。
 
 我的策略在回测的时候,使用的是:
 
 Buy(lots,Open);
 SellShort(lots,Open);
 Sell(lots,Open);
 BuyToCover(lots,Open);
 
 这种命令。非常简单清晰。
 
 在实盘交易的时候,是不是要替换成:
 
 
 //为过滤一些小的不必要的波动,定义了一个Filter函数
 Filter = (Average(Close,ShortLength)-Average(Close,LongLength))*100/Average(Close,LongLength);
 
 // 开多仓
 If(MarketPosition <>1 && GetGlobalVar(1)==0 && AvgValue1[1] > AvgValue2[1] && Filter > Upline)
 {
 Buyenterprice = Q_AskPrice + Offprice; //得出开多仓价格+滑点
 A_SendOrder(Enum_Buy,Enum_Entry,lots,Buyenterprice);//开多单
 }
 
 //开空仓
 If(MarketPosition <>-1 && GetGlobalVar(0)==0 && AvgValue1[1] < AvgValue2[1] && Filter < Downline)
 {
 Sellenterprice = Q_BidPrice - Offprice; //得出开空仓价格+滑点
 A_SendOrder(Enum_Sell,Enum_Entry,lots,Sellenterprice);//开空单
 }
 
 
 //平多仓
 If (MarketPosition == 1 && GetGlobalVar(0)==1 && AvgValue1[1] < AvgValue2[1])
 {
 Sellenterprice = Q_BidPrice - Offprice; //得出平多仓价格+滑点
 A_SendOrder(Enum_Sell,Enum_Exit,lots,Sellenterprice);//平多单
 }
 
 //平空仓
 If (MarketPosition == -1 && GetGlobalVar(1)==1 && AvgValue1[1] > AvgValue2[1])
 {
 Buyenterprice = Q_AskPrice + Offprice; //得出开空仓价格+滑点
 A_SendOrder(Enum_Buy,Enum_Exit,lots,Buyenterprice);//平空单
 }
 
 有3个问题求教:
 
 1、我已经换成了下面的写法,但是目前系统无法发出任何交易信号,是不是我的发单指令写错了?
 2、Filter里,是不是应该写Close[1],而不是close?这样是不是意味着我使用了未来数据?
 3、我对GetGlobalVar(1)的具体含义,也比较模糊,这是从别人代码里看到的,请老师指导,我这样写是否正确?
 
 
 一个编程基础较弱的量化爱好者,正在慢慢开启自己的交易历程,恳请大家帮助,谢谢。
-  TB技术人员:
我把代码中,所有的
 GetGlobalVar(1)==1
 和
 GetGlobalVar(0)==1
 换成了
 BarStatus == 0
 
 请问这样可以吗?我是从TB的用户手册代码中找到的,这样是不是可以避免信号闪烁?
-  TB客服:
1,当前的条件下,建议还是使用buy,sellshort等指令进行委托。至少这些条件下是不可以使用a_sendorder的。
 2,如果是使用buy,sellshort指令。。那filter的定义自然是使用close[1]更稳定些。
 3,在使用buy,sellshort时,就不能这么使用全局变量了。
 
 首先,buy,sellshort是可以用于实盘交易的,当前您的思路下是根本没有必要换成a_sendorder来发单 。。。
 其次,markeposition等信号函数与a_sendorder是不能这样混用。所以你的公式没有信号或是委托也符合当前公式的表现。。
 建议还是系统地学习TB的学法后,再来考虑写策略。如果不是对帐户进行控制,不建议使用a_xxxx类的函数。
-  网友回复:
小米 发表于 2016-3-21 09:50 
 1,当前的条件下,建议还是使用buy,sellshort等指令进行委托。至少这些条件下是不可以使用a_sendorder的。
 ...
 谢谢版主,我调整代码,继续学习
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198  进行 有偿 编写!(不贵!点击查看价格!)
                        
相关文章
- 
                        没有相关内容
                       

 
                     会员登录/注册
会员登录/注册