开拓者期货期权程序化系统交易论坛

标题: 不知道对应交易逻辑怎么修改,请大神帮忙 [打印本页]

作者: Rinvay    时间: 2020-11-25 16:06:03     标题: 不知道对应交易逻辑怎么修改,请大神帮忙

//------------------------------------------------------------------------
// 简称: Five_MA_bonding
// 名称: 五线粘合交易
//                1、设置5、10、20、30、60五根均线;
//                2、当五线同时在上一根K线的开盘价和收盘价之间;
//                3、如果上一根K线是阳线,则此K线的开盘价就买入;如果是阴线,则此K线的开盘价就卖出。
//------------------------------------------------------------------------
Params
        //设置均线周期参数
        Numeric Length1(5);
        Numeric Length2(10);
        Numeric Length3(20);
        Numeric Length4(30);
        Numeric Length5(60);
      
Vars
        //申明均线变量
        Series<Numeric> FiveMA;
        Series<Numeric> TenMA;
        Series<Numeric> twentyMA;
        Series<Numeric> thirtyMA;
        Series<Numeric> sixtyMA;
        /*
        Numeric FiveMA;
        Numeric TenMA;
        Numeric twentyMA;
        Numeric thirtyMA;
        Numeric sixtyMA;
        */

Events
        //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
        OnBar(ArrayRef<Integer> indexs)
        {
                FiveMA = Average(Close,Length1);
                TenMA = Average(Close,Length2);
                twentyMA = Average(Close,Length3);
                thirtyMA = Average(Close,Length4);
                sixtyMA = Average(Close,Length5);
               
                //图表上画出五线
                PlotNumeric("MA1",FiveMA);
                PlotNumeric("MA2",TenMA);
                PlotNumeric("MA3",twentyMA);
                PlotNumeric("MA4",thirtyMA);
                PlotNumeric("MA5",sixtyMA);
               
                //当五线满足在开盘价与收盘价之间
                If(Open[1] > FiveMA And FiveMA > Close[1])
                {
                        If(Open[1] > TenMA And TenMA > Close[1])
                        {
                                If(Open[1] > twentyMA And twentyMA > Close[1])
                                {
                                        If(Open[1] > thirtyMA And thirtyMA > Close[1])
                                        {
                                                If(Open[1] > sixtyMA And sixtyMA > Close[1])
                                                {
                                                        If(Close[1] > Open[1])        //如果是阳线
                                                        {
                                                                Buy(1,Open);
                                                        }
                                                        Else If(Close[1] < Open[1])        //如果是阴线
                                                        {
                                                                SellShort(1,Open);
                                                        }
                                                }
                                        }
                                }                       
                        }
                }
               
               
        }


//测试结果和我想的这个交易逻辑完全不同,不知道怎么修改,大神帮我看一看啊,怎么修改好?新手勿喷


作者: qsb588986    时间: 2020-11-25 22:56:06

本帖最后由 qsb588986 于 2020-11-25 22:57 编辑

看不懂!要注释!特别是五线在开盘价与收盘价之间有错。




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2