返回列表 发帖

请斑竹帮忙看看下面的代码问题在哪里,多谢!

这是文华的代码:
参数:
n1:26

TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:=MA(TR,20);
C<=O-REF(ATR,1),sk;
CROSS(C,MA(C,N1)),bp;
C>=O+REF(ATR,1),bk;
CROSS(MA(C,N1),C),sp;

下面是我改写后的tb代码,但出现的信号不太一样,测试结果相差很大,请斑竹帮忙,先行谢过!
--------------------------------------
Params
Numeric man(26);//平仓均线参数
Numeric lots(1);//下单手数

Vars
NumericSeries ma26;//平仓均线
NumericSeries atr20;//平均波幅
NumericSeries Tempatr20;//平均波幅
Begin
        ma26=Average(c,man);
        if(MarketPosition==0)//如果当前没有持仓
                {
                        atr20=AvgTrueRange(20);
                        tempatr20=atr20[1];//前一天的真实波幅
                        if(close>=Open+tempatr20) Buy(lots,close);
                        if(close<=open-tempatr20) SellShort(lots,close);
                }
        if(MarketPosition==-1)//如果当前有持空单
                {
                        if( CrossOverHor(c,ma26)) BuyToCover(lots,close);
                }
        if(MarketPosition==1)//如果当前有持多单
                {
                        if (CrossUnderHor(c,ma26)) sell(lots,close);
            
            }  
End

[ 本帖最后由 文静的狮子 于 2010-7-21 13:29 编辑 ]

if(close>=(Open+tempatr20)) Buy(lots,close);
                        if(close<=(open-tempatr20)) SellShort(lots,close);

TOP

文华和tb是两个软件,k线时间的节点不一样,bar数据不一样,导致测试结果也会是不一样的

TOP

未命名.JPG
2010-7-21 14:06


上面这张图是开平仓信号,光标所在的那个bar,开盘到收盘的波动没有达到atr(20)的幅度,却出现了开仓的信号,还同时出现了开多和平多,是哪里代码出了问题?

还有一点:白色的线是26日均线,按代码的意思,突破26日均线平仓,应该是在光标左边第四根k线平仓的,实际却向右移了三根······

TOP

图上光标所指的bar,Open+tempatr20=21335,而收盘价是21415,所以满足开多仓条件
前一根ma26和close的值分别为21446和21580,图上光标所指的bar的ma26的值为21419,close为21415,
前一根ma26小于close,而光标那根bar的ma26大于close,所以是向下突破了的,平仓条件也是满足

TOP

可能是我意思没表达明白,简单画了张图,您看一下:

未命名.JPG
2010-7-21 16:16

TOP

原帖由 lh948 于 2010-7-21 15:04 发表
图上光标所指的bar,Open+tempatr20=21335,而收盘价是21415,所以满足开多仓条件
前一根ma26和close的值分别为21446和21580,图上光标所指的bar的ma26的值为21419,close为21415,
前一根ma26小于close,而光标那根bar的ma26大于c ...


21335是开盘价,再加上前一天的atr(20),远远高于收盘价啊

TOP

你用commentray输出那几个变量,看一下,公式不会出错,只有可能会写错

TOP

好,我看看吧,我知道一定是代码和思路的问题,只是暂时没找到原因!

TOP

返回列表