设为首页收藏本站

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

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

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
71#
发表于 2012-12-23 01:13:31 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 11:11 编辑
受伤的小鱼 发表于 2012-12-23 00:41
一直想开始着手写关于资金管理的,但也一直在问自己够“份量”写关于这方面的
在周一资金再次创出新高,
...


早几个小时前,我在Q上和TB网校的老师聊天,我说自己的帐户连续回撤,清仓出金了,
他一开口就说:仓位是不是有点重!
我说我基本70%,但是是组合的!他说也一样!仓位降下来!。。。。。。。。。
其实我从来就没有仓位这个概念,当时实盘时就是做了历史回测,因为测试报告上有最大使用资金,于是加了20%。
而且我实盘的策略都是反手的,也就是说我的仓位会达到报告值的80%。。。。。。
我也不发表自己对仓位的理解了,因为我的理解可能很危险!!!!!
而事实我是一直有想把仓位降下来的,可测试报告上说只要那么多的资金,我干嘛要多些的资金!!!降仓位就等于降投入资金,那么我的仓位还是有80%。。。。。。那咋办呢,降不降呢????????
得降,但我得把测试报告上显示出来的最大使用资金大起来,怎么大起来呢?
多空采用不同的策略或者参数。让策略的持仓有对锁的情况出现,那么我的最大使用资金是不是要增加了!
而促成我有这种想法的其中一个原因竟然是因为同一策略应用于多空交易的参数不一样会使测试报告变得更好看些!!!!!!!!!
而促成我当时决定使用程序化交易其中一很大部分原因是因为测试报告,而且历史测试报告是那么的好!!!但其过程其实也有“痛苦”的时候的。而且是常常有!!!
(PS:其实做程序化交易的人在经历过回撤后其实也就那么一回事儿,如果他是盈利的话!而恰恰回想曾经的经历才是痛苦的!!!如果说那是你曾经亲历的!!!更别提如果一旦最终你是亏损的!!!
那么降低过程的痛苦程度是不是就是降低回撤呢!!!!
而降低回撤最有效的办法据说就是对冲,那我就多准备一份资金用于对冲吧!!!或者说是把原来的仓位降下来用于对冲!!!!
也是从改一个策略开始边改边扯吧,(我一直纠结,最担心的是怕新手拿去实盘了,所以我前面没有完整的贴代码,同时也是因为总感觉这是自己的“劳动”成果(其实是不断优化的“成果”,舍不得与大家分享!!!)
同为期货人,这次我完整的写代码,新手们千万不要拿去实盘!!!谨做为学习!!!最好是看到的都不屑拿去实盘的!!!这东西就不值得去实盘!!!确实不值得!!!!!!!!!!!!!
(再次插播广告,您若有意做为程序化交易员,并可能以此为哪怕“短暂”的事业,勿必请@艰难的小鱼Q:651848!,哎:不归路啊!!!)

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
72#
发表于 2012-12-23 02:38:45 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 02:55 编辑
受伤的小鱼 发表于 2012-12-23 01:13
早几个小时前,我在Q上和TB网校的老师聊天,我说自己的帐户连续回撤,清仓出金了,
他一开口就说:仓位是 ...


当时写这个程序时就是因为看了百度文库里一篇关于ATR的文章,新手TX们可以去搜搜,我也记不清具体怎么说的了,不过有一句好象是这么说的,当价格突破ATR的倍数后,定义为趋势生成。
PS:技术分析假设之一,价格按趋方向行进!!!那么。。。。。。。
接下来,用IF000@K15M做测试报告,手续费1%%,滑点1个价位(虽说曾经有统计,股指的交易滑点大概是在0.23点,个人认为突破型的其开仓点这个滑点是远不够的,本人亲历一次白糖滑策略价26个)

使用道具 举报

Rank: 4

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

Params
Numeric atrlen(20);
Numeric atrvl(2);
Numeric atrvs(2);
Vars
Numeric offs;
NumericSeries atr;
Numeric uprail;
Numeric lorail;
Numeric lprice;
Numeric sprice;
BoolSeries entryl01;
BoolSeries entrys01;
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;
entryl01=high>uprail;
Entrys01=low <lorail;

if (MarketPosition<>1  and entryl01 ) Buy(0,lprice);
if (MarketPosition<>-1 and entrys01 ) SellShort(0,sprice);
end
因为BAR同时符合entry01 和 entrys01 的条件,所以开仓语句的语序会影响整个测试的不一样,如果反应在实盘上的话,当个BAR上下,下上10个来回,嘿嘿,暴仓。。。。。。。。。。。。。关于这个的说法等会儿再说。。。。。。。
优化先!!!优化目标:TB系数最大
2010年        534807.84
2011年        397843.70
2012年        264570.97
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
74#
发表于 2012-12-23 05:07:41 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 12:02 编辑
受伤的小鱼 发表于 2012-12-23 04:17
Params
Numeric atrlen(20);
Numeric atrvl(2);


暂且先不提那个可能发生暴仓的情况,而17,1.8,1.1这组参数在2010-2011的TB系数最大优化结果里是排在第3的,且1,2名是只有不到70次交易的,那如果我想就以结果论的话,其在2012的结果足以比下好多好多的曾经风光股指策略了。
得睡先,受不了了。
路过的TX们,回贴说说接下来对于此策略要做些什么?我睡先!!!

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
75#
发表于 2012-12-23 12:04:25 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 12:19 编辑
受伤的小鱼 发表于 2012-12-23 05:07
暂且先不提那个可能发生暴仓的情况,而17,1.8,1.1这组参数在2010-2011的TB系数最大优化结果里是排在第3 ...


在对策略进行下一步之前,先看看语序的问题的影响,而且优化的1.8和1.1因为倍数的缩小,发生这种事儿的概率就会增大
Params
Numeric atrlen(20);
Numeric atrvl(2);
Numeric atrvs(2);
Numeric test(0);
Vars
Numeric offs;
NumericSeries atr;
Numeric uprail;
Numeric lorail;
Numeric lprice;
Numeric sprice;
BoolSeries entryl01;
BoolSeries entrys01;
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;
entryl01=high>uprail;
Entrys01=low <lorail;
if (test==0)
{
if (MarketPosition<>1  and entryl01 ) Buy(0,lprice);
if (MarketPosition<>-1 and entrys01 ) SellShort(0,sprice);
}
if (test==1)
{
if (MarketPosition<>-1 and entrys01 ) SellShort(0,sprice);
if (MarketPosition<>1  and entryl01 ) Buy(0,lprice);
}
Commentary("swag"+Text(CountIf (entryl01 and entrys01,CurrentBar)));
end
通过countif统计历史上这组参数发生这样的事件1次:2012年9月27!不讨论这吧,只能说今后还会发生,而且发生的更恶劣,来回10次,暴你仓。。。。。。。。。
可别小看这2万,有时一年下来决定盈亏的就在于那一次,2万相当于本金来说20%啊!!!!
呷饭先!!!!!!!!
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
76#
发表于 2012-12-23 12:36:46 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 12:44 编辑
受伤的小鱼 发表于 2012-12-23 12:04
在对策略进行下一步之前,先看看语序的问题的影响,而且优化的1.8和1.1因为倍数的缩小,发生这种事儿的概 ...


在对其加止损代码前,先来看历史上的一个交易吧,
在看到这个信号之后,足以对此策略往死里踩了????那么再看接下来的!!!
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
77#
发表于 2012-12-23 12:42:11 |显示全部楼层
能不忆江南? 发表于 2012-12-23 12:29
我觉得你的问题是被那个测试欺骗了,同时没理解那个tb实盘运行和测试的巨大区别,比如在测试中可以走完一个 ...

如果你表达这是仅你说的这些,那么对于TB的理解或者行情的理解还远不够!!!即使是走完一个BAR同样存在实盘和测试的区别!!!

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
78#
发表于 2012-12-23 12:47:31 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 12:52 编辑
受伤的小鱼 发表于 2012-12-23 12:36
在对其加止损代码前,先来看历史上的一个交易吧,
在看到这个信号之后,足以对此策略往死里踩了???? ...


接下来的这个交易同样发生了诸如5.20的情况,如果提前止损,也可能也错失行情,
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
79#
发表于 2012-12-23 12:49:11 |显示全部楼层
能不忆江南? 发表于 2012-12-23 12:45
哈哈,不多说了,反正我能保证测试和实盘的差距只有一个点位,你的程序中使用了那些未来数据,结果是不可预 ...

好吧,就不多说了,只是我想说一句,任何事都保证不了!!!

使用道具 举报

Rank: 4

精华
0
UID
110420
积分
547
帖子
326
主题
16
阅读权限
50
注册时间
2012-5-11
最后登录
2019-1-11
80#
发表于 2012-12-23 13:01:26 |显示全部楼层
本帖最后由 受伤的小鱼 于 2012-12-23 13:56 编辑
受伤的小鱼 发表于 2012-12-23 12:47
接下来的这个交易同样发生了诸如5.20的情况,如果提前止损,也可能也错失行情,
...


在加止损代码前,我还是把多空的交易分开两个程序来写,我承认我所做的一切其最终行为目的其实是拟合曲线!!!举个例子,当5.20的情况发生,在这个过程中因为使用了多空不对称的参数!!!可能会达到对冲的结果!那么“提高最大使用资金的初衷”实现了。。。。。。。,那么先写多头的吧!!!
Params
Numeric atrlen(17);
Numeric atrvl(1.8);
Numeric atrvs(1.1);
Numeric stlfd(100);
Vars
Numeric offs;
NumericSeries atr;
Numeric uprail;
Numeric lorail;
Numeric lprice;
Numeric sprice;
BoolSeries entry01;
BoolSeries exit01;
BoolSeries exit02;
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);

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 entrys01,CurrentBar)));
end同样,因为语序的问题止损行为写在开仓之前,就等于说此策略的开仓BAR是不进行幅度止损的(晕死,4.3.2版本怎么一样的,先继续写先)
而在对止损幅度进行优化时,以结果论历史行情确实说明了“扛得浮亏,终成正果。。。。。。。。。”(这也是我从来不采用幅度止损的原因。。。。。。。于是我以后会说我从来不做交易。。。。。。)再次优化1,2,3个参数,抽根烟去先
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

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

bottom

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

GMT+8, 2024-5-11 20:43

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部