设为首页收藏本站

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

请高手们看一下,跨周期数据的调用 [复制链接]

Rank: 4

精华
0
UID
5910
积分
323
帖子
36
主题
10
阅读权限
50
注册时间
2009-11-16
最后登录
2010-2-2
跳转到指定楼层
1#
发表于 2009-11-23 14:13:54 |只看该作者 |倒序浏览
我想实现的功能,当日线的DIFF>0,DIFF>DEA和30分钟线的DIFF>0,DIFF>DEA 和5分钟的DIFF>0,DIFF>DEA时发出平空开多指令,否则发出平多开空指令!
下面是我的想法,请各位高手看一看有什么不妥之处!谢谢!
1,先根据NOPAIN老师的多周期共振系统写出 “1分钟转换N分钟的指数平均”
2,在日线上插入“通过文件读写函数实现跨周期数据调用”如下:
Params
        Numeric FastLength(12);
        Numeric SlowLength(26);
        Numeric MACDLength(9);
Vars   
        NumericSeries MACDValue;
        NumericSeries AvgMACD;
        NumericSeries MACDDiff;
   
    Numeric conditon;
        string strkey;
    string strValue;


Begin
        MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength );       
        AvgMACD = XAverage(MACDValue,MACDLength);
        MACDDiff = MACDValue - AvgMACD;
        If(MACDValue > 0 && MACDValue>AvgMACD)
        {
                conditon=1;
        }
        If(MACDValue < 0 && MACDValue<AvgMACD)
    {
                conditon=2;
        }
    strKey = DateToString(Date);
    strValue=Text(conditon);
        SetTBProfileString("MyConditon",strKey,strValue);
End
3,在一分钟线上插入“交易指令”如下:
Params
        Numeric FastLength(12);
        Numeric SlowLength(26);
        Numeric MACDLength(9);
Vars
      
        NumericSeries MACDValue5;
        NumericSeries MACDValue30;
     
      
        Numeric AvgMACD5;
        Numeric AvgMACD30;
   
      
        Numeric MACDDiff5;
        Numeric MACDDiff30;
               
            NumericSeries DayMyConditon;
        StringSeries strKey;
        string strValue;

     
        Bool LongEntryCon;
        Bool ShortEntryCon;
        Bool LongExitCon;
        Bool ShortExitCon;
Begin
      
        
        MACDValue5 = MinsXAverage(5, Close, FastLength ) - MinsXAverage(5, Close, SlowLength );        
        AvgMACD5 = MinsXAverage(5,MACDValue5,MACDLength);
        MACDDiff5 = MACDValue5 - AvgMACD5;
        
               
        MACDValue30 = MinsXAverage(30, Close, FastLength ) - MinsXAverage(30, Close, SlowLength );        
        AvgMACD30 = MinsXAverage(30,MACDValue30,MACDLength);
        MACDDiff30 = MACDValue30 - AvgMACD30;

        If(Date!=Date[1])
        {
                strKey = DateToString(Date[1]);        
        }Else
        {
                strKey = strKey[1];
        }
        
        strValue = GetTBProfileString("MyConditon",strKey);
        If(strValue != InvalidString)
        {
                DayMyConditon = Value(strValue);
        }Else
        {
                DayMyConditon = DayMyConditon[1];
        }
        
                LongEntryCon = DayMyConditon==1 && MACDValue30 > 0 && MACDValue30>AvgMACD30 && MACDValue5> 0 && MACDValue5>AvgMACD5 ;
        ShortEntryCon = DayMyConditon==2 && MACDValue30 < 0 && MACDValue30<AvgMACD30 && MACDValue5< 0 && MACDValue5<AvgMACD5 ;
            
        If (LongEntryCon)
                 {
                         buy(1,close);
                 }
                Else if(ShortEntryCon)     
                 {
                     SellShort(1,close);
                 }   
        
End

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
2#
发表于 2009-11-23 17:07:59 |只看该作者
加上仓位判断,把样本数调大些

使用道具 举报

Rank: 4

精华
0
UID
5910
积分
323
帖子
36
主题
10
阅读权限
50
注册时间
2009-11-16
最后登录
2010-2-2
3#
发表于 2009-11-24 09:03:29 |只看该作者

样本数无法调大到自己期望的值

测试时间只能到2009年9月10日左右,无法调到我期望的值,该怎么办呢?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
4#
发表于 2009-11-24 09:40:13 |只看该作者
商品设置中修改样本数

使用道具 举报

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

bottom

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

GMT+8, 2024-5-5 15:13

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部