您现在的位置:程序化交易>> 期货公式>> 交易开拓者(TB)>> 开拓者知识>>正文内容

帮忙看看 [开拓者 TB]

  • 咨询内容: 各位大神 我小白一个,今天试用了一下,但是发现我的交易数量一直是1,参数调了一些也没用,策略如下,请问一下各位是为什么


    Params

           
            Numeric maxTradeTimes(1);
            Numeric K1(7);               //突破幅度百分比
            Numeric K2(12.5);            //突破幅度百分比
            Numeric stoploss(80);        //止损点数
            Numeric huaDian(2);
           
            Numeric lenth(30);           //均线长度
            Numeric lenth2(20);          //均线长度
            Numeric lenlong(40);         //均线长度
    Vars
            Numeric beginTradeTime(10.40);
            Numeric lastTradeTime(14.30);
            Numeric closetime(15.10);
            NumericSeries MinPoint;
            NumericSeries myAvgEntryPrice;
            NumericSeries Upperprice;
            NumericSeries lowerprice;
            Numeric myprice;
            NumericSeries  count;
            Numeric c1;
            Numeric todayOpen;
            NumericSeries ema1;
            NumericSeries ema2;
            NumericSeries ema3;
            BoolSeries b1;
            BoolSeries s1;
            Numericseries malong;
            Numeric slip;
           
    Begin
            //if(Date>20130914) return;
            slip=huaDian * MinMove * PriceScale;  //滑点设置
           
           
            MinPoint = MinMove*PriceScale;
            myAvgEntryPrice=AvgEntryPrice;

            if(date!=date[1])
            {
           
                    count=0;
                    b1 = False;
                    s1 = False;
            }

            ema1 = xAverage(xAverage(xAverage(close,lenth),lenth),lenth);
            ema2 = (ema1 - ema1[1])*100;
            ema3 = xAverage(ema2,lenth2);
            b1 = CrossOver(ema2,ema3);     //均线上穿,止盈信号
            s1 = CrossUnder(ema2,ema3);    //均线下穿,止盈信号
           
            c1 = CloseD(1);
            todayopen =  OpenD(0);
            malong = AverageFC(close,lenlong);    //长均线识别趋势,在均线之上做多容易,在均线之下做空容易
           
            if(todayopen>malong[1])
            {       
                    upperprice = (c1)*(1+k1*0.001);
                    lowerprice = (c1)*(1-k2*0.001);
            }
            Else
            {       
                    upperprice = (c1)*(1+k2*0.001);
                    lowerprice = (c1)*(1-k1*0.001);
            }
           
            //----多头入场
            if(MarketPosition!=1 and high>upperprice&&time>=beginTradeTime/100 && time<=lastTradeTime/100 &&count<maxTradeTimes )
            {
           
                    buy(1,Max(Open,upperprice)+slip);
                    count=count+1;
                    return;
            }

            //----空头入场
            if(marketposition!=-1 and low<lowerprice&&time>=beginTradeTime/100 && time<=lastTradeTime/100 &&count<maxTradeTimes )
            {
           
                    sellshort(1,Min(Open,lowerprice)+slip);
                    count=count+1;
                    Return ;
            }

           
            //----平多
            if(marketposition==1)
            {
                    //----固定止损
                    if(low<myAvgEntryPrice - stoploss*minpoint)
                    {
                            myprice = myAvgEntryPrice - stoploss*minpoint;
                            sell(1,Min(Open,myprice)-slip);
                            return;
           
                    }
                   
                    //----指标形态出场
                    Else
                    if(s1[1])
                    {
                            Sell(1,Open-slip);
                            return;
                    }
      
       
            }
           
            //----平空
            else if(marketposition==-1)
            {
                    //----固定止损
                    if(high>myAvgEntryPrice + stoploss*minpoint)
                    {
                            myprice = myAvgEntryPrice + stoploss*minpoint;
                            BuyToCover(1,Max(Open,myprice)+slip);
                            return;
           
                    }

                    //----指标形态出场
                    Else
                    if(b1[1])
                    {
                            BuyToCover(1,Open+slip);
                            return;
           
                    }
             
            }
           
           
            //----收盘平仓
            if(time>=closetime/100)
            {
                    Sell(0,Open-slip);
                    buytocover(0,Open+slip);
            }
      
      

    End

     

     来源:CXH99.COM

  • TB技术人员: 上述代码里的buy,sellshort的开仓指令里都写死了开仓手数是1的呀。
    要调参数是调这里交易手数这个。

     

  • TB客服:
    小米 发表于 2018-4-25 15:40
    上述代码里的buy,sellshort的开仓指令里都写死了开仓手数是1的呀。
    要调参数是调这里交易手数这个。 ...

    谢谢,我后面是把1,整个都去掉了就好了
    但是出现的问题是在小时或者半小时的频率上就出现交易点
    在天或者分钟的频率下就没有交易点,应该怎么样改策略会比较好,

     

  • 网友回复:
    raoziyi 发表于 2018-4-26 11:07
    谢谢,我后面是把1,整个都去掉了就好了
    但是出现的问题是在小时或者半小时的频率上就出现交易点
    在天或 ...

    这个没有标准答案。
    一般是由交易者自己的思路来指导进行策略的编写,此策略用于什么周期上应该是在编程前整理交易思路时就已经考虑好的问题。

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容