Position Sizing and Risk Price Graph.afl
上传用户:shiqiang
上传日期:2009-06-12
资源大小:1289k
文件大小:4k
源码类别:

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    Position Sizing and Risk Price Graph
  4. //  Author/Uploader: Tommy Beard 
  5. //  E-mail:          tab321@yahoo.com
  6. //  Date/Time Added: 2004-11-29 02:11:39
  7. //  Origin:          
  8. //  Keywords:        Position Sizing - Price Graph - Commentary
  9. //  Level:           basic
  10. //  Flags:           system,indicator,commentary
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=408
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=408
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  Position Sizing and Risk Price Graph
  17. //
  18. //  The Position Sizing Price Graph Bar allows one to automatically view how
  19. //  many shares should be purchased based upon a 1% Risk Management Rule while
  20. //  using Average True Range as a basis for stop losses. This is covered in Van
  21. //  Tharp's book, "Trade Your Way to Financial Freedom." The formulas work best
  22. //  with even 1000s so it is best to enter the value as 25,000 instead of
  23. //  25,355. And, the magic numbers for stop losses may not be Average True
  24. //  Range times Three. Much of that depends on your holding period. Also, the
  25. //  formula below is set for the conservative risk management of 1% equity loss
  26. //  but that can easily be changed to 2%. The summary of the figures show up in
  27. //  the title of the price graph.
  28. //
  29. //  MyPort = 25000;//Enter Portfolio Value
  30. //
  31. //  MyATR=ATR(14);//Enter ATR Average or use the 14 Day Moving Average of ATR
  32. //
  33. //  MidRange=(H+L)/2;//Figure Used In Title for Middle of Trading Range
  34. //
  35. //  col = IIf( Close > Ref( Close, -1 ), colorGreen, colorRed );
  36. //
  37. //  Plot( Close, "Price", col, styleBar );
  38. //
  39. //  Title = Name() + " " + Date() + " Price: " + C + " Open: " + O + " High: "
  40. //  + H + " Low: " + L + " M:" + MidRange + "" + WriteVal(ROC( Close, 1) ) +
  41. //  "%" + "n" + EncodeColor(colorBlue) + "ATR " + WriteVal (MyATR,format=1.2)
  42. //  + " 3*ATR " + WriteVal (MyATR*3,format=1.2 )+ "n" + "SL " + WriteVal (
  43. //  Close - (MyATR*3),(format=1.2)) + " Risk " + WriteVal (
  44. //  (MyATR*3/Close)*100,format=1.2 ) + " %" + "n" + "Shares " + WriteVal
  45. //  ((MyPort*0.01)/(MyATR*3),(format=1.2))+ "n"+
  46. //  "$"+WriteVal(C*((MyPort*0.01)/(MyATR*3)),(format=1.0))+ " of" +" "+
  47. //  WriteVal ((MyPort)/1000,format=1.0)+"K";
  48. //
  49. //------------------------------------------------------------------------------
  50. //Position Sizing AND Risk Price Graph
  51. //The Position Sizing Price Graph Bar allows one to automatically view how many shares should be purchased based upon a 1% Risk Management Rule while using Average True Range as a basis for stop losses.  This is covered in Van Tharp's book, "Trade Your Way to Financial Freedom."  The formulas work best with even 1000s so it is best to enter the value as 25,000 instead of 25,355.  AND, the magic numbers for stop losses may NOT be Average True Range times Three.  Much of that depends on your holding period.  Also, the formula below is set for the conservative risk management of 1% Equity loss but that can easily be changed to 2%.  The summary of the figures show up in the Title of the price graph.
  52. MyPort = 25000;//Enter Portfolio Value
  53. MyATR=ATR(14);//Enter ATR Average or use the 14 Day Moving Average of ATR 
  54. MidRange=(H+L)/2;//Figure Used In Title for Middle of Trading Range 
  55. col = IIf( Close > Ref( Close, -1 ), colorGreen, colorRed );
  56. Plot( Close, "Price", col, styleBar );
  57. Title = Name() + " " + Date() + " Price: " + C + " Open: " + O + " High: " + H + " Low: " + L + " M:" + MidRange + "" + WriteVal(ROC( Close, 1) ) + "%" + "n" + EncodeColor(colorBlue) + "ATR " + WriteVal (MyATR,format=1.2) + " 3*ATR " + WriteVal (MyATR*3,format=1.2 )+ "n" + "SL " + WriteVal ( Close - (MyATR*3),(format=1.2)) + " Risk " + WriteVal ( (MyATR*3/Close)*100,format=1.2 ) + " %" + "n" + "Shares " + WriteVal ((MyPort*0.01)/(MyATR*3),(format=1.2))+ "n"+ "$"+WriteVal(C*((MyPort*0.01)/(MyATR*3)),(format=1.0))+ " of" +" "+ WriteVal ((MyPort)/1000,format=1.0)+"K";