设为首页收藏本站

 找回密码
 注册
查看: 2383|回复: 2

KD震荡交易系统,信号消失,请各位前辈指教 [复制链接]

Rank: 1

精华
0
UID
225427
积分
20
帖子
15
主题
2
阅读权限
10
注册时间
2015-12-20
最后登录
2021-2-6
发表于 2016-5-4 11:19:40 |显示全部楼层
本帖最后由 boluolizhi 于 2016-5-4 11:25 编辑

逻辑:D值大于80,并且趋势判断指标判别为无趋势,开多,持多单,D值小于40或者达到止损点,平多;D值小于20,并且判别为无趋势,开空单,持空单,D值大于60或者达到止损点(ATR止损),平空单
在铁矿5分钟线上,测试周期为2014-01-01到2016.05.03,前边还有信号,后边就没了,资金是1000万,绝对没有赔光的问题,想破脑袋也没想明白这是咋回事,请各位管理员,前辈们给看看,这是咋回事,愁死宝宝了!
  1. Params
  2.         Numeric Length(14);//计算kdj的周期
  3.         Numeric SlowLength(3);
  4.         Numeric SmoothLength(3);
  5.        
  6.         Numeric Length5(6);//震荡判断指标短周期
  7.         Numeric Length6(72); //震荡判断指标长周期
  8.         Numeric Up(100.1);//震荡指标大于此值多头趋势开启
  9.         Numeric Down(99.9); //震荡指标小于此值空头趋势开启
  10.        
  11.         Numeric TrailingATRs(2);
  12.         Numeric TrailingATRsgd(2);//用于看错方向初始止损
  13.         Numeric ATRLength(18);
  14.        
  15.         Numeric kdup(80);//高抛标准
  16.         Numeric kddown(20);//低吸标准
  17.         Numeric kdzyup(40);//低吸止盈
  18.         Numeric kdzydown(60);//高抛止盈
  19. Vars
  20.         NumericSeries HighestValue;//周期内最高价
  21.         NumericSeries LowestValue;//周期内最低价
  22.         NumericSeries KValue;//K值
  23.         NumericSeries Dvalue;//D值
  24.         NumericSeries JValue;//J值
  25.        
  26.         NumericSeries MA5;//震荡指标RAVI的短期均线
  27.         NumericSeries MA6;//震荡指标RAVI的长期均线
  28.         NumericSeries RAVI;
  29.        
  30.         NumericSeries PosHigh(0);
  31.         NumericSeries stopline1;
  32.         NumericSeries PosLow(0);
  33.         NumericSeries ATRVal(0);
  34.         NumericSeries stopline2;
  35.        
  36.        
  37.        
  38. Begin
  39.         If(!CallAuctionFilter())Return;//集合竞价和小节休息过滤
  40.         HighestValue=HighestFC(High,Length);//求14日周期内最高价
  41.         LowestValue=LowestFC(low,Length);//求14日周期内最低价
  42.         KValue=SummationFC(Close-LowestValue,SlowLength)/SummationFC(HighestValue-LowestValue,SlowLength)*100;//求取K值
  43.         Dvalue=AverageFC(KValue,SmoothLength);//计算d值
  44.         JValue=3*KValue-2*Dvalue;//计算J值
  45.          
  46.         //PlotNumeric("Dvalue",Dvalue);
  47.         MA5 = AverageFC(Close,Length5);
  48.         MA6 = AverageFC(Close,Length6);
  49.        
  50.        
  51.         RAVI=(1+(MA5-MA6)/MA6)*100;//震荡判别指标
  52.         //高抛
  53.         If(MarketPosition != -1 && Dvalue[1]>=kdup &&  (RAVI[1]<=Up && RAVI[1]>=Down))//&&  RAVI[1]<=Up && RAVI[1]>=Down
  54.         {
  55.                 SellShort(0,Open);
  56.         }
  57.        
  58.        
  59.        
  60.         If(MarketPosition==-1)
  61.         {
  62.                 If(BarsSinceEntry==0)
  63.                         PosLow=Low;
  64.                 Else If(Low<PosLow[1])
  65.                         PosLow=Low;
  66.                 ATRVal=AvgTrueRange(ATRLength)*TrailingATRs;
  67.                 stopline2=Min(PosLow[1]+ATRVal[1],EntryPrice+ATRVal*TrailingATRsgd);
  68.        
  69.             /*If(Dvalue[1]<=kdzydown)
  70.                 {
  71.                                 BuyToCover(0,Open);
  72.                 }*/
  73.                 If( (Dvalue[1]<=kdzydown) or (BarsSinceEntry!=0 &&  High[1]>=stopline2)  )//( RAVI[1]>Up) Or
  74.                 {
  75.                                 BuyToCover(0,Open);
  76.                 }
  77.                 /*If( RAVI>Up)
  78.                 {
  79.                                 BuyToCover(0,Close);
  80.                 }*/
  81.                  
  82.         }
  83.         //低吸
  84.        
  85.         If(MarketPosition !=1 && Dvalue[1]<=kddown && RAVI[1]<=Up && RAVI[1]>=Down)// && RAVI[1]<=Up && RAVI[1]>=Down
  86.         {
  87.                 Buy(0,Open);
  88.         }
  89.        
  90.        
  91.        
  92.         If(MarketPosition==1)
  93.         {
  94.                 If(BarsSinceEntry==0)
  95.                         PosHigh=High;
  96.                                
  97.                 Else If (High>PosHigh[1])
  98.                         PosHigh=High;
  99.                 ATRVal=AvgTrueRange(ATRLength)*TrailingATRs;
  100.                                
  101.                 stopline1=Max(PosHigh[1]-ATRVal[1],EntryPrice-ATRVal*TrailingATRsgd);
  102.                
  103.                 /*If(Dvalue>=kdzyup)
  104.                 {
  105.                                         Sell(0,Open);
  106.                 }*/
  107.                 If(( Dvalue>=kdzyup)or( BarsSinceEntry!=0 && Low[1]<=stopline1) )//(RAVI[1]<Down)Or
  108.                 {
  109.                                         Sell(0,Open);
  110.                 }
  111.                 /*If(RAVI<Down)
  112.                 {
  113.                                         Sell(0,Close);
  114.                 }*/
  115.                

  116.         }
  117.        
  118.        
  119. End
复制代码
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
发表于 2016-5-4 16:01:33 |显示全部楼层
在最后一信号后的那个跳空的位置是有停板的出现。
而停板价的出现 ,导致了Kvalue的计算 中有除0的情况,从而影响到dvalue也是无效值了,所以之就一直没有能满足的开仓条件 。

使用道具 举报

Rank: 1

精华
0
UID
225427
积分
20
帖子
15
主题
2
阅读权限
10
注册时间
2015-12-20
最后登录
2021-2-6
发表于 2016-5-4 16:47:02 |显示全部楼层
小米 发表于 2016-5-4 16:01
在最后一信号后的那个跳空的位置是有停板的出现。
而停板价的出现 ,导致了Kvalue的计算 中有除0的情况,从 ...

谢谢小米!!!其实之前跟你私聊的时候你提到了这个问题,我笨没搞懂,辛苦啦!

使用道具 举报

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

bottom

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

GMT+8, 2024-4-16 12:15

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部