1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
Function trading(selection As Range, nb_std As Double, moyenne As Double, std As Double) As String
Dim rdt_jour As Double
Dim lim1, lim2, lim3, lim4, limMax, limMin As Double
Dim cell As Range
'Definition de notre pnl
Dim pnl As Double
'Definition des limites qui vont decider de notre achat ou non
lim1 = moyenne + nb_std * std
lim2 = moyenne + (nb_std + 1) * std
limMax = moyenne + (nb_std + 2) * std
lim3 = moyenne - nb_std * std
lim4 = moyenne - (nb_std + 1) * std
limMin = moyenne - (nb_std + 2) * std
For Each cell In selection
rdt_jour = cell.Value
Dim current_signal As String
Select Case rdt_jour
'Règles d'entrée sortie en cas de hausse
Case moyenne To lim1
current_signal = "Achete 1"
updateOrder (current_signal)
cell.Offset(0, 1).Value = current_signal
Case lim1 To lim2
current_signal = "Achete 2"
updateOrder (current_signal)
cell.Offset(0, 1).Value = current_signal
Case Is > lim2, previous_Signal = "Achete 2"
current_signal = "Vendre 2"
updateOrder (current_signal)
cell.Offset(0, 1).Value = current_signal
'Règles d'entrée sortie en cas de baisse
Case moyenne To lim3
current_signal = "Vendre 1"
updateOrder (current_signal)
cell.Offset(0, 1).Value = current_signal
Case lim3 To lim4
current_signal = "Vendre 2"
updateOrder (current_signal)
cell.Offset(0, 1).Value = current_signal
Case Is < lim4, lastOrder = "Vendre 2"
current_signal = "Achete 2"
updateOrder (current_signal)
cell.Offset(0, 1).Value = current_signal
'Cas où rien ne se passe
Case Else
cell.Offset(0, 1).Value = "Rien"
End Select
Next
trading = "ok"
End Function |
Partager