设为首页收藏本站

 找回密码
 注册
楼主: 受伤的小鱼
打印 上一主题 下一主题

跟我改RangeBreak(清仓出金,过路TX们来踩死我,让我死了回的心 [复制链接]

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
81#
发表于 2012-12-23 14:12:59 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 14:58 编辑
受伤的小鱼 发表于 2012-12-23 13:01
在加止损代码前,我还是把多空的交易分开两个程序来写,我承认我所做的一切其最终行为目的其实是拟合曲线 ...


再决定弃用幅度止损后,出于离场是最好的风险控制的考虑,于是决定在建仓N周期后价格低于前低出场

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
82#
发表于 2012-12-23 15:13:34 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 16:18 编辑

1243
Params
Numeric atrlen(19);
Numeric atrvl(1.30);
Numeric atrvs(2.50);
Numeric stlfd(41);
Numeric stln(1);
Vars
Numeric offs;
NumericSeries atr;
Numeric uprail;
Numeric lorail;
Numeric lprice;
Numeric sprice;
BoolSeries entry01;
BoolSeries exit01;
BoolSeries exit02;
BoolSeries exit03;
Numeric stlpr;
Begin
offs=MinMove*PriceScale;
atr=Average(h-l,atrlen);
uprail=open+atrvl*atr[1];
lorail=open-atrvs*atr[1];
lprice=uprail+2*offs;
sprice=lorail-2*offs;
stlpr=Min(open,LastEntryPrice*(1-stlfd/1000))-2*offs;
entry01=high>uprail;
Exit01=low <lorail;
exit02=low<LastEntryPrice*(1-stlfd/1000);
exit03=MarketPosition==1 and BarsSinceEntry>stln  and low<low[1];
if (exit03) Sell(0,Min(open,low[1]-2*offs);
if (MarketPosition<>1  and entry01 ) Buy(0,lprice);
if (MarketPosition==1  and exit01 ) Sell(0,sprice);
if (exit02) Sell(0,stlpr); 
//Commentary("swag"+Text(CountIf (entryl01 and exit01),CurrentBar)));
end
骂一句先,回贴内容中不能有中括号,搞了半个小时才贴上这段代码
搞来搞去原来是因为exit03=。。。。。。这句里的<号搞鬼
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
83#
发表于 2012-12-23 16:03:25 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 16:42 编辑
受伤的小鱼 发表于 2012-12-23 15:13
1243
Params
Numeric atrlen(19);


同样,我再继续为该策略加上幅度止盈后,虽说绩效能提高一点点,但。。。。。。。又是拟合上加拟合了,不过先放上先吧,其实长期来说,如果说策略有效,这些所谓的其它“技巧”都是拟合曲线!!!
Params
Numeric atrlen(19);
Numeric atrvl(1.30);
Numeric atrvs(2.50);
Numeric stlfd(100);
Numeric stln(1);
Numeric stffd(100);
Vars
Numeric offs;
NumericSeries atr;
Numeric uprail;
Numeric lorail;
Numeric lprice;
Numeric sprice;
BoolSeries entry01;
BoolSeries exit01;
BoolSeries exit02;
BoolSeries exit03;
BoolSeries exit04;
Numeric stlpr;
Numeric stfpr;
Begin
offs=MinMove*PriceScale;
atr=Average(h-l,atrlen);
uprail=open+atrvl*atr[1];
lorail=open-atrvs*atr[1];
lprice=uprail+2*offs;
sprice=lorail-2*offs;
stlpr=Min(open,LastEntryPrice*(1-stlfd/1000))-2*offs;
stfpr=Max(open,lastentryprice*(1+stffd/1000));
entry01=high>uprail;
Exit01=low小于lorail;
exit02=low小于LastEntryPrice*(1-stlfd/1000);
exit03=MarketPosition==1 and BarsSinceEntry>stln  and low小于low[1];
exit04=MarketPosition==1 and high大于lastentryprice*(1+stffd/1000);
if (exit03) Sell(0,Min(open,low[1])-2*offs);
if (MarketPosition!=1  and entry01 ) Buy(0,lprice);
if (MarketPosition==1  and exit01 ) Sell(0,sprice);
if (exit02) Sell(0,stlpr);
if (exit04) Sell(0,stfpr);
//Commentary("swag"+Text(CountIf (entry01 and exit01,CurrentBar)));
end
天呐,被这个<>东西头啊搞大起来
基本是来说,幅度止盈损都无效,但要不要,得要,就是你要多少设多少,而不是拟合曲线给出来的多少是多少!!!
虽然说我主观上这么认为,而如果真在实盘过程的话,我却似乎肯定自己会去选拟合好后的参数,那么继续拟合吧。。。。。(所以我清仓有一部分原因也正是我觉得自己跳不出拟合这个框框,路过的同学敬请说一下对于此的看法)

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
84#
发表于 2012-12-23 16:44:19 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 16:49 编辑
漫步华尔街 发表于 2012-12-23 16:37
思路是对的,但是真的有点过滤优化了。


我知道这个问题,但是如果实盘的话,不优化又不会去用
总是感觉技术分析这东西不靠谱
我想说的其实优化不会比不优化差,但优化在今后的过程中肯定也会比优化的测试报告差
于是我清仓出金了

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
85#
发表于 2012-12-23 16:45:15 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 16:46 编辑
漫步华尔街 发表于 2012-12-23 16:42
这里的测试结果,加入止盈止损了吗?


没有,其实我很大程度上认为止盈损就是一种拟合曲线的方法。

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
86#
发表于 2012-12-23 17:09:41 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 17:49 编辑
受伤的小鱼 发表于 2012-12-23 16:03
同样,我再继续为该策略加上幅度止盈后,虽说绩效能提高一点点,但。。。。。。。又是拟合上加拟合了,不 ...


在做“拟合”之时,我首先想到的还是取一根均线,当均线的方向向上或向下时,我对突破的倍数有不同,正如前面一同学说的过度优化一样,想通过市场的变化而让程序在两个参数间做出选择,而尽管这样做对于历史数据能起到改观,那对于将来自己主观上还是认为仅仅是拟合而已,那我怎么办。。。。我只能清仓先。。。。。。。。不扯先,越扯越没信心!!!
虽说均线向上的ATR倍数小于向下的倍数,且离场同样均线向上的倍数大于均线向下的倍数,这符合我的初衷,但其实是过去的市场是这样的!!!!
所以我决定还是弃用这个手段!!!!
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
87#
发表于 2012-12-23 17:45:17 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 17:54 编辑
漫步华尔街 发表于 2012-12-23 17:36
优化得你迷茫,不敢用了,哈哈。知道优化是水中月吧?
我觉得你现在的问题很简单,把最原始的模型重新拿 ...


嗯!的确如此!我也是把自己的曾经的心路历程以优化程序的过程写下来!!!
虽说我自认为自己所用的一些“手段”有一定的合理性(嘿嘿片面性居多),但我也知道其实这在市场面前啥也不是!!!!
我写此贴的目的其中一部分原因也是让新手们不要迷信好看的曲线!!!
还有就是当做兴趣反曲线做得好看些。。。。。。。。。。

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
88#
发表于 2012-12-23 17:53:14 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 18:41 编辑
受伤的小鱼 发表于 2012-12-23 17:09
在做“拟合”之时,我首先想到的还是取一根均线,当均线的方向向上或向下时,我对突破的倍数有不同,正如 ...


而在采用另一种方法时,就象上面的TX说的,此模型的核心理念在于ATR,那么我对TR进行优化
于是
atrvlu的定义就是当。。。。。。。
还是直接贴代码吧。。。。。。
Params
Numeric atrlen(19);
Numeric aatrlen(19);
Numeric atrvlu(1.30);
Numeric atrvld(1.30);
Numeric atrvsu(2.50);
Numeric atrvsd(2.50);
Numeric stln(1);
Numeric stlfd(100);
Numeric stffd(100);
Vars
Numeric offs;
NumericSeries atr;
NumericSeries aatr;
Numeric uprail;
Numeric lorail;
Numeric lprice;
Numeric sprice;
BoolSeries entry01;
BoolSeries exit01;
BoolSeries exit02;
BoolSeries exit03;
BoolSeries exit04;
Numeric stlpr;
Numeric stfpr;
Begin
offs=MinMove*PriceScale;
atr=Average(h-l,atrlen);
aatr=Average(atr,aatrlen);
if (atr[1]>=aatr[1]) uprail=open+atrvlu*atr[1];
if (atr[1]< aatr[1]) uprail=open+atrvld*atr[1];
if (atr[1]>aatr[1]) lorail=open-atrvsu*atr[1];
if (atr[1]<=aatr[1]) lorail=open-atrvsd*atr[1];

lprice=uprail+2*offs;
sprice=lorail-2*offs;
stlpr=Min(open,LastEntryPrice*(1-stlfd/1000))-2*offs;
stfpr=Max(open,lastentryprice*(1+stffd/1000));
entry01=high>uprail;
Exit01=low<lorail;
exit02=low<LastEntryPrice*(1-stlfd/1000);
exit03=MarketPosition==1 and BarsSinceEntry>stln  and low<low[1];
exit04=MarketPosition==1 and high>lastentryprice*(1+stffd/1000);
if (exit03) Sell(0,Min(open,low[1])-2*offs);
if (MarketPosition<>1  and entry01 ) Buy(0,lprice);
if (MarketPosition==1  and exit01 ) Sell(0,sprice);
if (exit02) Sell(0,stlpr);
if (exit04) Sell(0,stfpr);
//if (time==0.1500) Sell(0,close-offs);
//Commentary("swag"+Text(CountIf (entry01 and exit01,CurrentBar)));
end
空头的程序就不写了,语句是是全对称多头的写法,也是因为想让测试报告好看,所以参数不一样,对了顺便提一下,对于空头的交易atrvsu和atrvsd的区别使模型效果带来巨变
顺便贴测试结果吧,刚下午在论坛上看到一TX贴的模型,单个我也拿不出手,我也找个压箱底的组合组合吧
但。。。都是历史而已。。。。。。。。。。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
89#
发表于 2012-12-23 18:10:54 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 18:12 编辑
漫步华尔街 发表于 2012-12-23 17:55
对的,你在生活中的性格可能过于追求完美,这是好事。
但是,在程序化交易这一块,追求完美却是很多人的坟 ...


不一定哦,死无葬身之地也可能哦

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
90#
发表于 2012-12-23 18:42:36 |显示全部楼层
漫步华尔街 发表于 2012-12-23 18:38
关于RB的止盈,一定要慎重。


怎么捏????请指导!!!谢谢!!!!

使用道具 举报

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

bottom

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

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

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部