设为首页收藏本站

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

dual-thrust日内交易版及信号消失问题 [复制链接]

Rank: 2

精华
0
UID
41209
积分
72
帖子
44
主题
6
阅读权限
30
注册时间
2011-5-23
最后登录
2013-3-31
跳转到指定楼层
1#
发表于 2011-12-14 09:55:38 |只看该作者 |倒序浏览
本帖最后由 jinlifeng 于 2011-12-15 18:18 编辑

Params
       
        Numeric M(50);
        Numeric LOTS(1);
          
        Vars
        Numeric offset;
        Numeric offset1;
        NumericSeries MA1;
        NumericSeries MA2;
        NumericSeries MA11;
        NumericSeries MA22;
        Numeric spread;
        Numeric OPENP;

       
Begin

        offset = 5*MinMove()*PriceScale();
        spread=Max(HighD(1)-CloseD(1),CloseD(1)-LowD(1));
        OPENP=OpenD(0);
        MA1=OPENP+0.01*M*spread;
        MA2=OPENP-0.01*M*spread;
        MA11=OPENP+0.01*0.5*M*spread;
        MA22=OPENP-0.01*0.5*M*spread;
               
if(Time<=0.0905)        {SetGlobalVar(0,0);}

if(Time>0.0905 && Time<=0.1455)               
        {

        If(C[1]<MA2 && MarketPosition()==0 && GetGlobalVar(0)<=1)
                {
                SellShort(LOTS,C-offset);SetGlobalVar(0,GetGlobalVar(0)+1);
                }
               
        If(C[1]>ma1 && MarketPosition()==0 && GetGlobalVar(0)<=1)
                {               
                Buy(LOTS,C+offset);SetGlobalVar(0,GetGlobalVar(0)+1);
                }
               
        If(C[1]<MA11 && MarketPosition()==1)
                {
                Sell(LOTS,C-offset);
                }
               
        If(C[1]>MA22 && MarketPosition()==-1)
                {               
                BuyToCover(LOTS,C+offset);
                }

        }
         
If(Time>0.1455&&MarketPosition!=0)
        {
        offset1 = 20*MinMove()*PriceScale();
        Sell(0,C-offset);
        BuyToCover(0,C+offset1);
        }
End


这是根据DUAL-thrust简单改的日内交易系统,加了止损和开仓次数限制,用在分钟线上。但是在运行时有信号消失的问题,检查了一下,没找到问题在哪里,莫非OPENP=OpenD(0);有问题?;改成OPENP=Open[BarsSinceToday()]; 呢?

//具体现象就是:发出信号,开仓成交,随后就有警告说信号消失,图上的信号消失,打开公式再校验一下,图上信号再出现。。。我每天就盯着看它出现再消失然后打开公式再校验,看信号再出现。。。。。。。。。。。。

Rank: 2

精华
0
UID
41209
积分
72
帖子
44
主题
6
阅读权限
30
注册时间
2011-5-23
最后登录
2013-3-31
2#
发表于 2011-12-14 10:33:47 |只看该作者
1手铜连续的收益曲线,其他品种没有这么好的
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
我就是我

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
19913
积分
634
帖子
92
主题
13
阅读权限
60
注册时间
2010-11-18
最后登录
2013-12-25
3#
发表于 2011-12-15 09:29:51 |只看该作者
原因是你用了Close

使用道具 举报

Rank: 2

精华
0
UID
41209
积分
72
帖子
44
主题
6
阅读权限
30
注册时间
2011-5-23
最后登录
2013-3-31
4#
发表于 2011-12-15 18:10:34 |只看该作者
回复 3# illidanyl

条件判断中没有用CLOSE的,只是在发出单子的时候有用C,并且还加了5跳的滑点,所以应该不是这个原因(另外的主程序中发出单子也是用的C+OFFSET/C-OFFSET,没有这个问题)。

使用道具 举报

Rank: 4

精华
0
UID
21982
积分
365
帖子
73
主题
25
阅读权限
50
注册时间
2010-12-21
最后登录
2012-10-14
5#
发表于 2011-12-15 20:51:36 |只看该作者
因为用了close ,有了未来函数,跟加不加滑点没关系

使用道具 举报

Rank: 4

精华
0
UID
21982
积分
365
帖子
73
主题
25
阅读权限
50
注册时间
2010-12-21
最后登录
2012-10-14
6#
发表于 2011-12-15 21:14:24 |只看该作者
出现开仓信号后,close一直在变化,系统读一个tick就变化一次,就消失一次,然后打开公式再校验一下,又出现
我估计是这个原因
If(Time>0.1455&&MarketPosition!=0)
        {
        offset1 = 20*MinMove()*PriceScale();
        Sell(0,C-offset);
        BuyToCover(0,C+offset1);
        }


sell 的offset 也要改为offset1

使用道具 举报

Rank: 2

精华
0
UID
41209
积分
72
帖子
44
主题
6
阅读权限
30
注册时间
2011-5-23
最后登录
2013-3-31
7#
发表于 2011-12-16 10:14:11 |只看该作者
回复 6# weorc

谢谢weorc的细心认真,OFFSET那里确实是遗漏。如果发出单子的时候不能用CLOSE,该怎么保证单子以市价成交?

使用道具 举报

Rank: 4

精华
0
UID
21982
积分
365
帖子
73
主题
25
阅读权限
50
注册时间
2010-12-21
最后登录
2012-10-14
8#
发表于 2011-12-16 16:57:01 |只看该作者
为什么不用开盘价加减大滑点?

使用道具 举报

Rank: 2

精华
0
UID
41209
积分
72
帖子
44
主题
6
阅读权限
30
注册时间
2011-5-23
最后登录
2013-3-31
9#
发表于 2011-12-20 11:10:13 |只看该作者
已解决,C[1]<MA2 && MarketPosition()==0 && GetGlobalVar(0)<=1 当开仓后会SETGLOBALVAR设置为+1,所以同一BAR上下一个数据来后,GetGlobalVar(0)的值变化,导致又不满足开仓条件。
我就是我

使用道具 举报

Rank: 1

精华
0
UID
111159
积分
26
帖子
6
主题
0
阅读权限
10
注册时间
2012-6-25
最后登录
2013-5-29
10#
发表于 2012-7-4 21:18:36 |只看该作者
您好,请问程序最后改的结果是什么?可以告诉我吗?谢谢了

使用道具 举报

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

bottom

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

GMT+8, 2024-5-22 18:48

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部