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

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    Chandelier Exit
  4. //  Author/Uploader: Jarod Marshall 
  5. //  E-mail:          riot_starta@hotmail.com
  6. //  Date/Time Added: 2006-02-02 07:43:01
  7. //  Origin:          
  8. //  Keywords:        Chandelier Exit Stop Loss
  9. //  Level:           semi-advanced
  10. //  Flags:           system,indicator
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=583
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=583
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  These two forms of the same indicator are designed to act as the Chandelier
  17. //  Exit stop loss as described by Barbara Rockefeller in "Technical Analysis
  18. //  for Dummies", and is written especially for use with AmiBroker. She
  19. //  describes the Chandelier exit as a dataset of "the highest high or the
  20. //  highest close SINCE YOUR ENTRY." To allow the Chandelier exit to stop you
  21. //  out gives you a couple of average-true-ranges (ATRs) from the best price
  22. //  the stock has reached SINCE YOUR ENTRY.
  23. //
  24. //  Only *you* know when your trading rules will dictate that you enter the
  25. //  trade, and so my Chandelier Exit Preview here allows you to preview the
  26. //  Chandelier exit series by clicking on the bar that AmiBroker’s
  27. //  back-test/optimize says you should buy on. If your RSI says
  28. //  “buy” on the 1st of June, simply overlay my Chandelier
  29. //  Exit formula onto your price data, and click on the bar corresponding to
  30. //  the 1st of June. The three series named "Chand..." will change each time
  31. //  you click a different bar. Thus when you click the 1st of June bar, you get
  32. //  a Chandelier Exit stop loss especially designed for buying that stock on
  33. //  the 1st of June. The second formula, the Chandelier Exit, is designed to
  34. //  fit into your automated AmiBroker trading formulae.
  35. //
  36. //------------------------------------------------------------------------------
  37. _SECTION_BEGIN("Chandelier Exit Preview");
  38. YourHold = BarIndex() - SelectedValue(BarIndex()); //How many bars between the selected bar and each bar following
  39. Multiple = Param("Multiple", 3, 1, 10, 1); //How many ATR抯 to be allowed below the highest high since selected bar
  40. ATRPeriods = Param("ATR Periods", 22, 1, 50, 1); //How many periods to use for the ATR
  41. Graph1 = HHV(Close,YourHold) - (Multiple * ATR(ATRPeriods)); //Chandelier exit line from highest close
  42. Graph2 = HHV(High, YourHold) - (Multiple * ATR(ATRPeriods)); //Chandelier exit line from highest high
  43. Graph3 = LLV(Low, YourHold) + (Multiple * ATR(ATRPeriods)); //Chanderlier exit from lowest low (used when going short)
  44. Plot(Graph1, "ChandClose", ParamColor( "ChandClose Color", colorCycle ), ParamStyle("ChandClose Style")  );
  45. Plot(Graph2, "ChandHigh", ParamColor( "ChandHigh Color", colorCycle ), ParamStyle("ChandHigh Style")  );
  46. Plot(Graph3, "ChandLow", ParamColor( "ChandLow Color", colorCycle ), ParamStyle("ChandLow Style")  );
  47. _SECTION_END();
  48. _SECTION_BEGIN("Chandelier Exit");
  49. YourHold = BarIndex() - ValueWhen(<your "buy" criterion>, BarIndex(), 1);//Replace <...> with your 'buy' formula
  50. Multiple = Param("Multiple", 3, 1, 10, 1); //How many ATR抯 to be allowed below the highest high since latest "buy" bar
  51. ATRPeriods = Param("ATR Periods", 22, 1, 50, 1); //How many periods to use for the ATR
  52. Graph1 = HHV(Close,YourHold) - (Multiple * ATR(ATRPeriods)); //Chandelier exit line from highest close
  53. Graph2 = HHV(High, YourHold) - (Multiple * ATR(ATRPeriods)); //Chandelier exit line from highest high
  54. Graph3 = LLV(Low, YourHold) + (Multiple * ATR(ATRPeriods)); //Chanderlier exit from lowest low (used when going short)
  55. Plot(Graph1, "ChandClose", ParamColor( "ChandClose Color", colorCycle ), ParamStyle("ChandClose Style")  );
  56. Plot(Graph2, "ChandHigh", ParamColor( "ChandHigh Color", colorCycle ), ParamStyle("ChandHigh Style")  );
  57. Plot(Graph3, "ChandLow", ParamColor( "ChandLow Color", colorCycle ), ParamStyle("ChandLow Style")  );
  58. _SECTION_END();
  59. Buy = <your "buy" criterion>;
  60. Sell = <your "sell" criterion> OR Cross(Graph1, Close); //Use the appropriate Graph1, Graph2 or Graph3 for whichever Chandelier exit you wish
  61. Short = Sell;
  62. Cover = Buy;
  63. _SECTION_END();
  64. /* These two forms of the same indicator are designed to act as the Chandelier Exit stop loss as described by Barbara Rockefeller in 
  65. "Technical Analysis for Dummies", and is written especially for use with AmiBroker. She describes the Chandelier exit as a dataset of 
  66. "the highest high or the highest close SINCE YOUR ENTRY." To allow the Chandelier exit to stop you out gives you a couple of 
  67. average-true-ranges (ATRs) from the best price the stock has reached SINCE YOUR ENTRY.
  68. Only *you* know when your trading rules will dictate that you enter the trade, and so my Chandelier Exit Preview here allows you to preview 
  69. the Chandelier exit series by clicking on the bar that AmiBroker抯 back-test/optimize says you should buy on. If your RSI says 揵uy