设为首页收藏本站

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

指标编写遇到困难,求助! [复制链接]

Rank: 4

精华
1
UID
714
积分
581
帖子
126
主题
23
阅读权限
50
注册时间
2007-11-10
最后登录
2015-12-1
跳转到指定楼层
1#
发表于 2008-7-15 15:21:57 |只看该作者 |倒序浏览
麻烦各位大大帮我看看这个指令,目前有2个问题:1、止损并不是按照我设置的4个点就止损;2、做多的时候,价格站上中轨系统可以发出平仓指令,可是做空的时候,价格下穿了中轨也不发出平仓指令。不知道哪里出问题了,请指教!

Params
        Numeric Length (20);
        Numeric Offset (2);
        Numeric Stopdot(4);  //4个点的止损
        Numeric Buylots(1);  //买开仓手数
        Numeric Selllots(1); //卖开仓手数
Vars
        NumericSeries UpLine;                //上轨
        NumericSeries DownLine;        //下轨
        NumericSeries MidLine;                      //中间线
        Numeric Band;

Begin
        MidLine=AverageFC(Close,Length);
        Band=StandardDev(Close,Length,2);
        UpLine=MidLine+Offset*Band;
        DownLine=MidLine-Offset*Band;
        IF (CrossOver(Close,DownLine))  //价格上穿BOLL下轨
        {
                Buy(buylots,Close,False);
                SetStopLoss(1,stopdot,False);
        }Else If (Close>=MidLine&&MarketPosition==1)  //价格站到中轨以上
        {
                Sell(CurrentContracts,close,False);   //清多仓
        }Else If (CrossUnder(Close,UpLine))     //价格下穿BOLL上轨
        {
                SellShort(selllots,Close,False);
                SetStopLoss(1,stopdot,False);
        }Else IF (Close<=MidLine&&MarketPosition==-1)  //价格下到中轨以下
        {
                BuyToCover(CurrentContracts,Close,False);  //清空仓
        }
End


下面是我编译好的公式
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
森林中最不缺的是猎物,对猎人来说最珍贵的是子弹
[fly]人生没有彩排,每一场都是现场直播[/fly]

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
2#
发表于 2008-7-15 15:27:25 |只看该作者
把SetStopLoss放在条件语句外面,可直接放在最后

使用道具 举报

Rank: 4

精华
1
UID
714
积分
581
帖子
126
主题
23
阅读权限
50
注册时间
2007-11-10
最后登录
2015-12-1
3#
发表于 2008-7-15 19:15:26 |只看该作者
继续请教nopain
2、做多的时候,价格站上中轨系统可以发出平仓指令,可是做空的时候,价格下穿了中轨也不发出平仓指令。不知道哪里出问题了?
森林中最不缺的是猎物,对猎人来说最珍贵的是子弹
[fly]人生没有彩排,每一场都是现场直播[/fly]

使用道具 举报

Rank: 4

精华
1
UID
714
积分
581
帖子
126
主题
23
阅读权限
50
注册时间
2007-11-10
最后登录
2015-12-1
4#
发表于 2008-7-15 19:34:19 |只看该作者
我把close改成low就可以了……难道这就是测试和盘中实时测试的差别缘故所在?
close在测试的时候表示每跟K线的收盘价,而盘中代表最新价?
森林中最不缺的是猎物,对猎人来说最珍贵的是子弹
[fly]人生没有彩排,每一场都是现场直播[/fly]

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
5#
发表于 2008-7-16 08:57:15 |只看该作者

BuyToCover(CurrentContracts,Close,False);  //清空仓
修改为:
BuyToCover(-1*CurrentContracts,Close,False);  //清空仓

使用道具 举报

Rank: 4

精华
1
UID
714
积分
581
帖子
126
主题
23
阅读权限
50
注册时间
2007-11-10
最后登录
2015-12-1
6#
发表于 2008-7-16 15:04:57 |只看该作者
原帖由 nopain 于 2008-7-16 08:57 发表

BuyToCover(CurrentContracts,Close,False);  //清空仓
修改为:
BuyToCover(-1*CurrentContracts,Close,False);  //清空仓


原来当时空单的时候,CurrentContracts函数返回的是负值!又学到了
森林中最不缺的是猎物,对猎人来说最珍贵的是子弹
[fly]人生没有彩排,每一场都是现场直播[/fly]

使用道具 举报

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

bottom

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

GMT+8, 2024-5-7 12:33

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部