Advertisement
Maurizio-Ciullo

Funzione Tutti-Ptn-Base-Unger

Aug 11th, 2022
1,207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  
  3.                         ///////////////////INIZIO CREAZIONE STRUTTURA FUNZIONE EASYLANGUAGE //////////////////////
  4.                         // Creare Una Nuova Funzione Di Tipo Buleano Alla Sua Creazione Atrimenti Non Funziona //
  5.                                  // Inizio Codifica di tutti i pattern base Unger Easylanguage //
  6.  
  7. [Legacycolorvalue = true];
  8.  
  9. input: numeropattern(Numericsimple);
  10. array: definizioneptn[200](false);
  11. var:opend0(0),opend1(0),opend2(0),opend3(0),opend4(0),opend5(0);
  12. var:highd0(0),highd1(0),highd2(0),highd3(0),highd4(0),highd5(0);
  13. var:lowd0(0),lowd1(0),lowd2(0),lowd3(0),lowd4(0),lowd5(0);
  14. var:closed0(0),closed1(0),closed2(0),closed3(0),closed4(0),closed5(0);
  15.  
  16. // Valori in parentesi Session: (1=regular session, 0=all sessions), (Number of session ago to reference price (0 = current session).
  17. opend0 = OpenSession(0,0); // "opens forse opensession"
  18. opend1 = OpenSession(0,1); // "opens forse opensession"
  19. opend2 = OpenSession(0,2); // "opens forse opensession"
  20. opend3 = OpenSession(0,3); // "opens forse opensession"
  21. opend4 = OpenSession(0,4); // "opens forse opensession"
  22. opend5 = OpenSession(0,5); // "opens forse opensession"
  23.  
  24. // "CONTINUA FINO A 5 "SETTIMANA BORSISTICA" 7 PER CRIPTOVALUTE"
  25.  
  26. highd0 = HighSession(0,0); // "highs forse highsession"
  27. highd1 = HighSession(0,1); // "highs forse highsession"
  28. highd2 = HighSession(0,2); // "highs forse highsession"
  29. highd3 = HighSession(0,3); // "highs forse highsession"
  30. highd4 = HighSession(0,4); // "highs forse highsession"
  31. highd5 = HighSession(0,5); // "highs forse highsession"
  32. // "CONTINUA FINO A 5 "SETTIMANA BORSISTICA" 7 PER CRIPTOVALUTE"
  33.  
  34. lowd0 = LowSession(0,0); // "lows forse lowsession"
  35. lowd1 = LowSession(0,1); // "lows forse lowsession"
  36. lowd2 = LowSession(0,2); // "lows forse lowsession"
  37. lowd3 = LowSession(0,3); // "lows forse lowsession"
  38. lowd4 = LowSession(0,4); // "lows forse lowsession"
  39. lowd5 = LowSession(0,5); // "lows forse lowsession"
  40. // "CONTINUA FINO A 5 "SETTIMANA BORSISTICA" 7 PER CRIPTOVALUTE"
  41.  
  42. closed0 = CloseSession(0,0); // "closes forse closesession"
  43. closed1 = CloseSession(0,1); // "closes forse closesession"
  44. closed2 = CloseSession(0,2); // "closes forse closesession"
  45. closed3 = CloseSession(0,3); // "closes forse closesession"
  46. closed4 = CloseSession(0,4); // "closes forse closesession"
  47. closed5 = CloseSession(0,5); // "closes forse closesession"
  48. // "CONTINUA FINO A 5 "SETTIMANA BORSISTICA" 7 PER CRIPTOVALUTE"
  49.  
  50.                       // Per i range settimanali delle criptovalute alcuni pattern vanno estesi a 7 vedi video Unger //
  51.  
  52. definizioneptn[1]  = absvalue(opend1-closed1)<0.5*(highd1-lowd1) ;
  53. definizioneptn[2]  = absvalue(opend1-closed5)<0.5*(highd5-closed1) ;
  54. definizioneptn[3]  = absvalue(opend5-closed1)<0.5*(maxlist(highd1,highd2,highd3,highd4,highd5)-(minlist(lowd1,lowd2,lowd3,lowd4,lowd5))) ;
  55. definizioneptn[4]  = ((highd0-opend0)> ((highd1-opend1)*1)) ;
  56. definizioneptn[5]  = ((highd0-opend0)> ((highd1-opend1)*1.5)) ;
  57. definizioneptn[6]  =  ((opend0-lowd0)> ((opend1-lowd1)*1)) ;
  58. definizioneptn[7]  =  ((opend0-lowd0)> ((opend1-lowd1)*1.5)) ;
  59. definizioneptn[8]  =  closed1>closed2 and closed2>closed3 and closed3>closed4 ;
  60. definizioneptn[9]  =  closed1<closed2 and closed2<closed3 and closed3<closed4 ;
  61. definizioneptn[10]  = highd1>highd2 and lowd1>lowd2 ;
  62. definizioneptn[11]  = highd1<highd2 and lowd1<lowd2 ;
  63. definizioneptn[12]  = ((highd0>(lowd0+lowd0*0.75/100))) ;
  64. definizioneptn[13]  = ((highd0<(lowd0+lowd0*0.75/100))) ;
  65. definizioneptn[14]  = (closed1>closed2) ;
  66. definizioneptn[15]  = (closed1<closed2) ;
  67. definizioneptn[16]  = (closed1<opend1) ;
  68. definizioneptn[17]  = (closed1>opend1) ;
  69. definizioneptn[18]  = ((closed1<(closed2-closed2*0.5/100))) ;
  70. definizioneptn[19]  = ((closed1>(closed2+closed2*0.5/100))) ;
  71. definizioneptn[20]  = (highd0>(highd1)) ;
  72. definizioneptn[21]  = (highd1>highd5) ;
  73. definizioneptn[22]  = (lowd0<lowd1) ;
  74. definizioneptn[23]  = (lowd1<lowd5) ;
  75. definizioneptn[24]  = (highd1>highd2) and (highd1>highd3) and (highd1>highd4) ;
  76. definizioneptn[25]  = (highd1<highd2) and (highd1<highd3) and (highd1<highd4) ;
  77. definizioneptn[26]  = ((lowd1<lowd2) and (lowd1<lowd3) and (lowd1<lowd4)) ;
  78. definizioneptn[27]  = ((lowd1>lowd2) and (lowd1>lowd3) and (lowd1<lowd4)) ;
  79. definizioneptn[28]  = (closed1>closed2 and closed2>closed3 and opend0>closed1) ;
  80. definizioneptn[29]  = (closed1<closed2 and closed2<closed3 and opend0<closed1) ;
  81. definizioneptn[30]  = ((highd1-closed1)<0.20*(highd1-lowd1)) ;
  82. definizioneptn[31]  = ((closed1-lowd1)<0.20*(highd1-lowd1)) ;
  83. definizioneptn[32]  = (opend0<lowd1 or opend0>highd1) ;
  84. definizioneptn[33]  = ((opend0<(closed1-closed1*0.5/100))) ;
  85. definizioneptn[34]  = ((opend0>(closed1+closed1*0.5/100))) ;
  86. definizioneptn[35]  = (highd0<highd1 and lowd0>lowd1) ;
  87. definizioneptn[36]  = (highd1-lowd1)<((highd2-lowd2)+(highd3-lowd3))/3 ;
  88. definizioneptn[37]  = (highd1-lowd1)<(highd2-lowd2) and (highd2-lowd2)<(highd3-lowd3) ;
  89. definizioneptn[38]  = (highd2>highd1 and lowd2<lowd1) ;
  90. definizioneptn[39]  = (highd1<highd2 or lowd1>lowd2) ;
  91. definizioneptn[40]  = (highd2<highd1 and lowd2>lowd1) ;
  92. definizioneptn[41]  = true ;
  93. definizioneptn[42]  = false ;
  94.  
  95.  
  96. PtnBaseSA = definizioneptn[numeropattern];
  97.  
  98.  
  99.                                     ///////////////////FINE CREAZIONE STRUTTURA FUNZIONE EASYLANGUAGE //////////////////////
  100.                                    
  101.                                    
  102.                                    
  103.                                    
  104.         ///////////////////INIZIO RICHIAMO STRUTTURA FUNZIONE DAL CODICE EASYLANGUAGE CON ESEMPIO STRATEGIA //////////////////////
  105.                          
  106.                          
  107. {Input: MyPtnLY(6), MyPtnSY(4), MyPtnLN(18), MyPtnSN(19);
  108. Input: MyStartTrade(400), MyEndTrade(1330), MyStartPause(1200), MyEndPause(1100);
  109. Input: MyStop(0.011), MyProfit(0.035);
  110. Input: MyNoLongDay(0), MyNoShortDay(0);
  111.  
  112. If time > MyStartTrade And time < MyEndTrade and (Time < MyStartPause or Time > MyEndPause) and PtnBaseSA(1) then Begin
  113.     if PtnBaseSA(MyPtnLY)= True or PtnBaseSA(39) = True and PtnBaseSA(MyPtnLN) = False and Dayofweek(date) <> MyNoLongDay then Begin
  114.     if PtnBaseSA(MyPtnSY)= True or PtnBaseSA(39) = True and PtnBaseSA(MyPtnSN) = False and Dayofweek(date) <> MyNoShortDay then Begin
  115. end;
  116.  
  117. Setstopcontract;
  118. If MyStop > 0 then Setstoploss(MyStop);
  119. If MyProfit > 0 then Setprofittarget(MyProfit);}
  120.                        
  121.  
  122.                           ///////////////////FINE RICHIAMO STRUTTURA FUNZIONE DAL CODICE EASYLANGUAGE CON ESEMPIO STRATEGIA //////////////////////
  123.                          
  124.                          
  125.                          
  126.                          
  127.                          
  128.             /////// Inizio Codifica di tutti i pattern base Unger Pinescript "ALCUNI DA FINIRE SONO SEGNATI DA ASTERISCO]***" ///////
  129.                     /////// Per i range settimanali delle criptovalute alcuni pattern vanno estesi a 7 vedi video Unger ///////
  130.  
  131.  
  132. // PtnBaseSA1 = math.abs(open[1]-close[1])<0.5*(high[1]-low[1]) // volatility (indecision) // yesterday body < 50% of  range // No Opposite //
  133. // barcolor(PtnBaseSA1 == true ? color.lime : na ? color.purple : na)
  134.  
  135. // PtnBaseSA2 = math.abs(open[1]-close[5])<0.5*(high[5]-close[1]) // volatility (indecision) // open yesterday - close 5 days ago < 50% of (high 5 days ago - close yesterday) // No Opposite //
  136. // barcolor(PtnBaseSA2 == true ? color.lime : na ? color.purple : na) *******DA FARSELO A MANO CONFRONTATO CON IL MOIO 2PTN NON QUADRA********
  137.  
  138. // PtnBaseSA3 = math.abs(open[5]-close[1])<0.5*(ta.highest(high,5)-(ta.lowest(low,5))) // volatility (indecision) // open of 5 days ago - close of yesterday < 50% of range of last 5 days // No Opposite //
  139. // barcolor(PtnBaseSA3 == true ? color.lime : na ? color.purple : na) //*******DA FARSELO A MANO USA UNA LISTA********
  140.  
  141. // PtnBaseSA3List = math.abs(open[5]-close[1])<0.5*(maxlist(high[1],high[2],high[3],high[4],high[5])-(minlist(low[1],low[2],low[3],low[4],low[5]))) // volatility (indecision) // open of 5 days ago - close of yesterday < 50% of range of last 5 days // No Opposite //
  142. // barcolor(PtnBaseSA3List == true ? color.lime : na ? color.purple : na) //*******DA FARSELO A MANO USA UUNA LISTA********
  143.  
  144. // PtnBaseSA4 = ((high-open)>((high[1]-open[1])*1)) // directional - up // high to open today so far > high to open of yesterday // Opposite 6 //
  145. // barcolor(PtnBaseSA4 == true ? color.lime : na ? color.purple : na)
  146.  
  147. // PtnBaseSA5 = ((high-open)>((high[1]-open[1])*1.5)) // directional - up // high to open today so far > 1.5 * (high to open of yesterday) // Opposite 7 //
  148. // barcolor(PtnBaseSA5 == true ? color.lime : na ? color.purple : na)
  149.  
  150. // PtnBaseSA6 = ((open-low)>((open[1]-low[1])*1)) // directional - down // open to low today so far > open to low of yesterday // Opposite 4 //
  151. // barcolor(PtnBaseSA6 == true ? color.lime : na ? color.purple : na)
  152.  
  153. // PtnBaseSA7 = ((open-low)>((open[1]-low[1])*1.5)) // directional - down // open to low today so far > 1.5 * (open to low of yesterday) // Opposite 5 //
  154. // barcolor(PtnBaseSA7 == true ? color.lime : na ? color.purple : na)
  155.  
  156. // PtnBaseSA8 = close[1]>close[2] and close[2]>close[3] and close[3]>close[4] // directional - up // 3 consecutive up closes // Opposite 9 //
  157. // barcolor(PtnBaseSA8 == true ? color.lime : na ? color.purple : na)
  158.  
  159. // PtnBaseSA9 = close[1]<close[2] and close[2]<close[3] and close[3]<close[4] // directional - down // 3 consecutive down closes // Opposite 8 //
  160. // barcolor(PtnBaseSA9 == true ? color.lime : na ? color.purple : na)
  161.  
  162. // PtnBaseSA10 = high[1]>high[2] and low[1]>low[2] // directional - up // 2 higher highs and higher lows // Opposite 11 //
  163. // barcolor(PtnBaseSA10 == true ? color.lime : na ? color.purple : na)
  164.  
  165. // PtnBaseSA11 = high[1]<high[2] and low[1]<low[2] // directional - down // 2 lower highs and lower lows // Opposite 10 //
  166. // barcolor(PtnBaseSA11 == true ? color.lime : na ? color.purple : na)
  167.  
  168. // PtnBaseSA12 = ((high>(low+low*0.75/100))) // expansion // range of today > 0.75% of low of today // Opposite 13 //
  169. // barcolor(PtnBaseSA12 == true ? color.lime : na ? color.purple : na)  *******DA FARSELO A MANO********
  170.  
  171. // PtnBaseSA13 = ((high<(low+low*0.75/100))) // compression // range of today < 0.75% of low of today // Opposite 12 //
  172. // barcolor(PtnBaseSA13 == true ? color.lime : na ? color.purple : na)  *******DA FARSELO A MANO********
  173.  
  174. // PtnBaseSA14 = close[1]>close[2] // directional - up // price advanced yesterday // Opposite 15 //
  175. // barcolor(PtnBaseSA14 == true ? color.lime : na ? color.purple : na)
  176.  
  177. // PtnBaseSA15 = close[1]<close[2] // directional - down // price declined yesterday // Opposite 14 //
  178. // barcolor(PtnBaseSA15 == true ? color.lime : na ? color.purple : na)
  179.  
  180. // PtnBaseSA16 = close[1]<open[1] // directional - up // yesterday closed below the open // Opposite 17 //
  181. // barcolor(PtnBaseSA16 == true ? color.lime : na ? color.purple : na)
  182.  
  183. // PtnBaseSA17 = close[1]<open[1] // directional - down // yesterday closed above the open // Opposite 16 //
  184. // barcolor(PtnBaseSA17 == true ? color.lime : na ? color.purple : na)
  185.  
  186. // PtnBaseSA18 = ((close[1]<(close[2]-close[2]*0.5/100))) // directional - down // price declined > 0.5% yesterday // Opposite 19 //
  187. // barcolor(PtnBaseSA18 == true ? color.lime : na ? color.purple : na) *******DA FARSELO A MANO********
  188.  
  189. // PtnBaseSA19 = ((close[1]>(close[2]+close[2]*0.5/100))) // directional - up // price advanced > 0.5% yesterday // Opposite 18 //
  190. // barcolor(PtnBaseSA19 == true ? color.lime : na ? color.purple : na) *******DA FARSELO A MANO********
  191.  
  192. // PtnBaseSA20 = (high>(high[1])) // directional - up // today has traded above yesterday's high // Opposite 22 //
  193. // barcolor(PtnBaseSA20 == true ? color.lime : na ? color.purple : na)
  194.  
  195. // PtnBaseSA21 = (high[1]>high[5]) // trend - up // yesterday high was above 5-day-ago high // Opposite 23 //
  196. // barcolor(PtnBaseSA21 == true ? color.lime : na ? color.purple : na)
  197.  
  198. // PtnBaseSA22 = (low<low[1]) // weakness today // today has traded below yesterday's low // Opposite 20 //
  199. // barcolor(PtnBaseSA22 == true ? color.lime : na ? color.purple : na)
  200.  
  201. // PtnBaseSA23 = (low[1]<low[5]) // trend - down // yesterday low was below 5-day-ago low // Opposite 21 //
  202. // barcolor(PtnBaseSA23 == true ? color.lime : na ? color.purple : na)
  203.  
  204. // PtnBaseSA24 = (high[1]>high[2]) and (high[1]>high[3]) and (high[1]>high[4]) // trend - up // yesterday high was the highest  in 4 days // Opposite 26 //
  205. // barcolor(PtnBaseSA24 == true ? color.lime : na ? color.purple : na)
  206.  
  207. // PtnBaseSA25 = (high[1]<high[2]) and (high[1]<high[3]) and (high[1]<high[4]) // not trend up // yesterday high was lowest  in 4 days // Opposite 27 //
  208. // barcolor(PtnBaseSA25 == true ? color.lime : na ? color.purple : na)
  209.  
  210. // PtnBaseSA26 = ((low[1]<low[2]) and (low[1]<low[3]) and (low[1]<low[4])) // trend - down // yesterday low was lowest  in 4 days // Opposite 24 //
  211. // barcolor(PtnBaseSA26 == true ? color.lime : na ? color.purple : na)
  212.  
  213. // PtnBaseSA27 = ((low[1]>low[2]) and (low[1]>low[3]) and (low[1]>low[4])) // not trend down // yesterday low was the highest  in 4 days // Opposite 25 //
  214. // barcolor(PtnBaseSA27 == true ? color.lime : na ? color.purple : na)
  215.  
  216. // PtnBaseSA28 = (close[1]>close[2] and close[2]>close[3] and open>close[1]) // trend - up // yesterday close was highest in 3 days and today open is higher // Opposite 29 //
  217. // barcolor(PtnBaseSA28 == true ? color.lime : na ? color.purple : na)
  218.  
  219. // PtnBaseSA29 = (close[1]<close[2] and close[2]<close[3] and open<close[1]) // trend - down // yesterday close was lowest in 3 days and today open is lower // Opposite 28 //
  220. // barcolor(PtnBaseSA29 == true ? color.lime : na ? color.purple : na)
  221.  
  222. // PtnBaseSA30 = ((high[1]-close[1])<0.20*(high[1]-low[1])) // strength yesterday // yesterday close was in the top 20% of yesterday range // Opposite 31 //
  223. // barcolor(PtnBaseSA30 == true ? color.lime : na ? color.purple : na)
  224.  
  225. // PtnBaseSA31 = ((close[1]-low[1])<0.20*(high[1]-low[1])) // weakness yesterday // yesterday close was in the bottom 20% of yesterday range // Opposite 30 //
  226. // barcolor(PtnBaseSA31 == true ? color.lime : na ? color.purple : na)
  227.  
  228. // PtnBaseSA32 = (open<low[1] or open>high[1]) // movement // today open gapped either above yest. high or below yest. low //
  229. // barcolor(PtnBaseSA32 == true ? color.lime : na ? color.purple : na)
  230.  
  231. // PtnBaseSA33 = ((open<(close[1]-close[1]*0.5/100))) // big gap down // today open is at least 0.5% below yesterday close // Opposite 34 //
  232. // barcolor(PtnBaseSA33 == true ? color.lime : na ? color.purple : na) *******DA FARSELO A MANO********
  233.  
  234. // PtnBaseSA34 = ((open>(close[1]+close[1]*0.5/100))) // big gap up // today open is at least 0.5% above yesterday close // Opposite 33 //
  235. // barcolor(PtnBaseSA34 == true ? color.lime : na ? color.purple : na) *******DA FARSELO A MANO********
  236.  
  237. // PtnBaseSA35 = ((open>(close[1]+close[1]*0.5/100))) // big gap up // today open is at least 0.5% above yesterday close //
  238. // barcolor(PtnBaseSA35 == true ? color.lime : na ? color.purple : na) *******DA FARSELO A MANO********
  239.  
  240. // PtnBaseSA36 = (high[1]-low[1])<((high[2]-low[2])+(high[3]-low[3]))/3 // volatility contraction // yesterday range < 2/3 (66%) of prior 2-day avg. range // No Opposite //
  241. // barcolor(PtnBaseSA36 == true ? color.lime : na ? color.purple : na)
  242.  
  243. // PtnBaseSA37 = (high[1]-low[1])<(high[2]-low[2]) and (high[2]-low[2])<(high[3]-low[3]) // volatility contraction // yesterday was second consecutive range contraction day // No Opposite //
  244. // barcolor(PtnBaseSA37 == true ? color.lime : na ? color.purple : na)
  245.  
  246. // PtnBaseSA38 = (high[2]>high[1] and low[2]<low[1]) // volatility contraction // yesterday was an inside day // No Opposite //
  247. // barcolor(PtnBaseSA38 == true ? color.lime : na ? color.purple : na)
  248.  
  249. // PtnBaseSA39 = (high[1]<high[2] or low[1]>low[2]) // volatility contraction // yesterday was not an outside day // Opposite 40 //
  250. // barcolor(PtnBaseSA39 == true ? color.lime : na ? color.purple : na)
  251.  
  252.  //PtnBaseSA40 = (high[2]<high[1] and low[2]>low[1]) // volatility expansion // yesterday was an outside day // Opposite 39 //
  253.  //barcolor(PtnBaseSA40 == true ? color.lime : na ? color.purple : na)
  254.  
  255. // PtnBaseSA41 = true // boolean // true // Opposite 42 //
  256. // barcolor(PtnBaseSA41 == true ? color.lime : na ? color.purple : na)
  257.  
  258. // PtnBaseSA42 = false // boolean // false // Opposite 41 //
  259. // barcolor(PtnBaseSA42 == true ? color.lime : na ? color.purple : na)
  260.  
  261.                               // Fine Codifica di tutti i pattern base Unger Pinescript //
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement