Indicator Explorer (ZigZag).afl
上传用户:shiqiang
上传日期:2009-06-12
资源大小:1289k
文件大小:3k
源码类别:

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    Indicator Explorer (ZigZag)
  4. //  Author/Uploader: Michael.S.G. 
  5. //  E-mail:          OzFalcon@Bden.org
  6. //  Date/Time Added: 2003-08-05 21:49:32
  7. //  Origin:          
  8. //  Keywords:        visual historical backtesting indicator explorer
  9. //  Level:           medium
  10. //  Flags:           indicator
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=293
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=293
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  This example show how you can "Explore" an indicator,
  17. //
  18. //  This is usefull for displaying the effects of pattern detection functions
  19. //  on Signals.
  20. //
  21. //  A simple example of this, As show by this AFL, Is the ZigZag indicator.
  22. //
  23. //  Use CTRL-R to bring up the Parameters Dialog to Explore.
  24. //
  25. //  <OzFalcon>
  26. //
  27. //------------------------------------------------------------------------------
  28. //MACD POSC cross, By Dennis aka theoldchartreader@yahoo.com
  29. //With Explorer & Zig Filter by OzFalcon@BDen.org <MSG>.
  30. AdjBar = Param("Bar",0,0,BarCount,1);
  31. AdjZ = Param("Zig",10,0,20,.1);
  32. //Select Current Tickers OHLC
  33. CO = Ref(O,-AdjBar);
  34. CH = Ref(H,-AdjBar);
  35. CL = Ref(L,-AdjBar);
  36. CC = Ref(C,-AdjBar);
  37. //Select Foriegn OHLC
  38. "Ticker " + TN = Name() ; // Show Ticker
  39. "Index " + BI = GetBaseIndex(); //BI = BaseIndex String 
  40. FO = Ref(Foreign( BI,"O"),-AdjBar);
  41. FH = Ref(Foreign( BI,"H"),-AdjBar);
  42. FL = Ref(Foreign( BI,"L"),-AdjBar);
  43. FC = Ref(Foreign( BI,"C"),-AdjBar);
  44. //Create Trend
  45. ZAC = Zig( CC, AdjZ );
  46. UTrend = ZAC > Ref(ZAC, -1);
  47. DTrend = ZAC < Ref(ZAC, -1);
  48. //Do Cross (Create Result Arrays)
  49. t1 = OscP( 3, 6 );
  50. Cond1a= Cross (t1,MACD());
  51. Cond1b= MACD()>-1 AND MACD()<0;
  52. Cond1= Cond1a AND Cond1b;
  53. Cond2 = MACD()>Signal()-.5;
  54. Cond3 = Cross(0,t1);
  55. // Select Conditions to Display.
  56. C1 = Ref(Cond1,-AdjBar);
  57. C2 = Ref(Cond2,-AdjBar);
  58. C3 = Ref(Cond3,-AdjBar);
  59. //Plot Data
  60. Color = IIf(CO > CC, colorBlack, colorRed);
  61. PlotOHLC( CO,CH,CL,CC, "Price", color, styleCandle );//Plot Selected Ticker.
  62. PlotOHLC( FO,FH,FL,FC, BI, colorLightGrey);//Plot Sector Index.
  63. ZColor = IIf(UTrend, colorAqua, colorYellow);
  64. Plot( ZAC, "Zig", ZColor, 3); //Plot ZigZag Trend.
  65. //Show Buy/Sell Arrows.
  66. Buy = C1 AND C2 AND UTrend;
  67. Sell= C3 AND DTrend;
  68. PlotShapes( shapeDownArrow * Sell, colorRed );
  69. PlotShapes( shapeUpArrow * Buy, colorGreen );
  70. // Iterpretation
  71. "Be Aware of ZigZag Limitations.";
  72. "Use CTRL-R to Explore Signals/Zig.";