Property N() As Numeric 'period Default (10) EndProperty
Property PriceType() As Numeric List (Open, 1) List (High, 2) List (Low, 3) List (Close, 4)
Default (4) EndProperty
Function Main() dim i as Numeric dim m as Numeric dim b as Numeric dim sum_x as Numeric = 0 dim sum_y as Numeric = 0 dim sum_xy as Numeric = 0 dim sum_x2 as Numeric = 0
for i = 0 to N - 1 sum_x = sum_x + i sum_x2 = sum_x2 + i ^ 2
Select case PriceType Case 1 sum_y = sum_y + (open( - N + 1 + i) - open( - N + 1)) sum_xy = sum_xy + i * (open( - N + 1 + i) - open( - N + 1)) Case 2 sum_y = sum_y + (high( - N + 1 + i) - high( - N + 1)) sum_xy = sum_xy + i * (high( - N + 1 + i) - high( - N + 1)) Case 3 sum_y = sum_y + (low( - N + 1 + i) - low( - N + 1)) sum_xy = sum_xy + i * (low( - N + 1 + i) - low( - N + 1)) Case 4 sum_y = sum_y + (close( - N + 1 + i) - close( - N + 1)) sum_xy = sum_xy + i * (close( - N + 1 + i) - close( - N + 1)) EndSelect
next i
m = (sum_x * sum_y - N * sum_xy) / (sum_x ^ 2 - N * sum_x2)
b = (sum_x * sum_xy - sum_x2 * sum_y) / (sum_x ^ 2 - N * sum_x2)
Select case PriceType Case 1 return m * (N - 1) + b + open( - N + 1) Case 2 return m * (N - 1) + b + high( - N + 1) Case 3 return m * (N - 1) + b + low( - N + 1) Case 4 return m * (N - 1) + b + close( - N + 1) EndSelect Endfunction
ehm... perdona l'ignoranza... se non ricordo male la regressione lineare è un metodo per "stimare" il valore atteso di una variabile, supposta dipendente da una o più variabili indipendenti, utilizzando l'analisi dell'andamento delle variabili indipendenti stesse... Puoi per cortesia spiegare il funzionamento del tuo indicatore anche ai non addetti ai lavori? Comunque grazie per avere condiviso la tua creazione. Più esempi concreti di programmazione ci sono, maggiore è la possibilità di imparare qualcosa di utile.
Praticamente la retta di regressione lineare interpola un'insieme di punti adottando il criterio dei minimi quadrati (che mi permette di calcolare i coeff. della retta P = m*t + b dove P = prezzo e t = tempo).
In tal caso se prendi sempre l'ultimo punto di tale retta che interpola sempre N punti ottieni una curva.
Se si potessero allegare le immagini sarebbe più semplice
Grazie del link. Quindi, se ho ben capito, il tuo indicatore restituisce il coefficiente angolare della retta ottenuta tramite l'interpolazione dei dati degli ultimi N periodi. Bene. La prossima settimana lo provo. Adesso mollo tutto e sparisco per il weekend... Buon fine settimana!