搜索
查看: 22332|回复: 9

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

[复制链接]

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

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

来自:MACD论坛(bbs.shudaoyoufang.com) 作者:ctmd110 浏览:22332 回复: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

回复 使用道具 举报

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

本版积分规则

本站声明:MACD仅提供交流平台,请交流人员遵守法律法规。
值班电话:18209240771   微信:35550268

举报|意见反馈|手机版|MACD俱乐部

GMT+8, 2025-4-7 11:04 , Processed in 0.628936 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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