设为首页收藏本站

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

信号出来了 没有执行开仓指令? [复制链接]

Rank: 5Rank: 5

精华
1
UID
1227
积分
1107
帖子
231
主题
43
阅读权限
60
注册时间
2008-2-24
最后登录
2015-8-26
跳转到指定楼层
1#
发表于 2008-4-3 15:21:46 |只看该作者 |倒序浏览
如图:a0901日线,之前无仓,今天从早上9:00到15:00这个32手的开仓指令一直在,但是直到收盘后系统也没有发出开仓指令

系统内关于barstatus==2是这样写的:
......
con8 = Time > 0.145800 && Time < 0.150015;

If(BarStatus == 2)//在最后一个BAR上
{
     If(con8)//只在下午收盘前操作
    {
    ......
    If(CurrentBar > 35 && High!=Low && Open!=Close && con9)//只有在35个BAR以后,在不是停板的情况下,开盘跳空<3.9%的情况下,才开仓
{  
    TotalEquity = A_FreeMargin()+ Abs(CurrentContracts()*Close*ContractUnit()*BigPointValue()*MarginRatio());
    con7 = A_FreeMargin() > (TotalEquity * 0.618);//加仓时候可用资金不得小于61.8%
    myUnits = (A_FreeMargin * 0.2) /(Q_AskPrice*ContractUnit*MarginRatio);//以可用资金的20%开仓
    myUnits  = IntPart(myUnits); // 取整
  
   If(A_BuyPosition==0 && con1 && con3 )//开多仓的条件
    {
    Buy(myUnits,Q_AskPrice);
    }

   If(A_BuyPosition!=0......

If(A_SellPosition==0 && con2 && con4)//开空仓的条件
    {
    SellShort(myunits,Q_BidPrice);
    }                                                          //由于信号一直存在,感觉错误的应该是红色这些代码,但是看不出来啊?

  If(A_SellPosition!=0 ......}
}
}
End

请版主及高手们帮忙解答,谢谢!
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 5Rank: 5

精华
1
UID
1227
积分
1107
帖子
231
主题
43
阅读权限
60
注册时间
2008-2-24
最后登录
2015-8-26
2#
发表于 2008-4-3 15:32:15 |只看该作者
对了,今天上午10:00:06在SR901的1小时图上开了空仓,没有问题。

会不会是因为图中的【32】手,和MYUNITS计算的手数不一致造成的呢?

32手是9点的时候计算的,之后A_FREEMARGIN发生了变化,但是这个32一直没变化过。

很是困惑啊。昨天我把BARSTATUS==2的分支写完后,还以为大功告成了呢

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
3#
发表于 2008-4-3 18:49:09 |只看该作者
等我仔细看了在回答

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
1227
积分
1107
帖子
231
主题
43
阅读权限
60
注册时间
2008-2-24
最后登录
2015-8-26
4#
发表于 2008-4-7 13:27:28 |只看该作者
原帖由 nopain 于 2008-4-3 18:49 发表
等我仔细看了在回答

版主,好像是TIME用错了。从代码检查中看,应该是CURRENTTIME,但是还没试过新的代码是否有问题。

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
1227
积分
1107
帖子
231
主题
43
阅读权限
60
注册时间
2008-2-24
最后登录
2015-8-26
5#
发表于 2008-4-8 14:54:25 |只看该作者
原帖由 nopain 于 2008-4-3 18:49 发表
等我仔细看了在回答

真心诚意的跟版主说:

我们学习TB的进度和何时加入自动交易者队伍的进度是正相关的,这两个进度和版主回复答疑的速度也是正相关的。

TB首先是给交易者看的,而不是给程序高手看的。而交易者的编程基础是参差不齐的,交易者的任务是尽快把交易理念编成可以执行的程序进行测试,以便尽快进行自动交易。

希望版主理解。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
6#
发表于 2008-4-8 16:58:23 |只看该作者
1、您在日线上做日内交易,这样控制起来会很麻烦的,建议放到5分钟或30分钟上面。
2、上面的问题应该是Time,在日线上的Time一直都是0。要用CurrentTime才能表达您的意思。
3、一般的情况不需要使用A函数,也不需要使用BarStatus做分支处理。除非是做套利或自行控制撤单重发。

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
1227
积分
1107
帖子
231
主题
43
阅读权限
60
注册时间
2008-2-24
最后登录
2015-8-26
7#
发表于 2008-4-8 18:44:52 |只看该作者
原帖由 nopain 于 2008-4-8 16:58 发表
1、您在日线上做日内交易,这样控制起来会很麻烦的,建议放到5分钟或30分钟上面。
2、上面的问题应该是Time,在日线上的Time一直都是0。要用CurrentTime才能表达您的意思。
3、一般的情况不需要使用A函数,也不需要使用BarSt ...


2、我已经发现了,谢谢版主的确认

1、不是的,大豆是在日线上做长期,糖是在1小时线上做长期,我的模型持仓时间很长的,至少10-20个BAR。

3、我的日线的模型要求用CLOSE计算信号,在历史测试中可以用NEXTOPEN,TRUE来表示;
记得版主说过,NEXTOPEN,TRUE是不可以在实盘中有效的;
如果不用BARSTATUS==2的话,怎么样才能在收盘前开仓或平仓呢?请版主帮忙。
当然,如果是半自动交易,完全可以在收盘以后检查信号,第二天集合竞价进场或出场,那样的话A和Q都不用了,呵呵。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-10 21:23

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部