设为首页收藏本站

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

TB的R-Breaker策略,一分钟日内 [复制链接]

Rank: 3Rank: 3

精华
0
UID
92518
积分
164
帖子
50
主题
25
阅读权限
40
注册时间
2012-1-12
最后登录
2018-1-11
跳转到指定楼层
1#
发表于 2012-2-21 11:28:56 |只看该作者 |正序浏览
//------------------------------------------------------------------------
// 简称: R_Breaker

Params
Numeric notbef(9.00);
Numeric notaft(14.55);
Numeric f1(0.35);
Numeric f2(0.07);
Numeric f3(0.25);
Numeric reverse(1.00);
Numeric rangemin(0.2);
Numeric xdiv(3);

Vars
NumericSeries ssetup(0);
NumericSeries bsetup(0);
NumericSeries senter(0);
NumericSeries benter(0);
NumericSeries bbreak(0);
NumericSeries sbreak(0);
NumericSeries ltoday(0);
NumericSeries hitoday(9999);
NumericSeries startnow(0);
NumericSeries div(0);
BoolSeries rfilter(false);
Numeric i_reverse;
Numeric i_rangemin;
Numeric i_vB;
Numeric i_vS;

Begin
i_reverse = reverse*(OpenD(0)/100);
i_rangemin = rangemin*(OpenD(0)/100);
if(BarStatus==0)
{
        startnow=0;
        div=max(xdiv,1);
}

if(Date != Date[1])
{
        SetGlobalVar(0,0);
        SetGlobalVar(1,0);
        startnow=startnow+1;
        ssetup=hitoday[1]+f1*(Close[1]-ltoday[1]);
        senter=((1+f2)/2)*(hitoday[1]+Close[1])-(f2)*ltoday[1];
        benter=((1+f2)/2)*(ltoday[1]+Close[1])-(f2)*hitoday[1];
        bsetup=ltoday[1]-f1*(hitoday[1]-Close[1]);
        bbreak=ssetup+f3*(ssetup-bsetup);
        sbreak=bsetup-f3*(ssetup-bsetup);

        hitoday=High;
        ltoday=Low;

        rfilter=(hitoday[1]-ltoday[1])>=i_rangemin;
}

if(High>hitoday)
{
        hitoday=High;
}
if(Low<ltoday)
{
        ltoday=Low;
}
if(Time*100>=notbef and Time*100<notaft and startnow>=2 and rfilter)
{

        if(Time != GetGlobalVar(1) and GetGlobalVar(1) != 0)
        {
                SetGlobalVar(1,10000);
        }
        if(hitoday>=ssetup and marketposition>-1 and GetGlobalVar(1)<1)
        {
                If(Low<=(senter+(hitoday-ssetup)/div))
                {
                        SellShort(1,senter+(hitoday-ssetup)/div);
                        SetGlobalVar(1,Time);
                        Return;
                }
        }
        if(ltoday<=bsetup and marketposition<1  and GetGlobalVar(1)<1)
        {
                If(High>=(benter-(bsetup-ltoday)/div))
                {
                        Buy(1,benter-(bsetup-ltoday)/div);
                        SetGlobalVar(1,Time);
                        Return;
                }
        }

        if(marketposition==-1)
        {
                SetGlobalVar(0,1);
                if(High-EntryPrice>=i_reverse)
                {
                        BuyToCover(1,entryprice+i_reverse);
                        Return;
                }
        }
        if(marketposition==1)
        {
                SetGlobalVar(0,1);
                if(EntryPrice-Low>=i_reverse)
                {
                        Sell(1,entryprice-i_reverse);
                        Return;
                }
        }

        if(marketposition==0)
        {
                if(High>=bbreak and GetGlobalVar(0) == 0)
                {
                        Buy(1,bbreak);
                        Return;
                }
        }
        if(marketposition==0)
        {
                if(low<=sbreak  and GetGlobalVar(0) == 0)
                {
                        SellShort(1,sbreak);
                        Return;
                }
        }

}

if(Time*100>=notaft and Time<0.1600)
{

        if(marketposition==-1)
        {
                BuyToCover(1,Open);
        }
        if(marketposition==1)
        {
                Sell(1,Open);
        }

}
End



重新改了下,对于tb具体开仓手法记录的描述我不太明白。



中轨上顶部区间:ssetup:=昨日最高+0.35*(昨天收盘-昨天最低);

中轨上区间:senter+(昨最高-中轨上顶部区间)/3  //  senter:=((1+0.07)/2*(昨最高+昨最低)-0.07*昨天最低;

中轨下区间:benter-(中轨下顶部区间-昨最低)/3   // benter:=((1+0.07)/2*(昨最高+昨最低)-0.07*昨天最高;

中轨下顶部区间:bsetup:=昨最低-0.35*(昨最高-昨收盘);

上轨:bbreak:=(ssetup+0.25*(ssetup-bsetup);

下轨:sbreak:=bsetup-0.25*(ssetup-bsetup);



当价格直接突破上轨,开多。 否则, 当今日最高价大于中轨上区间,并且小于上轨运行,价格如果下穿中轨上区间后,开空。



当价格直接突破下轨,开空。 否则, 当今日最低价小于中轨下区间,并且大于下轨运行,价格如果上穿中轨下区间后,开多。

Rank: 1

精华
0
UID
255329
积分
4
帖子
4
主题
0
阅读权限
10
注册时间
2017-8-12
最后登录
2017-11-9
25#
发表于 2017-10-22 19:57:25 |只看该作者
复制过来 一堆问号   然后把问号都删除掉   编译不成功 。。。。。。。。。。。。。  毛啊

使用道具 举报

Rank: 1

精华
0
UID
200277
积分
5
帖子
4
主题
1
阅读权限
10
注册时间
2014-12-27
最后登录
2016-7-23
24#
发表于 2016-7-6 14:16:27 |只看该作者
你这个策略的代码写的有问题~按你的写法~hitoday[1]并不是昨天的最高价~不信你可以使用PlotNumeric函数吧价格画出来看一看

使用道具 举报

Rank: 2

精华
0
UID
163068
积分
56
帖子
38
主题
12
阅读权限
30
注册时间
2011-1-1
最后登录
2022-12-12
23#
发表于 2014-1-20 21:25:28 来自手机 |只看该作者
你的序列变量放在条件语句中,要出问题是正常的。

使用道具 举报

Rank: 2

精华
0
UID
171167
积分
64
帖子
39
主题
25
阅读权限
30
注册时间
1970-1-1
最后登录
2013-12-24
22#
发表于 2013-12-5 17:05:31 |只看该作者
NumericSeries startnow(0);
NumericSeries div(0);
BoolSeries rfilter(false);
Numeric i_reverse;
Numeric i_rangemin;
请问,上面的变量表示的是什么呢?

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
16147
积分
190
帖子
79
主题
11
阅读权限
40
注册时间
2010-9-12
最后登录
2020-3-10
21#
发表于 2013-11-17 10:12:42 |只看该作者
mark 一下

使用道具 举报

Rank: 1

精华
0
UID
175592
积分
4
帖子
1
主题
0
阅读权限
10
注册时间
2013-11-13
最后登录
2013-11-17
20#
发表于 2013-11-16 14:21:50 |只看该作者
测试没有买卖信号出现

使用道具 举报

Rank: 1

精华
0
UID
119539
积分
11
帖子
1
主题
0
阅读权限
10
注册时间
2013-5-28
最后登录
2013-7-31
19#
发表于 2013-6-17 13:14:56 |只看该作者
Thanks

使用道具 举报

Rank: 1

精华
0
UID
97532
积分
44
帖子
24
主题
1
阅读权限
10
注册时间
2012-2-14
最后登录
2013-6-7
18#
发表于 2012-12-21 20:20:16 |只看该作者
看不懂也挺

使用道具 举报

Rank: 1

精华
0
UID
111622
积分
36
帖子
9
主题
3
阅读权限
10
注册时间
2012-7-20
最后登录
2013-5-26
17#
发表于 2012-12-9 14:58:01 |只看该作者
skykisser 发表于 2012-12-2 21:48
zwx,我用的就是大侠那个版本,参数进行了优化修改。不过结果跟是否修改关系不大,因为图表开仓价格与实际开 ...

他程序的报单是有问题的

使用道具 举报

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

bottom

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

GMT+8, 2024-5-18 12:09

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部