系统交易论坛 - 开拓者期货自动交易平台's Archiver

mmc29170 发表于 2010-7-29 14:25

开始产生许多假信号

在超级图表交易指令性能测试时,图表刚开始会产生许多假信号,影响测试结果,怎么办?

mmc29170 发表于 2010-7-29 14:30

原因可能是在起点指标数据不够,但在测试时如何选取有效的区间?

欲速不达 发表于 2010-7-29 21:24

[i=s] 本帖最后由 欲速不达 于 2010-7-30 09:56 编辑 [/i]

应该是你公式有问题

mmc29170 发表于 2010-7-30 08:21

什么公司,期货公司吗?应该不是这个原因。有些指标需要前期数据(像移动均线类),在超级图表中起始均线的线型上可以看出明显不同,而测试时产生的信号好像包括了超级图表中的全部范围,无法得到准确的测试结果,急等指教!!!

mmc29170 发表于 2010-7-30 08:39

再说具体点,我做了一个双均线交易模型,就是按照长短均线的交叉发出买卖信号,当在超级图表中插入交易指令后,在起点产生了一堆指令信号,而稍后点指令信号看起来又是正常的,这个问题如何解决?

lh948 发表于 2010-7-30 08:54

[b] [url=http://tradeblazer.net/forum/redirect.php?goto=findpost&pid=52676&ptid=9031]5#[/url] [i]mmc29170[/i] [/b]


启动软件后,行情是否已经正常显示?

mmc29170 发表于 2010-7-30 09:06

显示正常

mmc29170 发表于 2010-7-30 09:14

在超级图表的商品设置里可以设定范围,但好像测试时只能是这个范围,不知能否实现图表中是一个范围,测试时可以从这个期间选取一个范围

mmc29170 发表于 2010-7-30 09:17

我设计交易指令时使用了调整型移动平均(AMA),是不是跟这个有关系

lh948 发表于 2010-7-30 09:22

[b] [url=http://tradeblazer.net/forum/redirect.php?goto=findpost&pid=52684&ptid=9031]8#[/url] [i]mmc29170[/i] [/b]


测试是针对整个图表的,如果你需要测试某一段时间,你需要修改超级图表显示某段时间的k线

mmc29170 发表于 2010-7-30 09:30

我在超级图表中用的是主力合约,是不是也和这个有关?
刚入手TB,很喜欢TB,但不明白的地方太多,见笑了

mmc29170 发表于 2010-7-30 09:40

修改后测试还是针对整个图表,在起点位置还是有太多信号。我是说能不能图表是一个时间段,测试时从这个时间段另外选取一个有效的时间段

欲速不达 发表于 2010-7-30 09:50

把你的代码贴出来看看

mmc29170 发表于 2010-7-30 10:22

好吧,把我几天的努力贴出来,大家可以复制了试试,参数自己试,我还没来得及做模拟试验,欢迎大家试用指教
//------------------------------------------------------------------------
// 简称: EA
// 名称: EA交易模型
// 类别: 交易指令
// 类型: 其他
// 输出: 一条指数移动均线和一条调整移动均线(适应性移动平均线)
//------------------------------------------------------------------------
Params
        Numeric Length1(16);
        Numeric Length2(80);
    Numeric FastAvgLength(2);
        Numeric SlowAvgLength(30);
Vars   
        NumericSeries AMA;
        NumericSeries EMA;
        Bool Condition1;
        Bool Condition2;
        Numeric TotalEquity;
        Numeric UseMargin;
        Numeric EntryLots;
Begin
        TotalEquity = CurrentCapital()+ Abs(CurrentContracts()*Close*ContractUnit()*BigPointValue()*MarginRatio());
        UseMargin = Close*ContractUnit*BigPointValue*MarginRatio;
        EntryLots = IntPart(TotalEquity*0.25/UseMargin);
        AMA = AdaptiveMovAvg(Close,Length1,FastAvgLength,SlowAvgLength);
        EMA = XAverage(Close, Length2);
        if (AMA>EMA)
        {
                Buy(EntryLots,NextOpen,True);
        }
        if (EMA>AMA)
        {
            SellShort(EntryLots,NextOpen,True);
        }
End


//------------------------------------------------------------------------
// 编译版本        GS2004.06.12
// 用户版本        2010/07/26 13:21
// 版权所有        mmc29170
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

lh948 发表于 2010-7-30 10:56

加入持仓判断if (AMA>EMA && marketposition!=1)
if (AMA<EMA && marketposition!=-1)

mmc29170 发表于 2010-7-30 11:11

能解释一下什么意思吗?谢谢管理员

欲速不达 发表于 2010-7-30 12:17

[i=s] 本帖最后由 欲速不达 于 2010-7-30 12:30 编辑 [/i]

能够看出如果是某个位置信号反复较多一定是在这里你的两条均线基本处于粘合状态,不停地上下摇摆所致,写交易系统最好把你所依据的技术指标也写成一个技术指标图形,这样出问题后你查找才直观,因为这种写法不存在信号消失的问题。所以有些问题只有看到代码才知道是怎么回事,有些人生怕自己的宝贝被人窥窃了,其实,刚开始写的东西基本都很简单,都无法用于实战盈利的,一个系统都必须经过上千次的修改完善验证才适合实战,我们的代码都差不多有上千行语句,你说这中间经过了多少思路的调整才成形,这些我们都是跟你们现在一样一路走过来的。

mmc29170 发表于 2010-7-30 12:52

我有相同指标的指标图形,从图上看那条AMA线在起点不够平滑,过于曲折,自己不知道什么原因,请高手指点指点

欲速不达 发表于 2010-7-30 14:36

没有一个指标能够把我们所有理想的点位都平滑到的,只能是大多数过滤到就可以了,你说的那个问题没办法。实际上你所运用的那个平滑均线我刚接触的时候也研究过,结构通过几十种方案模型的测试至少我未找到用这条均线能够达到我所满意的效果。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.