Three Line Break - TLB.afl
上传用户:shiqiang
上传日期:2009-06-12
资源大小:1289k
文件大小:2k
源码类别:

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    Three Line Break - TLB
  4. //  Author/Uploader: Laurent 
  5. //  E-mail:          
  6. //  Date/Time Added: 2005-08-18 16:18:00
  7. //  Origin:          
  8. //  Keywords:        Three line break TLB 3lb 3-lb
  9. //  Level:           medium
  10. //  Flags:           indicator
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=550
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=550
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  same family as Kagi and Renko.
  17. //
  18. //------------------------------------------------------------------------------
  19. // Three Line Break or TLB
  20. // 3 line Break  Chart
  21. // Laurent 14 Aug 2005 ver 1
  22. // Custom Indicator, date axis does not apply
  23. // i compare my TLB chart with broker and another software
  24. // visual result in almost the same, but the 3 have small difference
  25.  SetBarsRequired(10000,10000);
  26. // initialize first element
  27. NumBar = 0;
  28. LastHigh=Close[1];
  29. LastLow=Close[1];
  30. LastStartHigh=Close[1];
  31. LastStartLow=Close[1];
  32. // Loop to produce the TLB values 
  33. for( i=1; i<BarCount-1; i++ )
  34. {
  35. if (numbar > 3 )
  36. {
  37. M1=Max(TLBCB[numbar],TLBCE[numbar]);
  38. M2=Max(TLBCB[numbar-1],TLBCE[numbar-1]);
  39. M3=Max(TLBCB[numbar-2],TLBCE[numbar-2]);
  40. m4=Max(m1,m2);
  41. LastHigh=Max(m4,m3);
  42. M1=Min(TLBCB[numbar],TLBCE[numbar]);
  43. M2=Min(TLBCB[numbar-1],TLBCE[numbar-1]);
  44. M3=Min(TLBCB[numbar-2],TLBCE[numbar-2]);
  45. m4=Min(m1,m2);
  46. LastLow=Min(m4,m3);
  47. }
  48. if( Close[i]> Lasthigh)
  49. {
  50. numbar++;
  51. TLBCB[numbar]=LastStartHigh; // TLBCB Three Line Break Chart Begin (of bar)
  52. TLBCE[numbar]=Close[i]; // TLBCB Three Line Break Chart End (of bar)
  53. LastStartlow=LastHigh;
  54. LastHigh=Close[i];
  55. LastStartHigh=Close[i];
  56. }
  57. if( Close[i]< LastLow)
  58. {
  59. numbar++;
  60. TLBCB[numbar]=LastStartLow;
  61. TLBCE[numbar]=Close[i];
  62. LastStartHigh=LastStartLow;
  63. Lastlow=Close[i];
  64. LastStartlow=Close[i];
  65. }
  66. } // for
  67. // move the chart to right end of chart space, ie last brick on last bar position
  68. delta =  BarCount-1 - numbar;
  69. TLBCB = Ref( TLBCB, -delta );
  70. TLBCE = Ref( TLBCE, -delta );
  71. rO = TLBCB;
  72. rC = TLBCE;
  73. rH = Max(rC,rO);
  74. rL = Min(rC,rO);
  75. // plot chart
  76. PlotOHLC( rO, rH, rL, rC, "TLB" , colorBlack, styleCandle);
  77. GraphXSpace=1;
  78. Title = Name() + " - {{INTERVAL}} {{DATE}} - TLB Chart : ";