设为首页收藏本站

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

请问这个系统错在哪里 [复制链接]

Rank: 5Rank: 5

精华
0
UID
13821
积分
672
帖子
36
主题
18
阅读权限
60
注册时间
2010-7-6
最后登录
2013-1-6
跳转到指定楼层
1#
发表于 2010-7-19 00:59:14 |只看该作者 |倒序浏览
系统思路
上穿均价线开多,下穿均价线开空,40日均线止损.提示crossover部分饮用了序列变量


Vars
        Numeric AmountCum;                                // 当日以来成交总额的合计值
        Numeric VolCum;                                // 当日以来成交量的合计值
        NumericSeries AvgSettlePrice;        // 当日均价,因为均价是交易所公布的,只有分时图
                                                                        // 里面才有均价数据,在K线图只能近似计算出均价
        NumericSeries HighestClose(0);// 当日以来的收盘价的最大值
        NumericSeries LowestClose(0);        // 当日以来的收盘价的最小值
        Numeric ma1;
        Numeric ma40;
        Numeric ASPLine;
                                                               
Begin
        AmountCum = Cum(Close*Vol);
        VolCum = Cum(Vol);
        AvgSettlePrice = AmountCum/VolCum;
        ma1=AverageFC(high,1);
        ma40=AverageFC(Close,40);
        ASPLine=AvgSettlePrice[1];
       
        If(CurrentBar == 0)
        {
                HighestClose = Close;
                LowestClose = Close;
        }Else
        {
                HighestClose = Max(Close,HighestClose[1]);
                LowestClose = Min(Close,LowestClose[1]);
        }
       
        If(Time > 0.091000 && Time < 0.145500) // 时间在9:10分之后,14:50之前
        {
                If(MarketPosition == 0)
                {
                        If(crossover(ma1,ASPLine)) // 开多仓
                        {
                                Buy(1,High);
                                Return;
                        }
                       
                        If(crossover(ASPLine,ma1)) // 开空仓
                        {
                                SellShort(1,Low);
                                Return;
                        }
                }
               
                If(MarketPosition == 1 And Close < ma40) // 多仓的止损
                {
                        Sell(0,Low);
                }
               
                If(MarketPosition == -1 And Close > ma40) // 空仓的止损
                {
                        BuyToCover(0,High);
                }
        }
       
        If(Time > 0.145500) // 时间在14:55之后
        {
                If(MarketPosition == 1)
                {
                        Sell(0,Low);
                }Else If(MarketPosition == -1)
                {
                        BuyToCover(0,high);
                }
        }
End

Rank: 5Rank: 5

精华
0
UID
4732
积分
1181
帖子
62
主题
7
阅读权限
60
注册时间
2009-6-27
最后登录
2016-1-18
2#
发表于 2010-7-19 19:12:15 |只看该作者
使用CrossOverHor,CrossUnderHor

使用道具 举报

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

bottom

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

GMT+8, 2024-5-10 20:27

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部