Don't like ads? PRO users don't see any ads ;-)
Guest

Ribbon's for Trend

By: shivangi on Jun 30th, 2012  |  syntax: C++  |  size: 9.56 KB  |  hits: 225  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. _SECTION_BEGIN("MultipleRibbon");
  2. // You plot a Ribbon by calling the function as follows: MultiRibbon("Color", "Ribbon Number", "Name To Display");
  3. // The "Ribbon Number" is simply the order of the ribbon, starting with 1 as the bottom Ribbon. You can add as many
  4. // ribbons as you want, until you run out of chart space. Just keep track of the 'Serial Number' (Ribbon Number). :-)
  5.  
  6.  
  7. RibbonThickness = Param("Ribbon Thickness", 8, 1, 15, 0.1);
  8. Font                = ParamList("Font:","Arial|Calibri|Futura|Tahoma|Times New Roman");
  9. "";
  10. function GfxConvertBarToPixelX(Bar)
  11. {
  12.  lvb = Status("lastvisiblebar"); fvb = Status("firstvisiblebar");
  13.  pxchartleft = Status("pxchartleft"); pxchartwidth = Status("pxchartwidth");
  14.  return pxchartleft + Bar  * pxchartwidth / (Lvb - fvb + 1);
  15. }
  16.  
  17. procedure MultiRibbon(RibbonColor, Position, Label)
  18. {
  19.  LineColor  = colorLightGrey;
  20.  Position   = RibbonThickness * Position;
  21.  x2 = Status("pxchartright");
  22.  y2 = Status("pxchartbottom");
  23.  
  24.  RibbonColor = IIf(GfxConvertBarToPixelX(BarIndex()-Status("firstvisiblebarindex")) > y2/1.5 * (RibbonThickness/100) * 18 ,
  25.                RibbonColor, colorYellow);
  26.  
  27.  Plot(0, "", LineColor, styleOwnScale | styleNoLabel, 0, 100);
  28.  Plot(Position, "", LineColor, styleOwnScale | styleNoLabel, 0, 100);
  29.  Plot(Position, "", RibbonColor, styleArea | styleOwnScale | styleNoLabel, 0, 100);
  30.  
  31.  GfxSetTextColor(colorBlack);
  32.  GfxSelectFont(Font, y2/1.5 * (RibbonThickness/100), 400);
  33.  GfxDrawText(Label, 8, y2 * 1.001 -(y2 * Position/100) , y2/1.5 * (RibbonThickness/100) * 17, y2, 2 + 32 + 256);
  34.  
  35. }
  36.  
  37. //=================================================================================================================
  38.  
  39. //TRENDADVISOR
  40.  
  41. pointer[0] = 0;
  42.  
  43. /* Phase filter */
  44.  
  45. Cond1 = Close > MA(Close, 50)AND NOT(Close > MA(Close, 200))AND NOT(MA(Close, 50) > MA(Close, 200));
  46. Cond2 = Close > MA(Close, 50)AND Close > MA(Close, 200)AND NOT(MA(Close, 50) > MA(Close, 200));
  47. Cond3 = Close > MA(Close, 50)AND Close > MA(Close, 200)AND MA(Close, 50) > MA(Close, 200);
  48. Cond4 = NOT(Close > MA(Close, 50))AND Close > MA(Close, 200)AND MA(Close, 50) > MA(Close, 200);
  49. Cond5 = NOT(Close > MA(Close, 50))AND NOT(Close > MA(Close, 200))AND MA(Close, 50) > MA(Close, 200);
  50. Cond6 = NOT(Close > MA(Close, 50))AND NOT(Close > MA(Close, 200))AND NOT(MA(Close, 50) > MA(Close, 200));
  51.  
  52. for (i = 1; i < BarCount; i++)
  53. {
  54.  
  55.   if (Cond1[i])
  56.     pointer[i] = 1;
  57.   if (Cond2[i])
  58.     pointer[i] = 2;
  59.   if (Cond3[i])
  60.     pointer[i] = 3;
  61.   if (Cond4[i])
  62.     pointer[i] = 4;
  63.   if (Cond5[i])
  64.     pointer[i] = 5;
  65.   if (Cond6[i])
  66.     pointer[i] = 6;
  67.  
  68. }
  69.  
  70. /* Plot Graphic */
  71. //GraphXSpace= 15 ;
  72. dynamic_color = IIf(pointer < 4, colorGreen, colorRed);
  73. //Plot(pointer, "TrendAdv2", dynamic_color, styleHistogram | styleThick, Null, Null, 0);
  74. //SetChartBkGradientFill(ParamColor("BgTop", colorWhite), ParamColor("BgBottom", colorLightYellow));
  75. //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  76.  
  77. // haDelta-CV-Valcu-Original
  78. //HEIKIN-ASHI
  79. //SetChartOptions(0,chartShowArrows | chartShowDates);
  80. HaClose = (O + H + L + C)/4;
  81. HaOpen = AMA( Ref( HaClose, -1 ), 0.5 );
  82. HaHigh = Max( H, Max( HaClose, HaOpen ) );
  83. HaLow = Min( L, Min( HaClose, HaOpen ) );
  84. xDiff = (HaClose - HaLow);
  85. //barcolor = IIf(HaClose >= HaOpen,colorGreen,colorRed);
  86. //barcolor= IIf(HaClose>=HaOpen,colorGreen,colorRed) ;
  87. //SetBarFillColor(IIf(HaClose>=HaOpen,colorLime,colorRed));
  88. //PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, "", barcolor, styleCandle );
  89. HaDelta= (HaClose-HaOpen) ;
  90. MA1= MA(Hadelta,3) ;
  91. //Plot(Hadelta,"haDelta",colorBlack) ;
  92. //Plot(0,"",colorBrown) ;
  93. //Plot( MA1, "MA3", colorRed );
  94. //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  95.  
  96. //BB HISTOGRAM
  97.  
  98. _SECTION_BEGIN("BB Histogram");
  99. bbhist=((C+2*StDev(C,20) - MA(C,18)) / ((4*StDev(C,18)))*4) - 2;
  100. //Plot(bbhist, "BBands Histogram", IIf(bbhist > 0, colorLime, colorRed),styleHistogram + styleThick);
  101. //Plot(0,"",colorBrown) ;
  102. _SECTION_END();
  103. //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  104.  
  105. //VOLATILITY RATIO
  106. //n = Param("movn",10,1,50,1);
  107. nTSM = Param("TSMper",15,5,34,1,0) ;
  108. nMATSM = Param("MATSMper",3,3,17,1,0) ;
  109. ratio = C / Ref(C,-1);
  110. natlog = log(ratio);
  111. TSMVolatilityRatio = MA(natlog, nTSM);
  112. MATSM = MA(TSMVolatilityRatio,nMATSM) ;
  113. //Plot(TSMVolatilityRatio, "VolatilityRatio", colorRed,styleLine);
  114. //Plot(0,"",colorBrown) ;
  115. //Plot(MATSM,"MATSM",colorBlue) ;
  116. TSMup= TSMVolatilityRatio>0 AND TSMVolatilityRatio>MA(TSMVolatilityRatio,nMATSM) ;
  117. //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  118.  
  119. //============================================ MAhaDelta ======================================
  120. r1= IIf(MA(Hadelta,3)>0 ,colorGreen,colorRed);
  121.  
  122. //============================================ CupSAR ======================================
  123. r2 = IIf (C>SAR(0.02,0.2),colorGreen,colorRed);
  124.  
  125. //============================================ BBhistogram =======================
  126. //PL = (H + C+ L)/3;
  127. r3 = IIf (bbhist>0,colorGreen,colorRed);
  128.  
  129. //---------------------------------------------------------------------------
  130.  
  131. //============================================ Volatility =======================
  132. //PL = (H + C+ L)/3;
  133. r4 = IIf (TSMVolatilityRatio>0,colorGreen,colorRed);
  134.  
  135. //---------------------------------------------------------------------------
  136.  
  137. //========================================== MACD ===========================
  138. RSI21 = EMA(RSI(21),5);
  139.  
  140. //r2 = IIf (RSI21 >BBandTop(RSI21,5,0.5),colorGreen,IIf (RSI21 <BBandBot(RSI21,5,0.5),colorRed,colorYellow));
  141. r5 = IIf (MACD()>Signal(),colorGreen,colorRed);
  142. //---------------------------------------------------------------------------
  143.  
  144. //======================================== Stoch ==============================
  145. //r4 = IIf(EMA(PDI(7),3) > EMA(MDI(7),3),colorGreen,colorRed);
  146. //r4 = IIf(ADX()>Ref(ADX(),-1),colorGreen,colorRed);
  147. r6 = IIf(StochK()>StochD() AND StochK()>20 OR StochK()>80,colorGreen,colorRed);
  148.  
  149.  
  150. //======================================== PDIupMDI ==============================
  151.  
  152. //r3 = IIf (MACD(3,34) >BBandTop(MACD(3,34),5,0.5),colorGreen,IIf (MACD(3,34) <BBandBot(MACD(3,34),5,0.5),colorRed,colorYellow));
  153. r7 = IIf (PDI()>MDI(),colorGreen,colorRed);
  154. //---------------------------------------------------------------------------
  155.  
  156. //======================================== Top2Up ==============================
  157. //r4 = IIf(EMA(PDI(7),3) > EMA(MDI(7),3),colorGreen,colorRed);
  158. r8 = IIf(BBandTop(C,20,2)>=Ref(BBandTop(C,20,2),-1),colorGreen,colorRed);
  159.  
  160. //======================================== TrendAdviser ==============================
  161. //r4 = IIf(EMA(PDI(7),3) > EMA(MDI(7),3),colorGreen,colorRed);
  162. //r6 = IIf(MA(C,50)>=Ref(MA(C,50),-1),colorGreen,colorRed);
  163. r9 = IIf(pointer < 4,colorGreen,colorRed);
  164.  
  165. //======================================== MFI ==============================
  166. //r4 = IIf(EMA(PDI(7),3) > EMA(MDI(7),3),colorGreen,colorRed);
  167. r10 = IIf(MFI()>EMA(MFI(),5) OR MFI()>50,colorBrown,colorRose);
  168.  
  169. //========================================Limita ==============================
  170. //r4 = IIf(EMA(PDI(7),3) > EMA(MDI(7),3),colorGreen,colorRed);
  171. r11 = IIf((ADX()<50 AND MFI()>30),colorGreen,colorRed);
  172.  
  173. /*
  174. EMA21 = IIf (MACD(34,55) >Ref(MACD(34,55),-1),colorGreen,colorRed);
  175. EMA34 = IIf (MACD(55,89) >Ref(MACD(55,89),-1),colorGreen,colorRed);
  176. EMA55 = IIf (MACD(3,34) >Ref(MACD(3,34),-1),colorGreen,colorRed);
  177. EMA21 = IIf(PDI(5) > MDI(5),colorGreen,colorRed);
  178. EMA34 = IIf(PDI(9) > MDI(9),colorGreen,colorRed);
  179.  
  180. //========================================ADX trend ==============================
  181.  
  182. r6 = IIf(ADX(7) > Ref(ADX(7),-1) AND ADX(7) > 20 AND (ADX(7) > PDI(7) OR ADX(7) > MDI(7)),colorBlue,
  183.      IIf(ADX(7) > Ref(ADX(7),-1) , colorAqua,colorBlack));
  184. //---------------------------------------------------------------------------
  185. */
  186. MultiRibbon(r11, 1, "Limita");
  187. MultiRibbon(r10, 2, "MFI");
  188. MultiRibbon(r9, 3, "TrendAdviser");
  189. MultiRibbon(r8, 4, "Top2Up");
  190. MultiRibbon(r7, 5, "PDIupMDI");
  191. MultiRibbon(r6, 6, "Stoch");
  192. MultiRibbon(r5, 7, "MACD");
  193. MultiRibbon(r4, 8, "Volatility");
  194. MultiRibbon(r3, 9, "BBhistogram");
  195. MultiRibbon(r2, 10, "CupSAR");
  196. MultiRibbon(r1, 11, "MAhaDelta");
  197.  
  198. /*
  199. //==================interpretation============================
  200.  
  201. WriteIf(EMA( Close,13)>EMA( Close,39),"EMA says : UP TREND \n EMA -50 SL of "+ WriteVal(EMA(Close,50)),
  202.        "EMA says : DOWN TREND \n  EMA "+ WriteVal(EMA(Close,50)));
  203. WriteIf (Trix( 9 ) > Ref( Trix( 9 ) , -1 ),"\n TRIX =" + WriteVal(Trix( 9 ))+ " : UP","\n TRIX =" + WriteVal(Trix( 9 ))+"   : DOWN");
  204. WriteIf (MACD( 12, 26 ) > Ref( MACD( 12, 26 ) , -1 ), "MACD ="+ WriteVal(MACD( 12, 26 ))+ " :
  205.         UP","MACD ="+ WriteVal(MACD( 12, 26 ))+ " : DOWN");
  206. WriteIf(ADX( 9 ) > Ref( ADX( 9 ) , -1 ),"ADX ="+WriteVal (ADX(9))+"   :TREND-ING","ADX ="+WriteVal (ADX(9))+"   : ----");
  207. WriteIf (RSI( 7 ) > Ref( RSI(7) , -1 ), "RSI ="+ WriteVal(RSI( 7))+ " : UP","RSI ="+ WriteVal(RSI( 7))+ " : DOWN");
  208. WriteIf (CCI( 10 ) > Ref( CCI(10) , -1 ), "CCI ="+ WriteVal(CCI( 10))+ " : UP","CCI ="+ WriteVal(CCI( 10))+ " : DOWN");
  209. WriteIf(StochK( 14)< Ref (StochK( 14),1) ,"stochastic ="+WriteVal (StochK(14))+" : UP " ,"stochastic =
  210.         "+WriteVal (StochK( 14))+" : DOWN ");
  211. "";
  212. WriteIf (Close > SAR( 0.02, 0.2 ),"SAR says : go LONG at "+Close+" \n with a Stop-Loss = " + WriteVal(  SAR( 0.02, 0.2 )),
  213.         "SAR says : go Short at "+Close+"\n with a Stop-Loss = " + WriteVal(  SAR( 0.02, 0.2 )));
  214. */