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
| Sub AddTrade(Combo, ligne, colonne)
Dim newTrade As New Trade
Set newTrade = CreateTrade(Combo, ligne, colonne)
'Add the new trade to the list of trades
Dim key As String
key = gTrades.Count + 1
gTrades.Add Item:=newTrade, key:=key
'Add the trade to the excel list
Dim line As Range
Set line = Worksheets("main").Range("B52").Offset(gTrades.Count, 0)
Worksheets("main").OLEObjects.Add ClassType:="Forms.CommandButton.1", _
Left:=2, _
Width:=15, _
Height:=12.5
line.Offset(0, 0).value = newTrade.GetDealDate()
line.Offset(0, 1).value = newTrade.GetDealType()
line.Offset(0, 2).value = newTrade.GetVolume()
line.Offset(0, 3).value = newTrade.GetDealUnderlyingPrice()
line.Offset(0, 4).value = newTrade.GetStrike()
line.Offset(0, 5).value = gTrades.Count
line.Offset(0, 6).value = newTrade.GetTotalPremium()
'TODO: change ?
line.Offset(0, 7).value = Range("currentInterestRate").value
line.Offset(0, 8).value = newTrade.GetDividend()
line.Offset(0, 9).value = newTrade.GetMaturityDate()
line.Offset(0, 10).value = newTrade.GetTimeLeftToMaturity()
'line.Offset(0, 11).value =
line.Offset(0, 12).value = newTrade.Price(Range("currentSpot").value, Range("currentInterestRate").value, Range("currentVolatility").value)
'line.Offset(0, 13).value = 'Gain
line.Offset(0, 14).value = "-"
line.Offset(0, 15).value = newTrade.Delta(Range("currentSpot").value, Range("currentInterestRate").value, Range("currentVolatility").value)
line.Offset(0, 16).value = newTrade.Gamma(Range("currentSpot").value, Range("currentInterestRate").value, Range("currentVolatility").value)
line.Offset(0, 17).value = newTrade.Vega(Range("currentSpot").value, Range("currentInterestRate").value, Range("currentVolatility").value)
line.Offset(0, 18).value = newTrade.Theta(Range("currentSpot").value, Range("currentInterestRate").value, Range("currentVolatility").value)
line.Offset(0, 19).value = newTrade.Rho(Range("currentSpot").value, Range("currentInterestRate").value, Range("currentVolatility").value)
line.Offset(0, 20).value = newTrade.Delta(Range("currentSpot").value, Range("currentInterestRate").value, Range("currentVolatility").value)
line.Offset(0, 21).value = newTrade.Gamma(Range("currentSpot").value, Range("currentInterestRate").value, Range("currentVolatility").value)
line.Offset(0, 22).value = newTrade.Vega(Range("currentSpot").value, Range("currentInterestRate").value, Range("currentVolatility").value)
line.Offset(0, 23).value = newTrade.Theta(Range("currentSpot").value, Range("currentInterestRate").value, Range("currentVolatility").value)
line.Offset(0, 24).value = newTrade.Rho(Range("currentSpot").value, Range("currentInterestRate").value, Range("currentVolatility").value)
'Paint the line in yellow
Worksheets("main").Range(Cells(52, 2), Cells(52, 26)).Offset(gTrades.Count, 0).Interior.Color = RGB(255, 255, 153) 'Yellow
End Sub |
Partager