Chandelier Exit or Advanced Trailing Stop.afl
上传用户:shiqiang
上传日期:2009-06-12
资源大小:1289k
文件大小:4k
源码类别:

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    Chandelier Exit or Advanced Trailing Stop
  4. //  Author/Uploader: Rob Duff 
  5. //  E-mail:          
  6. //  Date/Time Added: 2006-09-27 19:33:33
  7. //  Origin:          Received from another AmiBroker user Mr. Valley.
  8. //  Keywords:        ATR Advanced Trailing Stop Chandelier
  9. //  Level:           medium
  10. //  Flags:           indicator
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=720
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=720
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  Chandelier Exit v2 by Geoff Mulhall
  17. //
  18. //  Modified 1-Feb-2003 to take advantage of Ami 2.5 Param Functionality and to
  19. //  allow for Short Trades as well as Long Trades. The Chandelier Exit is a
  20. //  Volatility based exit. Refer to http://www.traderclub.com/discus/board.html
  21. //  Bulletin 35 Trailing Stops - The Chandelier Exit for more detail. Set
  22. //  Scaling to Automatic, Set Gridlines as follows Level 0 On, Show dates On,
  23. //  Middle On Right Click anywhere in the Chart, Select Parameters to get the
  24. //  Param Dialogue and move the slides to see the effect of changing
  25. //  ATRMultiplier ATRRange & HHVRange.
  26. //
  27. //------------------------------------------------------------------------------
  28. /* Chandelier Exit v2 */
  29. /* by Geoff Mulhall */ 
  30. /* Modified 1-Feb-2003 to take advantage of Ami 2.5 Param Functionality */
  31. /* and to allow for Short Trades as well as Long Trades */
  32. /* The Chandelier Exit is a Volatility based exit. */
  33. /* Refer to http://www.traderclub.com/discus/board.html 
  34. /* Bulletin 35 Trailing Stops - The Chandelier Exit for more detail */
  35. /* Set Scaling to Automatic, Set Gridlines as follows Level 0 On, Show dates On, Middle On */
  36. /* Right Click anywhere in the Chart, Select Parameters to get the Param Dialogue and move the slides to */
  37. /* see the effect of changing ATRMultiplier ATRRange & HHVRange */ 
  38.  
  39. /* Plot the Chart */
  40. //Title = "Chandelier"; 
  41. GraphXSpace = 2;
  42. /* Candle chart */ 
  43. Plot(Close,"Close",1,1);
  44. //Plot(WMA(Close,30),"Close WMA30",4,1);
  45. /* Chandelier Exit */
  46. /* Param( "ATRMultiplier", default, Min, Max, step ); */
  47. ShortLongSwitch = Param( "Sht(0) Lng(1)",1,0,1,1); // Set to 0 for a Short Trade, 1 for a Long Trade
  48. HighCloseSwitch = Param( "C(0) H/L(1)",1,0,1,1); // Set to 0 to hang from the close, 1 for High (Long) or Low (Short)
  49. ATRMultiplier =3.0;// Param( "ATR Mult", 3.0, 1, 4, 0.1);
  50. ATRRange =10; // Param( "ATR Rng", 10, 2, 30, 1);
  51. HHVLLVRange =10;// Param( "HHVLLV Rng", 10, 2, 30, 1);
  52. LongExitHungExHigh = HHV(High - AtrMultiplier * ATR(AtrRange),HHVLLVRange);
  53. LongExitHungExClose = HHV(Close - AtrMultiplier * ATR(AtrRange),HHVLLVRange);
  54. ShortExitHungExLow = LLV(Low + AtrMultiplier * ATR(AtrRange),HHVLLVRange);
  55. ShortExitHungExClose = LLV(Close + AtrMultiplier * ATR(AtrRange),HHVLLVRange);
  56. LongExit = IIf(HighCloseSwitch == 1, LongExitHungExHigh,LongExitHungExClose);
  57. ShortExit = IIf(HighCloseSwitch == 1, ShortExitHungExLow,ShortExitHungExClose);
  58. Exit1 = IIf(ShortLongSwitch == 1, LongExit, ShortExit);
  59. Exit0 = shortExit;
  60. Plot(Exit1,"Chandelier Green",colorBrightGreen,styleLine); 
  61. Plot(Exit0,"Chandelier Red",colorRed,styleLine); 
  62. G0 = Close;
  63. G1 = Exit1;
  64. G2 = Exit0;
  65. Buy = Cross(G0,G1); // OR Cross(G0,G2);
  66. //Cover = Cross(G0,G1); // OR Cross(G0,G2);
  67. Sell = Cross(G2,G0); // OR Cross(G1,G0);
  68. //Short = Sell ; //Cross(G2,G0); // OR Cross(G1,G0);
  69. Short=Sell;
  70. Cover=Buy;
  71. Buy=ExRem(Buy,Sell); Sell=ExRem(Sell,Buy); Short=ExRem(Short,Cover); Cover=ExRem(Cover,Short);
  72. Equity(1);
  73. B1 = (Buy * Close);
  74. S1 = (Sell * Close);
  75. B2= B1>S1;
  76. S2= S1>B1;
  77. Equity(1);
  78. Buy1 = Buy;
  79. Sell1 = Sell;
  80. //////////////////////////////////////
  81. //Plot(B1, "B1",5,6);
  82. PlotShapes( IIf( Sell , shapeSmallDownTriangle/*+ "shapePositonAbove"*/, shapeNone ), colorRed );
  83. PlotShapes( IIf( Buy , shapeSmallUpTriangle/*+ "shapePositonAbove"*/, shapeNone ), colorBrightGreen ); 
  84. Plot(10, /* defines the height of the ribbon in percent of pane width */"",IIf( B2, colorBrightGreen, IIf( S2, colorRed, 0 )), /* choose color*/styleOwnScale|styleArea|styleNoLabel, -0.5, 100 );
  85.