下面的 VB.NET 2010 正在运行。但我需要使用 TA-Lib 文档中所述的默认值:TA_INTEGER_DEFAULT 或 TA_REAL_DEFAULT 作为可选参数。我如何在编码中使用它?目前我手动分配值(需要知道值是什么)。
Public Sub CalcMACD()
' CALCULATE allocationSize
Dim lookback As Integer = TicTacTec.TA.Library.Core.MacdLookback(optInFastPeriod, optInSlowPeriod, optInSignalPeriod)
Dim temp As Integer = Math.Max(lookback, startIdx)
If (temp > endIdx) Then
allocationSize = 0 ' No output
Else
allocationSize = endIdx - temp + 1
End If
optInFastPeriod = 12 ' Set optional values <==== HOW TO USE TA_INTEGER_DEFAULT
optInSlowPeriod = 26 ' Set optional values <==== HOW TO USE TA_INTEGER_DEFAULT
optInSignalPeriod = 9 ' Set optional values <==== HOW TO USE TA_INTEGER_DEFAULT
Dim outMACD As Double() ' Declare output variable type
ReDim outMACD(allocationSize)
Dim outMACDSignal As Double() ' Declare output variable type
ReDim outMACDSignal(allocationSize)
Dim outMACDHist As Double() ' Declare output variable type
ReDim outMACDHist(allocationSize)
' the calculation
Dim res As TicTacTec.TA.Library.Core.RetCode = TicTacTec.TA.Library.Core.Macd(startIdx, endIdx, openPrice, optInFastPeriod, optInSlowPeriod, optInSignalPeriod, outBegIdx, outNBElement, outMACD, outMACDSignal, outMACDHist)
' Add result column to Datagridview
' #1 add column to Datagridview1
DataGridView1.ColumnCount = DataGridView1.ColumnCount + 3
Dim columnID As Integer = DataGridView1.ColumnCount - 3
' #2 define column header
DataGridView1.Columns(columnID).HeaderText = "MACD"
DataGridView1.Columns(columnID + 1).HeaderText = "MACD Signal"
DataGridView1.Columns(columnID + 2).HeaderText = "MACD Histogram"
'#3 insert values to column
For i As Integer = startIdx To endIdx
DataGridView1(columnID, i).Value = outMACD(i)
DataGridView1(columnID + 1, i).Value = outMACDSignal(i)
DataGridView1(columnID + 2, i).Value = outMACDHist(i)
Next
End Sub