分享

一种过滤震荡的方法

 禁忌石 2014-09-21
随便写写,逻辑有欠缺!
        UpBand= highest(H[1],Length); 
        DnBand= Lowest(L[1],Length); 
        UpFlag=  Highest(H[1]-Upband[1],Length*2)>=0 ;
        DnFlag=  Lowest(L[1]-DnBand[1],Length*2)<=0 ;
        当!Dnflag时才能开多,!UpFlag时才能开空。

QQ截图20140905153645.gif


  1. //IF_5min

  2. Params
  3. Numeric Length(20);
  4. Numeric Lots(1);
  5. Vars


  6. NumericSeries UpBand; 
  7. NumericSeries DnBand;
  8. NumericSeries MidBand;
  9. bool UpFlag; 
  10. bool DnFlag;

  11. Begin


  12. UpBand= highest(H[1],Length); 
  13. DnBand= Lowest(L[1],Length);  

  14. Commentary("length="+Text(length));

  15. MidBand=(UpBand+DNBand)/2;

  16. PlotNumeric("UpBand",Upband);
  17. PlotNumeric("DnBand",Dnband);
  18. PlotNumeric("Midband",MidBand);


  19. UpFlag=  Highest(H[1]-Upband[1],Length*2)>=0 ;
  20. DnFlag=  Lowest(L[1]-DnBand[1],Length*2)<=0 ; 

  21. //开仓--不反手 
  22. IF( MarketPosition==0)
  23. {
  24. IF(  H>=UpBand && !DnFlag   )
  25. {
  26. Buy(Lots,Max(O,UpBand));
  27. return;

  28. }
  29. IF( L<= DnBand && !UpFlag )
  30. {

  31. SellShort(Lots,Min(O,DnBand));
  32. return;
  33. }
  34. }

  35. //中轨平仓
  36. IF(MarketPosition>0 && BarsSinceEntry>=1  && L<=Midband  )
  37. {        
  38. Sell(0,Min(O,MidBand));
  39. }   

  40. IF(MarketPosition<0 && BarsSinceEntry>=1 && H>=MidBand  )
  41. {  
  42.     BuyToCover(0,Max(O,MidBand));
  43. }

  44. End
复制代码

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多