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 68 69 70 71 72 73
|
Function trading(MySel As Range, nb_std As Double, moyenne As Double, std As Double) As String
Dim rdt_jour As Double
Dim previous_Signal As String
Dim lim1, lim2, lim3, lim4, limMax, limMin As Double
Dim cell As Range
'Definition de notre pnl
Dim pnl As Double
'Test
'MsgBox "Voici le dernier ordre que vous avez passe" & lastOrder
'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 MySel
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
Debug.Print current_signal
Case lim1 To lim2
current_signal = "Achete 2"
updateOrder (current_signal)
cell.Offset(0, 1).Value = current_signal
Debug.Print current_signal
Case Is > lim2, previous_Signal = "Achete 2"
current_signal = "Vendre 2"
updateOrder (current_signal)
cell.Offset(0, 1).Value = current_signal
Debug.Print 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
Debug.Print current_signal
Case lim3 To lim4
current_signal = "Vendre 2"
updateOrder (current_signal)
cell.Offset(0, 1).Value = current_signal
Debug.Print current_signal
Case Is < lim4, lastOrder = "Vendre 2"
current_signal = "Achete 2"
updateOrder (current_signal)
cell.Offset(0, 1).Value = current_signal
Debug.Print current_signal
'Cas où rien ne se passe
Case Else
cell.Offset(0, 1).Value = "Rien"
Debug.Print current_signal
End Select
Next
trading = "ok"
End Function |
Partager