Maurizio-Ciullo

36 Spiegazione Array

Dec 17th, 2022
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //---------------------------------------------- Inizio Codice 36 Spiegazione Array ----------------------------------------------//
  2.  
  3. // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
  4. // © Maurizio-Ciullo
  5.  
  6. //@version=5
  7. indicator("36 Spiegazione Array", overlay=false)
  8.  
  9. //https://www.youtube.com/watch?v=i3ulFZjZVpY
  10.  
  11. // ----------------SPIEGAZIONE GENERALE ARRAY IN PINESCRIPT----------------
  12. // Array in pinescript sono ad una sola dimensione. L'indice parte de 0.
  13. // Tutti gli elementi di un array devono essere dello stesso tipo: int/float/bool etc... e fanno parte  di una serie.
  14. // Gli array hanno un ID di riferiento, vale a dire il nome della variabile dove sono assegnati.
  15. // Gli array possono essere usati in tutte le funzioni o nel codice dove una serie di dati è prevista.
  16. // Il numero di elementi può essere modificato con un iterazione su ogni barra nel nostro script.
  17. // Il numero di elementi massimi in un array sono 100.000.
  18. // ----------------SPIEGAZIONI FUNZIONI ARRAY.----------------
  19. // Array.get() serve a ottenere i valori di un elemtnto in un array.
  20. // Array.set() serve per cambiare i valori di un array.
  21. // Array.from() serve a inserire i valori in un array.
  22. // Array.size() serve a ottenere il numero degli elementi in un array
  23. // array.new_float() serve a specificare la size il valore float di un array, il valore può essere un nostro valore o anche la close/open etc... .
  24.  
  25. //--------------------------------------CREARE/MODIFICARE/CONOSCRERE LUNGHEZZA/CONOSCERE VALORE DI UN ARRAY---------------------------------------//
  26.  
  27. // //plotshape(barstate.islast) // barstate.islast indica se è l'ultima barra dela grafico, in una live chart è sempre vera
  28. // //plot(bar_index) // bar_index rappresenta tutto l'indice del grafico
  29.  
  30. //float[] priceArray = array.from(0.1, 2.5, 5.0) // Creazione di un array float
  31.  
  32. // //Creo un etichetta sul grafico, overlay deve essere false.
  33. // if barstate.islast serve altrimenti mi crea della label ad ogni barra dell'indice
  34.  
  35. // if barstate.islast
  36. //     label.new(bar_index, 0, "Array Size Is: " + str.tostring(array.size(priceArray)))  // Mi ritorna la lunghezza "size" dell'array
  37. //     label.new(bar_index, 0, "First Value: " + str.tostring(array.get(priceArray, 0))) // Mi ritorna il valore dell'elemento 0 dell'array, ATTENZIONE a non richiedere valori fuori dall'indice
  38. //     array.set(priceArray, 0, 10.0) // Cambio il valore dell'elemento 0 dell'array a 10.0 "RICORDARSI DI INSERIRE VALORI FLOAT !!!"
  39. //     label.new(bar_index, 0, "Array Size Is: " + str.tostring(array.size(priceArray)) + "\nFirst Value: " + str.tostring(array.get(priceArray, 0))) // Mi ritorna la lunghiezza "size" ed il valore dell'elemento 0 dell'array
  40.  
  41. // // Posso anche inserire la close nell'array da ... a... e poi devo ricordarmi di plottare anche la seconda close con la label.
  42. // float[] priceArray1 = array.from(close, close[1])
  43. // if barstate.islast
  44. //     label.new(bar_index, 0, "Array Size Is: " + str.tostring(array.size(priceArray1)) + "\nFirst Value: " + str.tostring(array.get(priceArray1, 0)) + "\nSecond Value: " + str.tostring(array.get(priceArray1, 1))) // Mi ritorna la lunghiezza "size" ed il valore dell'elemento 0 dell'array
  45.  
  46. //--------------------------------------CREARE ARRAY FLOAT LUNGHEZZA PREDEFINITA VALORI PREDEFINITI-----------------------------------------------//
  47.  
  48. //float[] priceArray = array.new_float(10, 10.0) // Size 5 Valore 10.0. In altre parole avremo: (10.0, 10.0, 10.0, 10.0, 10.0)
  49.  
  50. //if barstate.islast
  51. //    label.new(bar_index, 0, "Array Size Is: " + str.tostring(array.size(priceArray)))  // Mi ritorna la lunghezza "size" dell'array
  52. //    label.new(bar_index, 0, "First Value: " + str.tostring(array.get(priceArray, 0))) // Mi ritorna il valore dell'elemento 0 dell'array, ATTENZIONE a non richiedere valori fuori dall'indice
  53. //    array.set(priceArray, 3, 20.0) // Cambio il valore dell'elemento 3 dell'array a 20.0 "RICORDARSI DI INSERIRE VALORI FLOAT !!!" Tutti gli altri elementi sono rimasti uguali
  54. //    label.new(bar_index, 0, "Array Size Is: " + str.tostring(array.size(priceArray)) + "\nFirst Value: " + str.tostring(array.get(priceArray, 0))) // Mi ritorna la lunghiezza "size" ed il valore dell'elemento 0 dell'array
  55.  
  56.  
  57. //--------------------------------------ARRAY CHE SI AGGIORNANO AD OGNI CANDELA-----------------------------------------------//
  58.  
  59. // // Se creo una variabile numerica e poi la incremento di 1, la variabile incrementata rimarra 1 dallìinizio alla fine dell'indice.
  60. // a = 1
  61. // a := a + 1 // oppure a += 1 è uguale
  62. // plot(a)
  63.  
  64. // // Per far aggiornare il conteggio ad ogni candela devo usare var prima della variabile
  65. // var a = 1
  66. // a := a + 1 // oppure a += 1 è uguale
  67. // plot(a)
  68.  
  69. // // Posso fare la stessa cosa con array.push per far aggiornare i valori ad ogni indice di barra,
  70. // // in questo caso prendo il prezzo di chiusura della prima candela
  71. // var countArray = array.new_float(0)
  72. // array.push(countArray, close)
  73. // label.new(bar_index, 0, "Array Size Is: " + str.tostring(array.size(countArray)) + "\nFirst Value: " + str.tostring(array.get(countArray, 0))) // Mi ritorna la lunghezza "size" ed il valore dell'elemento 0 dell'array
  74.  
  75.  
  76. //--------------------------------------INSERIRE L'INDICE IN UNA LABEL-----------------------------------------------//
  77.  
  78. // // Partendo dal codice sopra, nella label vado a farmi ritornare l'indice in formato stringa.
  79. // var countArray = array.new_float(0)
  80. // array.push(countArray, close)
  81. // if barstate.islast
  82. //     label.new(bar_index, 0, "Array Size Is: " + str.tostring(array.size(countArray)) + "\nBar Count: " + str.tostring(bar_index)) // Mi ritorna la lunghezza "size" e l'indice di barra
  83. //     // Quando mettiamo a schermo la label c'è un numero di differenza con l'indice perchè l'array conta la posizione 0 come valore di 1na posizione.
  84.  
  85.  
  86. //--------------------------------------FARSI RITORNARE L'INDICE DELL'ULTIMA BARRA CON -1 SULL'INDICE-----------------------------------------------//
  87.  
  88. // // Per farsi ritornare il prezzo dell'ultima candela dell'indice devo creare una variabile dove dentro contengo la size dell'array
  89. // // e con -1 prendo l'ultimo elemento dell'array.
  90. // // In teoria sarebbe la stessa cosa fare come segue: ...str.tostring(array.get(countArray ,array.size(countArray -1)...
  91. // // ma mi da errore perchè al posto di: array.size(countArray -1, vuole un int e non un float.
  92. // // quindi sono obbligato a creare la variabile size = array.size(countArray) e poi nella label mettere -1
  93.  
  94. // var countArray = array.new_float(0)
  95. // array.push(countArray, close)
  96. // if barstate.islast
  97. //     size = array.size(countArray)
  98. //     label.new(bar_index, 0, "Array Size Is: " + str.tostring(array.size(countArray)) + "\nLast Value: " + str.tostring(array.get(countArray, size -1))) // Mi ritorna la lunghezza "size" ed il valore dell'elemento 0 dell'array
  99.  
  100.  
  101. //------------------------------------------------------------CICLARE UN ARRAY--------------------------------------------------------------------//
  102.  
  103. // float[] priceArray = array.new_float(10, 10.0)
  104. // array.set(priceArray, 0, 5.0) // Cambio il primo elemento da 10.0 a 5.0
  105.  
  106. // lab = ""
  107. // for i = 0 to array.size(priceArray) - 1
  108. //     lab := lab + str.tostring(array.get(priceArray, i)) + " "
  109.      
  110. // l = label.new(bar_index, close, lab)
  111. // label.delete(l[1])
  112.  
  113. // Prossima Lezione: https://www.youtube.com/watch?v=kbW7XO-2LnY
  114.  
  115. //---------------------------------------------- Fine Codice 36 Spiegazione Array ----------------------------------------------//
Add Comment
Please, Sign In to add comment