设为首页收藏本站

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

A_SendOrder与监控器 [复制链接]

Rank: 2

精华
0
UID
114998
积分
73
帖子
40
主题
13
阅读权限
30
注册时间
2013-1-20
最后登录
2020-2-25
跳转到指定楼层
1#
发表于 2013-8-28 11:11:08 |只看该作者 |倒序浏览
问题一:请问监控器是不是不能同步A_SendOrder的持仓,貌似系统持仓一直都是0?
问题二:请问A_SendOrder是不是在非交易时间也会下单?但是If条件里有引用行情数据,既然是在非交易时间,应该没有行情数据才对,为什么还会下单呢?
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 6Rank: 6

精华
0
UID
116229
积分
2373
帖子
2247
主题
18
阅读权限
70
注册时间
2013-3-4
最后登录
2019-3-24
2#
发表于 2013-8-28 11:27:33 |只看该作者
1、监控器是监控图表持仓与账户持仓不匹配的,跟A_SendOrder的发单没有关系
2、A函数仅对实时行情有效,非交易时间不会下单,请检查本机时间。您贴出的图片是因为要平仓,可是实际的账户中没有仓位,所以平不了

使用道具 举报

Rank: 2

精华
0
UID
114998
积分
73
帖子
40
主题
13
阅读权限
30
注册时间
2013-1-20
最后登录
2020-2-25
3#
发表于 2013-8-28 13:55:33 |只看该作者
本帖最后由 anniekorea 于 2013-8-28 13:57 编辑
ample 发表于 2013-8-28 11:27
1、监控器是监控图表持仓与账户持仓不匹配的,跟A_SendOrder的发单没有关系
2、A函数仅对实时行情有效,非 ...


1、图表中插入的公式中显示持多单2手,但是监控器里的“系统持仓”始终为0,所以一同步,总是把该有的持仓给平了,导致之后公式要平仓的时候无仓可平。
2、经核对,本机的时间没有问题,问题二的截图是想说明在12:08竟然发出了“卖平仓”的信号,重点不在于无仓可平。另外,再请教一个问题,是不是集合竞价时间也会出信号呢?但是怎么又提示是非交易时间?有点糊涂了。
今天早上9:14发出了开仓信号:
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
116229
积分
2373
帖子
2247
主题
18
阅读权限
70
注册时间
2013-3-4
最后登录
2019-3-24
4#
发表于 2013-8-28 14:29:55 |只看该作者
anniekorea 发表于 2013-8-28 13:55
1、图表中插入的公式中显示持多单2手,但是监控器里的“系统持仓”始终为0,所以一同步,总是把该有的持 ...

是否设置了交易助手,那些委托是交易助手发出来的?

另外,监控器中系统仓表示的就是图表仓位,不知道楼主所说的公式中持多单2手,这2手是哪里来的?图表中是否加载了多个公式?

使用道具 举报

Rank: 2

精华
0
UID
114998
积分
73
帖子
40
主题
13
阅读权限
30
注册时间
2013-1-20
最后登录
2020-2-25
5#
发表于 2013-8-28 14:33:54 |只看该作者
ample 发表于 2013-8-28 14:29
是否设置了交易助手,那些委托是交易助手发出来的?

另外,监控器中系统仓表示的就是图表仓位,不知道楼 ...

没有设置交易助手。为了方便,我还是把公式都贴上来吧,麻烦看看是哪里出的问题,谢谢。
  1. Params
  2. Bool  bInitStatus(False);  // 初始化标志,修改初始仓位时需设置为True
  3. Numeric EveryLots(1);    // 每次交易数量手数
  4. Numeric LongEntryPrice(4); // 开多仓的触发价格
  5. Numeric LongExitPrice(5);  // 平多仓的触发价格
  6. Numeric ShortEntryPrice(5); // 开空仓的触发价格
  7. Numeric ShortExitPrice(4); // 平空仓的触发价格
  8. Numeric LongStartLots(0);    // 多仓的初始仓位(手数),必须是EveryLots的倍数
  9. Numeric LongEndLots(2);     // 多仓的最大仓位(手数),必须是EveryLots的倍数
  10. Numeric ShortStartLots(0);    // 空仓的初始仓位(手数),必须是EveryLots的倍数
  11. Numeric ShortEndLots(2);     // 空仓的最大仓位(手数),必须是EveryLots的倍数
  12. Numeric OffsetPoint(1);   // 委托价格的偏移值(点数)
  13. Vars  
  14. Numeric SpreadUpper;
  15. Numeric SpreadLower;
  16. Numeric longPosition;
  17. Numeric shortPosition;
  18. Bool bLongEntryCon;
  19. Bool bShortEntryCon;
  20. Bool bLongExitCon;
  21. Bool bShortExitCon;
  22. Bool bTimeCon;
  23. Numeric Data0Lots(1);
  24. Numeric Data1Lots(1);
  25. Begin
  26. longPosition = GetGlobalVar(0);
  27. shortPosition = GetGlobalVar(1);
  28. If (BarStatus == 0)
  29. {
  30.   If(longPosition == InvalidNumeric || bInitStatus)
  31.   {
  32.    longPosition = LongStartLots;
  33.    SetGlobalVar(0,longPosition);
  34.   }
  35.   If(shortPosition == InvalidNumeric || bInitStatus)
  36.   {
  37.    shortPosition = ShortStartLots;
  38.    SetGlobalVar(1,shortPosition);
  39.   }
  40. }Else If(BarStatus == 2 && A_AccountID!="")
  41. {
  42.   If(EveryLots < 1) Return;
  43.   If(Data0.Q_AskPrice <= 0 || Data0.Q_BidPrice <= 0 || Data1.Q_AskPrice <= 0 || Data1.Q_BidPrice <= 0) Return;
  44.   If(Data0.Q_BidPrice == Data0.Q_UpperLimit || Data0.Q_AskPrice == Data0.Q_LowerLimit) Return;
  45.   If(Data1.Q_BidPrice == Data1.Q_UpperLimit || Data1.Q_AskPrice == Data1.Q_LowerLimit) Return;

  46.   SpreadUpper = Round(Data0.Q_AskPrice-Data1.Q_BidPrice,1);
  47.   SpreadLower = Round(Data0.Q_BidPrice-Data1.Q_AskPrice,1);
  48.   FileAppend("E:\\低波动率套利"+Symbol+".txt",Text(CurrentTime)+"\t"+"SpreatUpper="+Text(SpreadUpper)+"\t"+"SpreadLower="+Text(SpreadLower));

  49.   bTimeCon = true;//Time>0.0903 ;//And (Time<0.1127 Or Time>0.1333) And Time<0.1456;
  50.   bLongEntryCon = (SpreadUpper<=LongEntryPrice) && (Data0.Q_AskVol>=EveryLots && Data1.Q_BidVol>=EveryLots);
  51.   bLongExitCon = (SpreadLower>=LongExitPrice) && (Data1.Q_AskVol>=EveryLots && Data0.Q_BidVol>=EveryLots);  
  52.   bShortEntryCon = (SpreadLower>=ShortEntryPrice) && (Data1.Q_AskVol>=EveryLots && Data0.Q_BidVol>=EveryLots);
  53.   bShortExitCon = (SpreadUpper<=ShortExitPrice) && (Data0.Q_AskVol>=EveryLots && Data1.Q_BidVol>=EveryLots);
  54.   If(((bLongExitCon And bTimeCon And longPosition>0) Or longPosition>LongEndLots ))
  55.   {
  56.    Data0.A_SendOrder(Enum_Sell,Enum_Exit,Data0Lots,Data0.Q_BidPrice-OffsetPoint*MinMove*PriceScale);
  57.    Data1.A_SendOrder(Enum_Buy,Enum_Exit,Data1Lots,Data1.Q_AskPrice+OffsetPoint*MinMove*PriceScale);
  58.    SetGlobalVar(0,longPosition - EveryLots);
  59.   }

  60.   If(((bShortExitCon And bTimeCon And shortPosition>0) Or shortPosition>ShortEndLots ))
  61.   {
  62.    Data0.A_SendOrder(Enum_Buy,Enum_Exit,Data0Lots,Data0.Q_AskPrice+OffsetPoint*MinMove*PriceScale);
  63.    Data1.A_SendOrder(Enum_Sell,Enum_Exit,Data1Lots,Data1.Q_BidPrice-OffsetPoint*MinMove*PriceScale);
  64.    SetGlobalVar(1,shortPosition - EveryLots);
  65.   }
  66. //
  67.   If((bLongEntryCon And bTimeCon And longPosition<LongEndLots))
  68.   {
  69.    Data0.A_SendOrder(Enum_Buy,Enum_Entry,Data0Lots,Data0.Q_AskPrice+OffsetPoint*MinMove*PriceScale);
  70.    Data1.A_SendOrder(Enum_Sell,Enum_Entry,Data1Lots,Data1.Q_BidPrice-OffsetPoint*MinMove*PriceScale);
  71.    SetGlobalVar(0,longPosition + EveryLots);
  72.   }
  73.   
  74.   If(( bShortEntryCon And bTimeCon And shortPosition<ShortEndLots))
  75.   {
  76.    Data0.A_SendOrder(Enum_Sell,Enum_Entry,Data0Lots,Data0.Q_BidPrice-OffsetPoint*MinMove*PriceScale);
  77.    Data1.A_SendOrder(Enum_Buy,Enum_Entry,Data1Lots,Data1.Q_AskPrice+OffsetPoint*MinMove*PriceScale);
  78.    SetGlobalVar(1,shortPosition + EveryLots);
  79.   }
  80. }
  81. Commentary("多头仓位="+Text(longPosition));
  82. Commentary("空头仓位="+Text(shortPosition));
  83. End
复制代码

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
116229
积分
2373
帖子
2247
主题
18
阅读权限
70
注册时间
2013-3-4
最后登录
2019-3-24
6#
发表于 2013-8-28 16:18:13 |只看该作者
看了楼主的公式,是用A函数发单的,监控器不能监控同步A函数发单的。
之前我所说的账户仓和系统仓,都是针对的buy之类的交易指令,图表上有信号的。系统仓指的是图表中信号表示的仓位,账户仓是成交后账户的持仓。使用监控器,主要是因为图表上有信号,可是可能没有成交,导致账户仓和系统仓不匹配,这个时候才要同步

使用道具 举报

Rank: 2

精华
0
UID
114998
积分
73
帖子
40
主题
13
阅读权限
30
注册时间
2013-1-20
最后登录
2020-2-25
7#
发表于 2013-8-28 16:27:48 |只看该作者
ample 发表于 2013-8-28 16:18
看了楼主的公式,是用A函数发单的,监控器不能监控同步A函数发单的。
之前我所说的账户仓和系统仓,都是针 ...

好的,监控器的问题明白了。但是非交易时间出信号的问题还是没明白。是不是把交易时间写进if条件里会更好?

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
116229
积分
2373
帖子
2247
主题
18
阅读权限
70
注册时间
2013-3-4
最后登录
2019-3-24
8#
发表于 2013-8-29 09:08:51 |只看该作者
anniekorea 发表于 2013-8-28 16:27
好的,监控器的问题明白了。但是非交易时间出信号的问题还是没明白。是不是把交易时间写进if条件里会更好 ...

楼主的公式没有过滤集合竞价的时间。

使用道具 举报

Rank: 2

精华
0
UID
114998
积分
73
帖子
40
主题
13
阅读权限
30
注册时间
2013-1-20
最后登录
2020-2-25
9#
发表于 2013-8-29 10:03:12 |只看该作者
ample 发表于 2013-8-29 09:08
楼主的公式没有过滤集合竞价的时间。

谢谢回答。那就是还是把交易时间(除去集合竞价时间)写进if条件里会更好。

使用道具 举报

Rank: 1

精华
0
UID
84387
积分
36
帖子
15
主题
4
阅读权限
10
注册时间
2011-12-5
最后登录
2015-7-29
10#
发表于 2014-7-31 13:34:50 |只看该作者
哎。留名吧

使用道具 举报

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

bottom

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

GMT+8, 2024-5-4 18:14

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部