Function max_drawdown(matrice As Range)
Dim i, n As Integer
Dim diff, test As Single
n = matrice.Rows.Count
max_drawdown = 0
diff = 0
For i = 1 To n - 1
test = matrice(i + 1) - matrice(i)
If test <= 0 Then
diff = diff + test
ElseIf max_drawdown > diff Then
max_drawdown = diff
diff = 0
End If
Next i
End Function
imam ovaj vb code.
koliko ga shvatam:
n= kolona jedna
test uzima vrednosti 2 celije i oduzima ih
ako je rezultat manji ili jednako 0 onda uzima vrednost razlika + STA? diff+diff
ako je max drawdown > od diff onda je max drawdown = diff
znaci da je pretpostavka da je max drawdown uvek = 0 i diff = 0
da li moze neko da mi pomogde i nadje formulu za racunanje max drawdown?
Što se tiče ovog koda, ovako
Broji koliko ima redova u matrici i uzima u for petlji broj ciklusa za jedan manje jer uporedjuje po 2 člana
pa uzima razliku dva susedna člana npr. (A4 - A3)
ako je ta razlika veća od prethodne razlike postaje max_drawdown
i kroz cikluse uporedjuje razlike
tako da na kraju kao rezultat (max_drawdown) ostaje najveća razlika dva susedna člana.