设为首页收藏本站

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

关于公式计算差别问题, 急等回复! [复制链接]

Rank: 2

精华
0
UID
112942
积分
55
帖子
25
主题
3
阅读权限
30
注册时间
2012-10-17
最后登录
2013-1-10
跳转到指定楼层
1#
发表于 2012-12-21 10:31:23 |只看该作者 |倒序浏览
我回测的公式用的(crossover(j1,j2)为条件,j1、j2都为X[1],Sell(1,Open)发单。平仓条件为close

如果改为实盘公式,是否必须改为Sell(1,close[1])发单,平仓改为close[1]判断平仓。但是这样改后回测区别非常大,如何处理?怎么才是对的?在线等回复。

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2012-12-21 10:39:36 |只看该作者
抱歉呀。很难理解你的公式与文字所要表达的意义。
或者你就直接贴部分代码,我们通道代码来判断吧。

使用道具 举报

Rank: 2

精华
0
UID
112942
积分
55
帖子
25
主题
3
阅读权限
30
注册时间
2012-10-17
最后登录
2013-1-10
3#
发表于 2012-12-21 12:16:43 |只看该作者
long_sig=(e1[2]<e2[2] && e1[1]>e2[1]);
short_sig=( e1[2]>e2[2] && e1[1]<e2[1] );
long_sig_cover=( Close<Close[1]);//实盘是否=( Close[1]<Close[2])
short_sig_cover=(Close>Close[1]);//实盘是否=( Close[1]>Close[2])
       
       
        if(CurrentContracts>0)//
       
        {
                if((Low<(GetGlobalVar(0)-stoploss)))
                        Sell(1,GetGlobalVar(0)-stoploss);       
               
                if(long_sig_cover  )//
                        Sell(1,Close);//实盘close[1]?       
        }
               
       
       
        if(CurrentContracts<0)//CurrentContracts
        {
                if((High>(GetGlobalVar(0)+stoploss)))
                        BuyToCover(1,GetGlobalVar(0)+stoploss);

                if(short_sig_cover )//
                        BuyToCover(1,Close[1]);       
        }
                 if(long_sig &&  CurrentContracts==0)//
        {
                buy(1,Open);
                SetGlobalVar(0,Open);//实盘close[1]
        }        
        if(short_sig &&  CurrentContracts==0)
        {
                SellShort(1,Open);
                SetGlobalVar(0,Open);
        }

使用道具 举报

Rank: 2

精华
0
UID
112942
积分
55
帖子
25
主题
3
阅读权限
30
注册时间
2012-10-17
最后登录
2013-1-10
4#
发表于 2012-12-21 12:22:14 |只看该作者
e1[2]<e2[2] && e1[1]>e2[1];J1=E1[1];J2=E2[1]是否=(crossover(j1,j2))

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
5#
发表于 2012-12-21 16:13:15 |只看该作者
晴朗 发表于 2012-12-21 12:16
long_sig=(e1[2]e2[1]);
short_sig=( e1[2]>e2[2] && e1[1]0)//
       

使用close确实有信号消失的可能性。换成close[1]可避免此情况 。
另,你可以使用序列变量来记录开仓价从来确定止损或止赢点,不必要使用全局变量。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-16 02:50

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部