Advertisement
saisri

my system

Aug 18th, 2012
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.90 KB | None | 0 0
  1. //R2=> Heinkin Ashi Price Action
  2. //R1=> Decorative Works
  3. _SECTION_BEGIN("Chart Settings");
  4. SetChartOptions(0,chartShowArrows|chartShowDates);
  5. SetChartBkColor(ParamColor("Outer Panel",colorPaleBlue));
  6. SetChartBkGradientFill(ParamColor("Upper Chart",1),ParamColor("Lower Chart",23));
  7. GraphXSpace=Param("GraphXSpace",10,0,100,1);
  8. dec = (Param("Decimals",2,0,7,1)/10)+1;
  9. bi = BarIndex();
  10. Lbi = LastValue(BarIndex());
  11. sbi = SelectedValue(bi);
  12. x1= BarCount-1;
  13. Title = EncodeColor(55)+ Title = Name() + " " + EncodeColor(32) + Date() +
  14. " " + EncodeColor(5) + "{{INTERVAL}} " +
  15. EncodeColor(55)+ " Open = "+ EncodeColor(52)+ WriteVal(O,dec) +
  16. EncodeColor(55)+ " High = "+ EncodeColor(5) + WriteVal(H,dec) +
  17. EncodeColor(55)+ " Low = "+ EncodeColor(32)+ WriteVal(L,dec) +
  18. EncodeColor(55)+ " Close = "+ EncodeColor(52)+ WriteVal(C,dec)+
  19. EncodeColor(55)+ " Volume = "+ EncodeColor(52)+ WriteVal(V,1);
  20. _SECTION_END();
  21.  
  22. _SECTION_BEGIN("MPLite");
  23. //PlotOHLC(O,H,L,C,"Price",IIf(C>O,colorGreen,colorRed),styleCandle);
  24.  
  25. function Lastthursday()
  26. {
  27. Daysinmonth=IIf(Month()==1 OR Month()==3 OR Month()==5 OR Month()==7 OR Month()==8 OR Month()==10 OR Month()==12,31,30);
  28. Daysinmonthfeb=IIf(Year()%4 == 0 AND Year()%100!=0,29,28);
  29. Daysinmonthfinal=IIf(Month()==2,Daysinmonthfeb,Daysinmonth);
  30. returnvalue=IIf(Daysinmonthfinal-Day()<7 AND DayOfWeek()==4,1,IIf(Daysinmonthfinal-Day()<8 AND DayOfWeek()==3 AND Ref(DayOfWeek(),1)!=4,1,0));
  31. return returnvalue;
  32. }
  33.  
  34. FirstVisibleBar = Status( "FirstVisibleBar" );
  35. Lastvisiblebar = Status( "LastVisibleBar" );
  36.  
  37. totalVisible=Lastvisiblebar-FirstVisibleBar;
  38. //if(totalVisible<1500){
  39.  
  40. //Den = Param("Density", 1, 0.1, 10, 0.1);
  41. percent=Param("Value Area", 70, 1, 100, 1);
  42. Type=ParamList("Type","Price Profile|Volume Profile");
  43. Period= ParamList("Base","Hourly|Daily|Weekly|Monthly|Lastthursday|Yearly",1);
  44. x_scale=Param("Horizontal_scale", 2, 0, 10, 0.1);
  45. EnMP2= ParamStyle("Style",styleLine|styleNoLabel,maskAll);
  46. styleLines=styleDots;
  47. ViewYvalues= ParamToggle("Show Yesterdays Values", "No|Yes",1);
  48. ViewVlines= ParamToggle("Show Vertical Base Lines", "No|Yes",1);
  49. Viewvalues= ParamToggle("Show Values", "No|Yes",0);
  50. ViewVpoc= ParamToggle("Show Virgin POC", "No|Yes",1);
  51. ViewTPO=ParamToggle("Show TPO Count", "No|Yes",0);
  52.  
  53. if(Period=="Hourly"){
  54. BarsInDay = BarsSince(Hour() != Ref(Hour(), -1));Bot = TimeFrameGetPrice("L", inHourly, 0);Top = TimeFrameGetPrice("H", inHourly, 0);Vol = TimeFrameGetPrice("V", inHourly, 0);
  55. }
  56. if(Period=="Daily" ){//OR Interval()==3600
  57. BarsInDay = BarsSince(Day() != Ref(Day(), -1));Bot = TimeFrameGetPrice("L", inDaily, 0);Top = TimeFrameGetPrice("H", inDaily, 0);Vol = TimeFrameGetPrice("V", inDaily, 0);
  58. }
  59. if(Period=="Weekly" OR Interval()==24 * 3600 ){
  60. BarsInDay = BarsSince(DayOfWeek() < Ref( DayOfWeek(), -1 ));Bot = ValueWhen(Ref(BarsInDay,1)==1 OR BarIndex()>BarCount-2 ,LLV(L,BarsInDay),0);Top =ValueWhen(Ref(BarsInDay,1)==1 OR BarIndex()>BarCount-2,HHV(H,BarsInDay),0);Vol = TimeFrameGetPrice("V", inWeekly, 0);
  61. }
  62. if(Period=="Monthly" ){
  63. BarsInDay = BarsSince(Month() != Ref(Month(), -1));Bot = TimeFrameGetPrice("L", inMonthly, 0);Top = TimeFrameGetPrice("H", inMonthly, 0);Vol = TimeFrameGetPrice("V", inMonthly, 0);
  64. }
  65.  
  66. if(Period=="Lastthursday" ){
  67. BarsInDay = BarsSince(Lastthursday()==1 AND Ref(Lastthursday(), -1)==0);Bot = ValueWhen(Ref(BarsInDay,1)==1 OR BarIndex()>BarCount-2 ,LLV(L,BarsInDay),0);Top =ValueWhen(Ref(BarsInDay,1)==1 OR BarIndex()>BarCount-2,HHV(H,BarsInDay),0);Vol = TimeFrameGetPrice("V", inMonthly, 0);
  68. }
  69.  
  70. if(Period=="Yearly" ){
  71. BarsInDay = BarsSince(Year() != Ref(Year(), -1));Bot = TimeFrameGetPrice("L", inYearly, 0);Top = TimeFrameGetPrice("H", inYearly, 0);Vol = TimeFrameGetPrice("V", inYearly, 0);
  72. }
  73.  
  74. Range = Top-Bot;
  75. coverage=LastValue(ATR(10));
  76.  
  77. den=(coverage/10);
  78.  
  79. //multiplier=IIf(round(totalVisible)>500,IIf(round(totalVisible)>1000,3,2),1);
  80.  
  81. HaClose = (O + H + L + C)/4;
  82. HaOpen = AMA( Ref( HaClose, -1 ), 0.5 );
  83. HaHigh = Max( H, Max( HaClose, HaOpen ) );
  84. HaLow = Min( L, Min( HaClose, HaOpen ) );
  85. xDiff = (HaHigh - Halow) * 10000;
  86. barcolor = IIf(HaClose >= HaOpen,colorGreen,colorRed);
  87. PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, "", barcolor, styleCandle );
  88.  
  89. multiplier=IIf(round(totalVisible)/300<1,1,round(totalVisible)/300);
  90.  
  91.  
  92. if(ViewVlines==1)
  93. {
  94. Plot(BarsInDay==0, "", ParamColor("Base Line Color",colorDarkGrey), styleHistogram | styleOwnScale | styleLine | styleNoLabel);
  95. }
  96.  
  97.  
  98. relTodayRange = 0;
  99. x=0;
  100. basey=0;
  101. basex=0;
  102. newday=0;
  103. total=0;
  104. shiftup=0;
  105. shiftdn=0;
  106. Line=Null;
  107. Voloumeunit=0;
  108.  
  109.  
  110. for ( i = FirstVisibleBar; i <Lastvisiblebar AND i<BarCount-1 ; i++ )
  111. {
  112. if(BarsInDay[i]==0)
  113. {t=BarsInDay[i-1];
  114.  
  115.  
  116.  
  117. //////////////////////////////////
  118. poc=0;pocj=0;
  119. midrange = int(relTodayRange/2)+1;
  120.  
  121.  
  122. for (j=1; j<= relTodayRange+1 ; j++)
  123. {
  124. if(poc < x[j])
  125. {
  126. poc=x[j]; pocj=j;}
  127. else if(poc == x[j])
  128. {
  129. if (abs(midrange-j)< abs(midrange-pocj)){
  130. poc = x[j]; pocj = j;
  131. }
  132. }
  133.  
  134. }
  135.  
  136. for ( n = 1; n <= relTodayRange; n++ )
  137. {
  138. total[n]=x[n]+total[n-1];
  139. }
  140.  
  141. Value_area=(total[relTodayRange]*percent)/100;
  142.  
  143.  
  144. for ( a = 1; a <= relTodayRange; a++ )
  145. {
  146. if(pocj-a>0 AND pocj+a<relTodayRange)
  147. {
  148. if(poc+total[pocj+a]-total[pocj]+(total[pocj]-poc)-total[pocj-(a+1)]>=Value_area) {shiftup=a; shiftdn=a; break;}
  149. }
  150. else if(pocj-a<1 )
  151. {
  152. if(poc+total[pocj+a]-total[pocj]+(total[pocj]-poc)>=Value_area){shiftup=a; shiftdn=pocj; break;}
  153. }
  154. else if(pocj+a>relTodayRange )
  155. {
  156. if(poc+total[relTodayRange]-total[pocj]+(total[pocj]-poc)-total[pocj-(a+1)] >=Value_area){shiftup=floor(relTodayRange)-pocj; shiftdn=a+1; break;}
  157. }
  158. }
  159.  
  160.  
  161. if(ViewVpoc==1)
  162. {
  163. Virginpoc=basey+pocj*den;
  164. newi=0;
  165. for( j = i+1; j <= (BarCount - 1) ; j++ )
  166. if( L[j] < Virginpoc AND H[j]>Virginpoc )
  167. {newi=j;break;}
  168. else{newi=BarCount;}
  169. vishycolor=IIf(BarCount%2==0,colorRed,colorBlue);
  170. Plot(LineArray(basex[i],basey+pocj*den,newi,basey+pocj*den),"",vishycolor,styleLine|styleNoRescale);
  171. //Plot(LineArray(basex[i],basey+pocj*den,newi,basey+pocj*den),"",colorYellow,styleLine|styleNoRescale);
  172. }
  173.  
  174. Vah = LineArray(baseX[i], baseY+(pocj+shiftup)*den, i, baseY+(pocj+shiftup)*den);
  175. Val = LineArray(baseX[i], baseY+(pocj-shiftdn)*den, i, baseY+(pocj-shiftdn)*den);
  176. pocline=LineArray(basex,basey+pocj*den,basex[i]+poc,basey+pocj*den);
  177.  
  178. //Plot(Vah,"",ParamColor("Color_VAH_Line", colorBlueGrey),styleLine|styleNoRescale);
  179. //Plot(Val,"",ParamColor("Color_VAL_Line", colorBlueGrey),styleLine|styleNoRescale);
  180.  
  181. Vahn = LineArray(i, baseY+(pocj+shiftup)*den, i+t, baseY+(pocj+shiftup)*den);
  182. pocn = LineArray(i, baseY+(pocj)*den, i+t, baseY+(pocj)*den);
  183. Valn = LineArray(i, baseY+(pocj-shiftdn)*den, i+t, baseY+(pocj-shiftdn)*den);
  184.  
  185. Plot(pocline,"",ParamColor("Color_POC_Line",colorDarkBlue),styleLine|styleNoRescale|styleNoLabel);
  186.  
  187. if(ViewYvalues==1)
  188. {
  189. Plot(Vahn,"",ParamColor("YVAH",colorBrightGreen),styleDashed|styleNoRescale);
  190. Plot(Valn,"",ParamColor("YVAL",colorYellow),styleDashed|styleNoRescale);
  191. Plot(pocn,"",ParamColor("YPOC",colorDarkRed),styleDashed|styleNoRescale);
  192.  
  193. }
  194. //PlotOHLC(Vahn,Vahn,Valn,Valn,"",colorPink,styleCloud|styleOwnScale);
  195.  
  196.  
  197. if(ViewTPO==1)
  198. {
  199. nnn=HHV(H,BarsInDay);
  200. PlotText(""+(total[relTodayRange]-total[pocj]),basex[i],nnn[i],colorLightGrey);
  201. PlotText(""+(total[pocj-1]),basex[i],basey-den,colorLightGrey);
  202. }
  203.  
  204. if(Viewvalues==1)
  205. {
  206. PlotText(""+((basey+pocj*den)),baseX[i],basey+pocj*den,colorWhite,colorDarkGrey);
  207. PlotText(""+((baseY+(pocj+shiftup)*den)),baseX[i],baseY+(pocj+shiftup)*den,colorWhite,colorDarkGrey);
  208. PlotText(""+((baseY+(pocj-shiftdn)*den)),baseX[i],baseY+(pocj-shiftdn)*den,colorWhite,colorDarkGrey);
  209. }
  210.  
  211.  
  212. for (p = 0; p <= relTodayRange+1; p=p+multiplier)
  213. {
  214. if(P>0){
  215. line = LineArray(baseX, baseY+(p)*Den, baseX+x[p], baseY+(p)*Den);
  216.  
  217. }
  218.  
  219. Plot(line,"",IIf(p>(pocj+shiftup),ParamColor("Color_Above_VA", colorDarkRed),IIf(p<=(pocj+shiftup)AND p>=(pocj-shiftdn),ParamColor("Color_VA", colorDarkBlue),ParamColor("Color_Below_VA", colorDarkRed))) , EnMP2);
  220.  
  221.  
  222. }
  223.  
  224. Plot(pocline,"",ParamColor("Color_POC_Line",colorDarkRed),styleLine|styleNoRescale);
  225.  
  226. ///////////////////
  227.  
  228. basex=0;
  229. x=0;
  230. Basex=i;
  231. baseY=Bot[i];
  232. relTodayRange=Range[i]/Den;
  233. Voloumeunit=Vol[i]/LastValue(BarsInDay);
  234.  
  235. }
  236.  
  237. for (j=0; j<= relTodayRange ; j++)
  238. {
  239. if (L[i] <= Bot[i]+j*Den AND H[i] >= Bot[i]+j*Den )
  240. {
  241. if(Type=="Price Profile"){x[j]=(x[j])+x_scale;}
  242. else if(Type=="Volume Profile"){x[j]=x[j]+round(V[i]/Voloumeunit)+1;}
  243. }
  244. }
  245. }
  246.  
  247.  
  248. //////////////////////////////////
  249. poc=0;pocj=0;
  250. midrange = int(relTodayRange/2)+1;
  251.  
  252. for (j=1; j<= relTodayRange+1 ; j++)
  253. {
  254. if(poc < x[j])
  255. {
  256. poc=x[j]; pocj=j;}
  257. else if(poc == x[j])
  258. {
  259. if (abs(midrange-j)< abs(midrange-pocj)){
  260. poc = x[j]; pocj = j;
  261. }
  262. }
  263.  
  264. }
  265.  
  266. for ( n = 1; n <= relTodayRange; n++ )
  267. {
  268. total[n]=x[n]+total[n-1];
  269. }
  270.  
  271. Value_area=(total[relTodayRange]*percent)/100;
  272.  
  273.  
  274. for ( a = 1; a <= relTodayRange; a++ )
  275. {
  276. if(pocj-a>0 AND pocj+a<relTodayRange)
  277. {
  278. if(poc+total[pocj+a]-total[pocj]+(total[pocj]-poc)-total[pocj-(a+1)]>=Value_area) {shiftup=a; shiftdn=a; break;}
  279. }
  280. else if(pocj-a<1 )
  281. {
  282. if(poc+total[pocj+a]-total[pocj]+(total[pocj]-poc)>=Value_area){shiftup=a; shiftdn=pocj; break;}
  283. }
  284. else if(pocj+a>relTodayRange )
  285. {
  286. if(poc+total[relTodayRange]-total[pocj]+(total[pocj]-poc)-total[pocj-(a+1)] >=Value_area){shiftup=floor(relTodayRange)-pocj; shiftdn=a+1; break;}
  287. }
  288. }
  289.  
  290. Vah = LineArray(baseX[i], baseY+(pocj+shiftup)*den, i, baseY+(pocj+shiftup)*den);
  291. Val = LineArray(baseX[i], baseY+(pocj-shiftdn)*den, i, baseY+(pocj-shiftdn)*den);
  292. pocline=LineArray(basex,basey+pocj*den,basex[i]+poc,basey+pocj*den);
  293.  
  294. if(ViewTPO==1)
  295. {
  296. PlotText(""+(total[relTodayRange]-total[pocj]),basex[i],top[i],colorLightGrey);
  297. PlotText(""+(total[pocj-1]+x_scale),basex[i],basey-den,colorLightGrey);
  298. }
  299.  
  300. if(Viewvalues==1)
  301. {
  302. PlotText(""+((basey+pocj*den)),baseX[i],basey+pocj*den,colorWhite,colorDarkGrey);
  303. PlotText(""+((baseY+(pocj+shiftup)*den)),baseX[i],baseY+(pocj+shiftup)*den,colorWhite,colorDarkGrey);
  304. PlotText(""+((baseY+(pocj-shiftdn)*den)),baseX[i],baseY+(pocj-shiftdn)*den,colorWhite,colorDarkGrey);
  305. }
  306.  
  307. for (p = 0; p <= relTodayRange+1; p=p+multiplier)
  308. {
  309. line = LineArray(baseX, baseY+p*Den, baseX+x[p], baseY+p*Den);
  310.  
  311. Plot(line,"",IIf(p>(pocj+shiftup),ParamColor("Color_Above_VA", colorGrey40),IIf(p<=(pocj+shiftup)AND p>=(pocj-shiftdn),ParamColor("Color_VA", colorBlueGrey),ParamColor("Color_Below_VA",colorGrey40))),EnMP2);
  312.  
  313. Plot(pocline,"",ParamColor("Color_POC_Line",colorYellow),styleLine|styleNoRescale|styleNoLabel);
  314. }
  315. _SECTION_END();
  316.  
  317. _SECTION_BEGIN("Volume");
  318. Plot( Volume, _DEFAULT_NAME(), ParamColor("Color", colorDarkGreen), styleNoTitle | ParamStyle( "Style", styleHistogram | styleOwnScale | styleThick | styleNoLabel, maskHistogram ), 2 );
  319. _SECTION_END();
  320. //SetChartOptions(0,chartShowArrows | chartShowDates);
  321. _SECTION_BEGIN("Heikin Ashi");
  322.  
  323. _SECTION_END();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement