设为首页收藏本站

 找回密码
 注册
查看: 3169|回复: 5
打印 上一主题 下一主题

请教管理员关于A_SendOrder函数问题 [复制链接]

Rank: 4

精华
0
UID
112550
积分
263
帖子
89
主题
14
阅读权限
50
注册时间
2012-9-17
最后登录
2022-1-19
跳转到指定楼层
1#
发表于 2014-3-5 14:28:29 |只看该作者 |倒序浏览
本帖最后由 ST振翔 于 2014-3-5 14:41 编辑

策略为反手模型,即满足开多条件的话,则平空仓开多仓。但时常发生成交不了的现象,因为人不总是在电脑旁边,这样容易浪费时机,还需要后续用监控器再操作一下。原有代码如下:
If(close[1]<ema[1])
     {
       MyEntryPrice=Open;
       SellShort(1,MyEntryPrice);
   }
If(close[1]>ema[1])
)
  {
       MyEntryPrice=Open;
       Buy(1,MyEntryPrice);
   }
现在想改成用A_SendOrder函数来控制开仓,不考虑测试和滑点等问题,是否代码改成如下就可以了?同时MyEntryPrice值需要止损用,还是用OPEN取值:
If(close[1]<ema[1] && A_SellPosition()==0)
     {
       MyEntryPrice=Open;
       A_SendOrder(Enum_Sell,Enum_Entry,1,Q_BidPrice);
      }
If(close[1]>ema[1]  && A_BuyPosition()==0)
  {
       MyEntryPrice=Open;
       A_SendOrder(Enum_Buy,Enum_Entry,1,Q_AskPrice);
   }

总而言之,希望能用A_SendOrder函数达到和原来代码差不多的效果,在实盘中稍微有点价格偏差也没关系。

Rank: 6Rank: 6

精华
0
UID
116229
积分
2373
帖子
2247
主题
18
阅读权限
70
注册时间
2013-3-4
最后登录
2019-3-24
2#
发表于 2014-3-19 10:53:38 |只看该作者
楼主的代码,理论上可以,但是实际执行中,A_SellPosition()、 A_BuyPosition()的值不见得能及时得到,tb程序每个tick都会触发,可能会存在重复开仓的问题

使用道具 举报

Rank: 1

精华
0
UID
181799
积分
3
帖子
2
主题
1
阅读权限
10
注册时间
2014-3-5
最后登录
2018-11-26
3#
发表于 2014-3-19 20:10:09 |只看该作者
楼主别忘了写平仓操作哦

使用道具 举报

Rank: 1

精华
0
UID
183576
积分
14
帖子
10
主题
4
阅读权限
10
注册时间
2014-3-28
最后登录
2016-2-3
4#
发表于 2014-5-19 20:56:05 |只看该作者
ample 发表于 2014-3-19 10:53
楼主的代码,理论上可以,但是实际执行中,A_SellPosition()、 A_BuyPosition()的值不见得能及时得到,tb程 ...

我也遇到同样的问题,请问AMPLE管理员有办法解决吗?,急,谢谢

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
116229
积分
2373
帖子
2247
主题
18
阅读权限
70
注册时间
2013-3-4
最后登录
2019-3-24
5#
发表于 2014-6-5 13:27:46 |只看该作者
参考公式开发指南中的例子,可以使用延时的方法,但是延时多久呢?根据交易的实际情况,设置可以接受的时间吧,不一定能完全保证

使用道具 举报

Rank: 1

精华
0
UID
189265
积分
36
帖子
30
主题
3
阅读权限
10
注册时间
2014-6-24
最后登录
2015-4-7
6#
发表于 2014-8-25 13:52:47 |只看该作者
这个不用全局变量控制会重复发单吧。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-5 11:04

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部