设为首页收藏本站

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

用SwingHigh 出现的问题,求教! 写了一个MACD顶背离的测试程序 [复制链接]

Rank: 3Rank: 3

精华
0
UID
288470
积分
126
帖子
63
主题
33
阅读权限
40
注册时间
2020-2-7
最后登录
2021-3-25
跳转到指定楼层
1#
发表于 2020-11-23 00:02:46 |只看该作者 |倒序浏览
本帖最后由 Alex2020 于 2020-12-11 18:32 编辑

写了一个顶背离的程序,, 为了避免出现  SwingHigh 为-1的情况,用了 If(Bofen1>0 && Bofen2>0 && BARbofen1>0 && BARbofen2>0 ) 来控制,
但是,没有起作用,还是不停的开仓.
请见如下简化的程序:


Vars
        Series<Numeric> BFBar1; //第1个波峰发生的bar
        Series<Numeric> BFBar2; //第2个波峰发生的bar
        Series<Numeric>        Bofen1 ; //第一个波峰的值
        Series<Numeric> BARbofen1; //第一个波峰的BAR回溯值
        Series<Numeric>        Bofen2 ; //第2个波峰的值
        Series<Numeric> BARbofen2; //第2个波峰的BAR值回溯

OnBar(ArrayRef<Integer> indexs)
        {

                Bofen1= SwingHigh(1,High,2,Length1); //最近第一个波峰
                BARbofen1= SwingHighBar(1,High,2,Length1); //最近第一个波峰Bar值
                BFBar1=CurrentBar-BARbofen1;  //最近第一个波峰发生时的BAR
               
                Bofen2= SwingHigh(2,High,5,Length1); //最近第2个波峰
                BARbofen2= SwingHighBar(2,High,5,Length1); //最近第2个波峰Bar回溯值
                BFBar2=CurrentBar-BARbofen2;   //最近第二个波峰发生时的BAR
               
                If(Bofen1>0 && Bofen2>0 && BARbofen1>0 && BARbofen2>0 )   //这个条件没有起作用
                {
                  if(Bofen1>Bofen2  && MACDLine[BFBar1]<MACDLine[Bofen2] && MarketPosition ==0)  //顶背离发生,开空仓, 无持仓时
                  {
                         MyEntryPrice=Open;
                         SellShort(Num,MyEntryPrice);              
                         Commentary("顶背离-开空: "+Text(MyEntryPrice));
                         SendOrderThisBar = True; //本条bar开过仓
                  }
                }       
        }       

Rank: 1

精华
0
UID
1062560
积分
3
帖子
3
主题
0
阅读权限
10
注册时间
2021-5-14
最后登录
2021-10-10
2#
发表于 2021-9-30 11:06:54 |只看该作者
SwingHigh 为-1是因为你swinghigh的参数取得不对。把参数调整下。控制开仓的语句你也是不对的

使用道具 举报

Rank: 1

精华
0
UID
1062560
积分
3
帖子
3
主题
0
阅读权限
10
注册时间
2021-5-14
最后登录
2021-10-10
3#
发表于 2021-9-30 13:12:46 |只看该作者
if(Bofen1>Bofen2  && MACDLine[BFBar1]<MACDLine[Bofen2] && MarketPosition ==0)  //顶背离发生,开空仓, 无持仓时,这里用的是回测值,但是你用法貌似错了。MarketPosition<>-1

使用道具 举报

Rank: 1

精华
0
UID
297543
积分
10
帖子
7
主题
3
阅读权限
10
注册时间
2020-11-8
最后登录
2021-9-30
4#
发表于 2021-9-30 21:49:29 |只看该作者
TB策略微信群
加群主微信:northquant

使用道具 举报

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

bottom

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

GMT+8, 2024-5-8 07:05

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部