Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.17 KB | None | 0 0
  1. //||===================================================================================||
  2. //|| K-Trend - V.1.0 - by Karthikmarar ||
  3. //|| www.karthikmarar.blogspot.com ||
  4. //|| Public release for personal use only. ||
  5. //|| Please do not commercialize this indicator in its original or modified form ||
  6. //||===================================================================================||
  7.  
  8. _SECTION_BEGIN("KTrend");
  9. SetChartOptions(0,chartShowArrows|chartShowDates);
  10. _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
  11.  
  12. T1 = Param("Momentum Period",5,0,100,1);
  13. M1s=Param("1st MA Period short",13,0,30,1);
  14. m1l=Param("1st MA Period long",40,0,100,1);
  15. M2=Param("2nd MA Period",5,0,100,1);
  16. UL= Param("Upper Limit",40,0,100,1);
  17. LL= Param("Lower Limit",-40,-100,100,1);
  18. Type = ParamList("MA Type", "EMA|AMA");
  19. j= C-Ref(C,-T1);
  20. // Ema based calculation
  21. n=EMA(EMA(j,M1s),M2);
  22. d=EMA(EMA( abs(j) ,M1s),M2);
  23. KT1=100*n/d;
  24. kt1s=EMA(kt1,6);
  25. //Ama based calculation
  26. fast = 2/(2+1);
  27. slow = 2/(30+1);
  28. dir=abs(Close-Ref(Close,-10));
  29. vol=Sum(abs(Close-Ref(Close,-1)),10);
  30. ER=dir/vol;
  31. sc =( ER*(fast-slow)+slow)^2;
  32. q1= AMA(j,sc);
  33. q2=AMA(abs(j),sc);
  34. kt2= 100*(EMA(q1,m2)/EMA(q2,m2));
  35. kt2s=EMA(kt2,6);
  36. GraphXSpace=20;
  37. // MA Selection
  38. kt=IIf(Type=="EMA",kt1,kt2);
  39. kts=IIf(Type=="EMA",kt1s,kt2s);
  40. ktcolor=IIf(KT<-80,colorDarkRed,IIf(KT<-60,colorRed,IIf(KT<-40,colorLightOrange,IIf(KT<0,colorPink,
  41. IIf(KT<40,colorLightBlue,IIf(KT<60,colorPaleGreen,IIf(KT<80,colorLime,colorGreen)))))));
  42. Plot( kt, "KTrend", ktcolor, styleHistogram | styleThick );
  43. Plot( kts, "Signal line.", IIf(kts>kt,colorOrange,colorTurquoise), 512 | styleThick );
  44. Plot( kts+1, "", IIf(kts>kt,colorOrange,colorTurquoise), 512 | styleThick );
  45. PlotGrid(UL,colorBlue);
  46. PlotGrid(LL,colorBlue);
  47. //Long term ribbon
  48. nl=EMA(EMA(j,M1l),M2);
  49. dl=EMA(EMA( abs(j) ,M1l),M2);
  50. KTl=100*nl/dl;
  51. KTl_color=IIf(KTl<-80,colorDarkRed,IIf(KTl<-60,colorRed,IIf(KTl<-40,colorLightOrange,IIf(KTl<0,colorPink,IIf(KTl<40,colorLightBlue,IIf(KTl<60,colorPaleGreen,IIf(KTl<80,colorLime,colorGreen)))))));
  52. Plot( 5,"Ribbon",KTl_color,styleOwnScale|styleArea|styleNoLabel, -0.5,100 );
  53. _SECTION_END();
  54. //------------------------------------------------------------------------------------------
  55. // Analysis
  56. //---------------------------------------------------------------------------------------
  57. _SECTION_BEGIN("RAVI");
  58. P1 = Param("Short Period",7,0,100,1);
  59. P2 = Param("Long Period",65,0,100,1);
  60. L1=Param("Threshold",4,2,10,1);
  61. U= MA(C,P1)-MA(C,P2);
  62. R=100*U/MA(C,P2);
  63. // check if RAVI is moving up
  64. Rup=R >Ref(R,-1) AND Ref(R,-1)>Ref(R,-2);
  65. _SECTION_END();
  66. //---------------------------------------------------------------------------------------------
  67. _SECTION_BEGIN("LR Slope");
  68. RPDS=ParamList("R2 Period", "5|10|14|20|25|30|50|60|120" );
  69. R2PDS=IIf(rpds=="5",5,IIf(rpds=="10",10,IIf(rpds=="14",14,IIf(rpds=="20",20,IIf(rpds=="25",25,IIf(rpds=="30",30,IIf(rpds=="50",50,IIf(rpds=="60",60,120))))))));
  70. R2=Correlation(Cum( 1 ),C,r2pds)*Correlation(Cum( 1 ),C,r2pds);
  71. Sp=LinRegSlope(C,r2pds);
  72. rsp=IIf(sp>=Ref(sp,-1) AND Ref(sp,-1)>=Ref(sp,-2),1,0);
  73. fsp=IIf(sp<=Ref(sp,-1) AND Ref(sp,-1)<=Ref(sp,-2),1,0);
  74. Crit=IIf(R2PDS==5,.77,IIf(R2PDS==10,.40,IIf(R2PDS==14,.27,IIf(R2PDS==20,.20,IIf(R2PDS==25,.16,IIf(R2PDS==30,.13,IIf(R2PDS==50,.08,IIf(R2PDS==60,.06,IIf(R2PDS==120,.03,0)))))))));
  75. r2color=IIf(r2>Crit,colorLime,colorRed);
  76. _SECTION_END();
  77. //--------------------------------------------------------------------------
  78. _SECTION_BEGIN("Analysis");
  79. //Tops & Dips
  80. Tp = Ref(KT,-1) == HHV(KT,3);
  81. TpL = Tp AND Ref(KT,-1) > UL;
  82. Vl = Ref(KT,-1)==LLV(KT,3);
  83. Vly=Ref(KT,-2)==LLV(KT,4);
  84. VlL = Vl AND Ref(KT,-1) < LL;
  85. PlotShapes(IIf(tp ,shapeSmallCircle+ shapePositionAbove,shapeNone),colorRed,kt,0,0);
  86. PlotShapes(IIf(Vl ,shapeSmallCircle+ shapePositionAbove,shapeNone),colorLime,0,0,0);
  87. //-----------------Zeroline Loop - Long - zll----------------------------------
  88. zll= Vly AND Ref(kt,-1)<0 AND Ref(kt,-1)>(-40) AND sp>Ref(sp,-1)AND HHV(KT,8)>30;
  89. PlotShapes(IIf(zll,shapeDigit1 ,Null),colorPaleGreen,0,Min(0,kt)+30,Min(0,kt)-45);
  90. PlotShapes(IIf(zll,shapeUpArrow,Null),colorGreen,0,Min(0,kt),-10);
  91. //------------------Zeroline Bounce - Long - zbl--------------------------------
  92. zbl= Vly AND Ref(kt,-1)<20 AND Ref(kt,-1)>0 AND r>L1 AND HHV(KT,8)>30 ;
  93. PlotShapes(IIf(zbl,shapeDigit2 ,Null),colorPaleGreen,0,Min(0,kt)+20,Min(0,kt)-45);
  94. PlotShapes(IIf(zbl,shapeUpArrow,Null),colorGreen,0,Min(0,kt),-10);
  95. //------------------Pullback Entry Strong-pbes----------------------------------
  96. pbes= Vl AND Ref(kt,-1)>20 AND Ref(kt,-1)<40 AND R2>Crit AND rsp;
  97. PlotShapes(IIf(pbes,shapeDigit3 ,Null),colorPaleGreen,0,Min(0,kt)+20,Min(0,kt)-45);
  98. PlotShapes(IIf(pbes,shapeUpArrow,Null),colorGreen,0,Min(0,kt),-10);
  99. //------------------Pullback Entry Strong-pbel----------------------------------
  100. pbel= Vly AND Ref(kt,-1)>40 AND R2>Crit AND sp>Ref(sp,-1) ;
  101. PlotShapes(IIf(pbel,shapeDigit4 ,Null),colorPaleGreen,0,Min(0,kt)+20,Min(0,kt)-45);
  102. PlotShapes(IIf(pbel,shapeUpArrow,Null),colorGreen,0,Min(0,kt),-10);
  103. //-------------------Zeroline Loop - short - zls---------------------------------
  104. zls= tp AND Ref(kt,-1)>0 AND Ref(kt,-1)<(40) AND R2>Crit ;
  105. PlotShapes(IIf(zls,shapeDigit1 ,Null),colorPink ,0,Max(0,kt)+20,Max(0,kt)+15);
  106. PlotShapes(IIf(zls,shapeDownArrow,Null),colorRed,0,Max(0,kt),-10);
  107. //---------------------- Zeroline Bounce - Short - zbs--------------------------------
  108. zbs= tp AND Ref(kt,-1)<0 AND Ref(kt,-1)>(-20) AND R2>Crit ;
  109. PlotShapes(IIf(zbs,shapeDigit2 ,Null),colorPink ,0,Max(0,kt)+20,Max(0,kt)+15);
  110. PlotShapes(IIf(zbs,shapeDownArrow,Null),colorRed,0,Max(0,kt),-10);
  111. //------------------------Pullup shorthing oppurtunity -pso----------------------
  112. pso= tp AND Ref(kt,-1)>(-40) AND Ref(kt,-1)<(-20) AND R2>Crit ;
  113. PlotShapes(IIf(pso,shapeDigit3 ,Null),colorPink ,0,Max(0,kt)+20,Max(0,kt)+15);
  114. PlotShapes(IIf(pso,shapeDownArrow,Null),colorRed,0,Max(0,kt),-10);
  115. //----------------------Additioal shorting oppurtunity--------------------------
  116. aso= tp AND Ref(kt,-1)<(-40) AND R2>Crit ;
  117. PlotShapes(IIf(aso,shapeDigit4 ,Null),colorPink ,0,Max(0,kt)+20,Max(0,kt)+15);
  118. PlotShapes(IIf(aso,shapeDownArrow,Null),colorRed,0,Max(0,kt),-10);
  119. //-------------------------------------------------------------------------------
  120. _SECTION_END();
  121.  
  122. Title = EncodeColor(colorYellow)+"K-Trend- V.1.0" + " - " + Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor() + " - " + Date() +" - " +
  123. EncodeColor(colorLime)+ "K-Trend= "+WriteVal(kt)+"--"+EncodeColor(colorYellow)+WriteIf (tp AND kt>0, " A top seen, May pullback",
  124. WriteIf(Vl AND kt<0,"A Bottom Seen May Pullup",""))+EncodeColor(colorPink)+WriteIf(zll,"Early Entry",WriteIf(zbl,"Zeroline Bounce Long",
  125. WriteIf(pbes,"Pullback Buy Oppurtunity-Strong", WriteIf(pbel,"Pullback Buy Oppurtunity-Light",WriteIf(zls,"Zeroline Loop Short",
  126. WriteIf(zbs,"zeroline Bounce Short",WriteIf(pso,"Shorting Oppurtunity",WriteIf(aso,"Addl. Shorting Oppurtunity"," "))))))));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement