搜索
查看: 22155|回复: 9

用TB写了个均线交易系统 附玻璃上的测试结果

[复制链接]

发表于 2013-6-3 23:16 | 显示全部楼层

用TB写了个均线交易系统 附玻璃上的测试结果

来自:MACD论坛(bbs.macd.cn) 作者:ctmd110 浏览:22155 回复:9

本帖最后由 ctmd110 于 2013-6-3 23:44 编辑

初始资金3万, 2小时K线,突破35日均线0.3倍ATR则建仓,止损幅度一个ATR,止赢:反突破35MA 0.5倍ATR(最新K线前一个K线的ATR值)平仓,每次使用总权益的70%资金建仓。
下面是玻璃1309的测试结果:





下面是 09年3月以来螺纹钢指数的测试:



在Y1309的测试上,自2012年10月到2013年2月的这段震荡期间净亏七千

貌似只要不做哪些经常跳空的品种,重仓加严格止损的操作也不会被爆仓

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
金币:
奖励:
热心:
注册时间:
2007-6-2

回复 使用道具 举报

 楼主| 发表于 2013-6-3 23:27 | 显示全部楼层
本帖最后由 ctmd110 于 2013-6-3 23:29 编辑

附上TB代码,写的比较混乱,有兴趣的可以看看

//------------------------------------------------------------------------
// 简称: test
// 名称: test
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------
Params
Numeric l(20);  //均线周期

Vars  
NumericSeries atr;
Numeric N;
Numeric ma1;
Numeric price;  //开仓价
Bool flag(False);
Numeric point;   //价格最小变动点数

Begin

if(CurrentBar<l+2) Return;

atr=AvgTrueRange(14);

ma1=Average(close,l);
point=MinMove*PriceScale;

If(MarketPosition==0)  //无持仓
{
                N=atr[1];
                if(High>ma1+0.3*N)    //开多仓
                {flag=True;price=ma1+0.3*N+point;Buy(0,price); }     
               
                if(low<ma1-0.3*N)  //开空仓
                {flag=True;price=ma1-0.3*N-point;SellShort(0,price);}  
               
                if (flag)   //记录N,开仓价
                {
                        SetTBProfileString("MY_TRADER_PARMS","N",text(N));        //记录开仓时的波动幅度N
                        SetTBProfileString("MY_TRADER_PARMS","PRICE",text(price)); //记录开仓价
                }
}
else if( marketposition==1)      //持有多头仓位
{               
                N=Value(GetTBProfileString("MY_TRADER_PARMS","N"));
                price=Value(GetTBProfileString("MY_TRADER_PARMS","PRICE"));
               
                If(Low<=price-N)  //止损平仓,反手
                {       
                        price=price-N-point;
                        Sell(0,price);
                        N=atr[1];
                        if(low<ma1-0.3*N)  //反手开空仓
                        {
                                If(price>ma1-0.3*N)  price=ma1-0.3*N;  
                                flag=True;SellShort(0,price);                       
                        }   
               
                        if (flag)   //记录N,开仓价
                        {
                                SetTBProfileString("MY_TRADER_PARMS","N",text(N));         //记录开仓时的波动幅度N
                                SetTBProfileString("MY_TRADER_PARMS","PRICE",text(price));  //记录开仓价
                        }               
                        Return;
                }                 
               
                               
       
                N=atr[1];   //计算最新波动幅度值
                If(low<=ma1-0.5*N&&low>price)  //止赢并反手
                {
                        Sell(0,ma1-0.5*N-point);        //止赢                       
                        flag=True;
                        price=ma1-0.5*N-point;
                        SellShort(0,price);  //反手开空仓
               
                        if (flag)   //记录N,开仓价
                        {
                                SetTBProfileString("MY_TRADER_PARMS","N",text(N));         //记录开仓时的波动幅度N
                                SetTBProfileString("MY_TRADER_PARMS","PRICE",text(price));  //记录开仓价
                        }                       
                }               
}
else          //持有空头仓位  
{       
                N=Value(GetTBProfileString("MY_TRADER_PARMS","N"));
                price=Value(GetTBProfileString("MY_TRADER_PARMS","PRICE"));

                If(High>=price+N)  //止损平仓,反手
                {
                        price=price+N+point;
                        BuyToCover(0,price);  //止损平仓
                        N=atr[1];
                        if(High>ma1+0.3*N) //反手开多仓
                        {
                                If(price<ma1+0.3*N)  price=ma1+0.3*N+point;
                                flag=True;
                                Buy(0,price);
                        }      
                        if (flag)   //记录N,开仓价
                        {
                                SetTBProfileString("MY_TRADER_PARMS","N",text(N));         //记录开仓时的波动幅度N
                                SetTBProfileString("MY_TRADER_PARMS","PRICE",text(price));  //记录开仓价
                        }
                        Return;
                }        
                                       
       
                N=atr[1];  //计算最新波动幅度值
                If(High>=ma1+0.5*N&&High<price)  //止赢并反手
                {
                        BuyToCover(0,ma1+0.5*N+point);
                       
                        flag=True;
                        price=ma1+0.5*N+point;
                        Buy(0,price);        //反手开多仓
                       
                        if (flag)   //记录N,开仓价
                        {
                                SetTBProfileString("MY_TRADER_PARMS","N",text(N));         //记录开仓时的波动幅度N
                                SetTBProfileString("MY_TRADER_PARMS","PRICE",text(price));  //记录开仓价
                        }               
                }
}

end
//------------------------------------------------------------------------
// 编译版本        GS2010.12.08
// 用户版本        2013/06/01 21:41
// 版权所有        gtcar120
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
金币:
奖励:
热心:
注册时间:
2007-6-2

回复 使用道具 举报

签到天数: 40 天

发表于 2013-6-4 00:11 | 显示全部楼层
:lol
金币:
奖励:
热心:
注册时间:
2008-3-2

回复 使用道具 举报

签到天数: 972 天

发表于 2013-6-4 06:09 | 显示全部楼层
测玻璃没什么意义
金币:
奖励:
热心:
注册时间:
2008-2-18

回复 使用道具 举报

发表于 2013-6-4 14:19 | 显示全部楼层
好帖,学习,本人正这方面研究中,
金币:
奖励:
热心:
注册时间:
2013-5-16

回复 使用道具 举报

签到天数: 1 天

发表于 2013-6-4 14:50 | 显示全部楼层
曲线一般般
金币:
奖励:
热心:
注册时间:
2006-8-11

回复 使用道具 举报

签到天数: 1 天

发表于 2013-6-4 14:51 | 显示全部楼层
玻璃数据量太少 测试也没什么用
金币:
奖励:
热心:
注册时间:
2006-8-11

回复 使用道具 举报

签到天数: 1039 天

股市捉妖记

发表于 2013-6-4 21:07 | 显示全部楼层
楼主强大 学习啊
金币:
奖励:
热心:
注册时间:
2008-8-30

回复 使用道具 举报

发表于 2017-5-7 10:30 | 显示全部楼层
楼主,用在TB上自动化交易,信号会频闪,现在该系统有改进吗?
金币:
奖励:
热心:
注册时间:
2006-10-20

回复 使用道具 举报

签到天数: 636 天

超短俱乐部

发表于 2017-5-16 10:36 | 显示全部楼层
金币:
奖励:
热心:
注册时间:
2005-1-2

回复 使用道具 举报

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

本版积分规则

本站声明:1、本站所有广告均与MACD无关;2、MACD仅提供交流平台,网友发布信息非MACD观点与意思表达,因网友发布的信息造成任何后果,均与MACD无关。
MACD俱乐部(1997-2019)官方域名:macd.cn   MACD网校(2006-2019)官方域名:macdwx.com
值班热线[9:00—17:30]:18292674919   24小时网站应急电话:18292674919
找回密码、投诉QQ:89918815 友情链接QQ:95008905 广告商务联系QQ:17017506 电话:18292674919
增值电信业务经营许可证: 陕ICP19026207号—2  陕ICP备20004035号

举报|意见反馈|Archiver|手机版|小黑屋|MACD俱乐部 ( 陕ICP备20004035号 )

GMT+8, 2024-4-20 00:41 , Processed in 0.068388 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表