2008-8-17 23:39 zzj3145@163.com
斑竹请教了!

我自己学编了个公式,
//------------------------------------------------------------------------
// 简称: jx
// 名称:  均线系统
// 类别: 交易指令
// 类型: 其他
// 输出:
//------------------------------------------------------------------------
Params
Numeric Length1(5 );
Numeric Length2( 10 );
Numeric Length3( 20 );
Numeric Length4( 30 );
Numeric Length5( 60 );
Vars  
NumericSeries ma1;
NumericSeries ma2;
    NumericSeries ma3;
    NumericSeries ma4;
    NumericSeries ma5;

Begin
    ma1=Average(close,length1);
    ma2=Average(close,length2);
    ma3=Average(close,length3);
    ma4=Average(close,length4);
    ma5=Average(close,length5);
    if(CrossOver(ma1,ma2)or(CrossOver(ma2,ma3))or(CrossOver(ma3,ma4))or(CrossOver(ma4,ma5)));
{
  Buy(1,0);
}
    if(close<(ma1-5)or(CrossUnder(ma1,ma2)));
{
     Sell(1,open,True);
}
    if(CrossUnder(ma1,ma5)or(CrossUnder(ma1,ma2))or(CrossUnder(ma1,ma3)));
{
    SellShort(1,0);
}
if(close>(ma1+5)or(CrossOver(ma1,ma2)));
{
    BuyToCover(1,open,True);
}
End

//------------------------------------------------------------------------
// 编译版本 GS2004.06.12
// 用户版本 2008/08/09 07:07
// 版权所有 zzj251819
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
//   每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
      在超级图表中每根K线都出现了四个指令基本上是同一时间开多,平多,开空,平空,你看问题在哪啊?真是烦啊

2008-8-17 23:40 zzj3145@163.com
我真搞不清楚了,在文华中很好,到了TB却搞不懂了!:Q

2008-8-18 09:43 nopain
1、If语句,条件表达式后面不能加,您这么加了,就相当于条件语句没有起作用。
2、您的写法有一个根本的错误,就是用Close计算,并在当前Bar开平仓,这样会导致信号消失。

2008-8-18 09:45 nopain
下面是修改后的代码:
[code]
Params
        Numeric Length1(5 );
        Numeric Length2( 10 );
        Numeric Length3( 20 );
        Numeric Length4( 30 );
        Numeric Length5( 60 );
Vars  
        NumericSeries ma1;
        NumericSeries ma2;
        NumericSeries ma3;
        NumericSeries ma4;
        NumericSeries ma5;
Begin
        ma1=AverageFC(close,length1);
        ma2=AverageFC(close,length2);
        ma3=AverageFC(close,length3);
        ma4=AverageFC(close,length4);
        ma5=AverageFC(close,length5);
        if(CrossOver(ma1,ma2)or(CrossOver(ma2,ma3))or(CrossOver(ma3,ma4))or(CrossOver(ma4,ma5)))
        {
                Buy(1,NextOpen,True);
        }
       
        if(close<(ma1-5)or(CrossUnder(ma1,ma2)));
        {
                 Sell(1,NextOpen,True);
        }
       
        if(CrossUnder(ma1,ma5)or(CrossUnder(ma1,ma2))or(CrossUnder(ma1,ma3)))
        {
                SellShort(1,NextOpen,True);
        }
       
        if(close>(ma1+5)or(CrossOver(ma1,ma2)));
        {
                BuyToCover(1,NextOpen,True);
        }
End
[/code]

2008-8-19 08:25 zzj3145@163.com
谢谢你的回复!:victory:

2008-8-19 16:21 TB自动交易
张主任!我们在 虚拟的网络世界又见面了!:lol :lol

2008-8-22 22:11 zzj3145@163.com
:handshake 感谢鼓励!共同加油!

页: [1]
查看完整版本: 斑竹请教了!


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.