查看: 108|回复: 1

咨询一下,该如何表达这个逻辑??? [复制链接]

Rank: 1

精华
0
UID
265532
积分
20
帖子
11
主题
9
阅读权限
10
注册时间
2018-5-16
最后登录
2019-2-15
发表于 7 天前 |显示全部楼层
Params
        Numeric FastLength(15);
        Numeric SlowLength(700);
Vars
        NumericSeries m1;
        NumericSeries m2;

    NumericSeries kcflag;
       
        BoolSeries bup;
        BoolSeries bdown;
        Numeric mv0;
       
        Numeric mv1;
       
Begin
        m1 = AverageFC(Close,FastLength);
        m2 = AverageFC(Close,SlowLength);

        PlotNumeric("MA1",m1);
        PlotNumeric("MA2",m2);               
       
        // 集合竞价和小节休息过滤
        If(!CallAuctionFilter()) Return;
       
        mv0= NthCon( m1>m2 && m1[0]>m1[1] ,1);
        mv1= NthCon( m1<m2 && m1[0]<m1[1] ,1);
       
        bup= m1>m2 && m1[0]>m1[1];
        bdown= m1<m2 && m1[0]<m1[1];
       
       
        kcflag=IIF(mv0<mv1,1,-1);
       

         
        If(MarketPosition <>1 && kcflag!=1 && bup[1]==True )
        {
                Buy(0,Open);
                kcflag=1;
        }
       
        If(MarketPosition <>-1 && kcflag!=-1 && bdown[1]==True )
        {
                SellShort(0,Open);
                kcflag=-1;
        }

End

源码如上, 我想设置一个开仓标识kcflag,  =1 多单 =-1 空单,当我手动平仓后,不再开仓。

但是按上面的代码,  直接就不开仓 ,搞不清楚是怎么回事???   求解

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
24170
帖子
10376
主题
37
阅读权限
200
注册时间
2007-7-20
最后登录
2019-2-18
发表于 4 天前 |显示全部楼层
信号指令的公式里,没法识别你手工的平仓条件,从而得到该标识的赋值 。
如果在手工平仓后就不再开仓了的这个需求,建议您在手工平仓后,顺便人工处理一下将该策略的自动交易关闭,即可。

使用道具 举报

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

bottom

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

GMT+8, 2019-2-18 16:51

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部