设为首页收藏本站

 找回密码
 注册
查看: 1883|回复: 6
打印 上一主题 下一主题

平仓后,过12个bar后再判断开仓信号。这个代码的问题在哪里 [复制链接]

Rank: 2

精华
0
UID
101678
积分
53
帖子
10
主题
1
阅读权限
30
注册时间
2012-3-1
最后登录
2018-3-26
跳转到指定楼层
1#
发表于 2013-7-3 08:57:27 |只看该作者 |倒序浏览
Params
        Numeric FastLength(12);
        Numeric SlowLength(26);
        Numeric MACDLength(9);
Vars
        NumericSeries MACDValue;
        Numeric AvgMACD;
        Numeric MACDDiff;
Begin
        MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;       
        AvgMACD = XAverage(MACDValue,MACDLength);
       
        if( GetGlobalVar(0)==1 && CurrentBar -GetGlobalVar(1)<12)  //平仓后,过12个bar后再判断开仓信号。
        {
            return;
        }
       
    if( MarketPosition==0)          
        {
            if (CrossOver(MACDValue,AvgMACD))
                {
                   Buy(1,Close);
                }
                if (CrossUnder(MACDValue,AvgMACD))
                {
                   SellShort(1,Close);
                }
        }
         
        if ( MarketPosition==1)
        {
            if (CrossUnder(MACDValue,AvgMACD))
                {
                   sell(1,Close);
                   SetGlobalVar(0,1);
                   SetGlobalVar(1,currentbar);
                }
        }
       
        if ( MarketPosition==-1)
        {
           BuyToCover(1,Close);
           SetGlobalVar(0,1);
           SetGlobalVar(1,currentbar);
        }
End
量化

Rank: 2

精华
0
UID
101678
积分
53
帖子
10
主题
1
阅读权限
30
注册时间
2012-3-1
最后登录
2018-3-26
2#
发表于 2013-7-3 09:42:18 |只看该作者
这么久都没人回复啊?

使用道具 举报

Rank: 2

精华
0
UID
101678
积分
53
帖子
10
主题
1
阅读权限
30
注册时间
2012-3-1
最后登录
2018-3-26
3#
发表于 2013-7-3 10:45:18 |只看该作者
版主在哪里呢?

使用道具 举报

Rank: 4

精华
0
UID
112594
积分
333
帖子
281
主题
8
阅读权限
50
注册时间
2012-9-20
最后登录
2013-12-4
4#
发表于 2013-7-3 11:49:52 |只看该作者
  if ( MarketPosition==-1)
        {
           BuyToCover(1,Close);
           SetGlobalVar(0,1);
           SetGlobalVar(1,currentbar);
        }

这里没写金叉条件吧

试了一下,应该没什么问题

使用道具 举报

Rank: 2

精华
0
UID
101678
积分
53
帖子
10
主题
1
阅读权限
30
注册时间
2012-3-1
最后登录
2018-3-26
5#
发表于 2013-7-3 12:34:28 |只看该作者
sorakiraa 发表于 2013-7-3 11:49
if ( MarketPosition==-1)
        {
           BuyToCover(1,Close);

但是如果你k线周期变一变,整个系统的信号会消失了。

使用道具 举报

Rank: 2

精华
0
UID
101678
积分
53
帖子
10
主题
1
阅读权限
30
注册时间
2012-3-1
最后登录
2018-3-26
6#
发表于 2013-7-3 12:37:43 |只看该作者
Params
        Numeric FastLength(12);
        Numeric SlowLength(26);
        Numeric MACDLength(9);
Vars
        NumericSeries MACDValue;
        Numeric AvgMACD;
        Numeric MACDDiff;
Begin
        MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;       
        AvgMACD = XAverage(MACDValue,MACDLength);
       
        if( GetGlobalVar(0)==1 && CurrentBar -GetGlobalVar(1)<20)  //平仓后,过12个bar后再判断开仓信号。
        {
            return;
        }
       
    if( MarketPosition==0)          
        {
            SetGlobalVar(0,0);
            if (CrossOver(MACDValue,AvgMACD))
                {
                   Buy(1,Close);
                }
                if (CrossUnder(MACDValue,AvgMACD))
                {
                   SellShort(1,Close);
                }
        }
         
        if ( MarketPosition==1)
        {
            if (CrossUnder(MACDValue,AvgMACD))
                {
                   sell(1,Close);
                   SetGlobalVar(0,1);
                   SetGlobalVar(1,currentbar);
                }
        }
       
        if ( MarketPosition==-1)
        {
          if (CrossOver(MACDValue,AvgMACD))
                {
           BuyToCover(1,Close);
           SetGlobalVar(0,1);
           SetGlobalVar(1,currentbar);
           }
        }
End
变换周期后,信号会消失,是不是跟全局变量设置有关呢?

使用道具 举报

Rank: 2

精华
0
UID
101678
积分
53
帖子
10
主题
1
阅读权限
30
注册时间
2012-3-1
最后登录
2018-3-26
7#
发表于 2013-7-3 14:31:00 |只看该作者
版主不积极啊。等了一天了,都没回答。

使用道具 举报

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

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-13 12:55

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部