liuzhang1974 发表于 2020-12-2 20:43:03

信号闪现,是什么原因老师回测非常好

Params
Numeric ceilingAmt(30);
     Numeric floorAmt(60);
     Numeric bolBandTrig(2);
   
Vars
     Numeric lookBackDays(20);         
     Numeric todayVolatility(0);
     Numeric yesterDayVolatility(0);
     Numeric deltaVolatility(0);
     NumericSeries buyPoint(0);
     NumericSeries sellPoint(0);
     NumericSeries longLiqPoint(0);
     NumericSeries shortLiqPoint(0);
     Numeric upBand(0);
     Numeric dnBand(0);
     Numeric MidLine(0);
     Numeric Band(0);
Begin
     todayVolatility = StandardDev(Close,30,1);
     yesterDayVolatility = StandardDev(Close,30,1);
     deltaVolatility = (todayVolatility - yesterDayVolatility)/todayVolatility;
     lookBackDays = lookBackDays * (1 + deltaVolatility);
     lookBackDays = Round(lookBackDays,0);
     lookBackDays = Min(lookBackDays,ceilingAmt);
     lookBackDays = Max(lookBackDays,floorAmt);
     MidLine = AverageFC(Close,lookBackDays);
     Band = StandardDev(Close,lookBackDays,bolBandTrig);
     upBand = MidLine + bolBandTrig * Band;
     dnBand = MidLine - bolBandTrig * Band;
     buyPoint = Highest(High,lookBackDays);
     sellPoint = Lowest(Low,lookBackDays);
     longLiqPoint = Average(Close,lookBackDays);
     shortLiqPoint = Average(Close,lookBackDays);

if(Close > upBand)  
{
    If(CrossOver(high,buyPoint))   
   {
      Buy(1,max( buyPoint, Low ));

   }
Commentary("多头触发价:"+Text(buyPoint));

}

if(Close < dnBand)
{

    If(CrossUnder(Low,sellPoint ))
    {
       SellShort(1,min( sellPoint , High ));
    }
Commentary("空头触发价:"+Text(sellPoint));

}
if(MarketPosition == 1)
{  
    If(CrossUnder(Low,longLiqPoint ))
    {
       Sell(1,min( longLiqPoint , High ));
    }
Commentary("多头退出:"+Text(longLiqPoint));
}




if(MarketPosition == -1)

{
    If(CrossOver(high,shortLiqPoint))   
   {
      BuyToCover(1,max( shortLiqPoint, Low ));
   }
Commentary("多头退出:"+Text(shortLiqPoint));

}


End

win5ms 发表于 2021-2-1 09:51:49

用下一k开盘。
页: [1]
查看完整版本: 信号闪现,是什么原因老师回测非常好