В результате получается код ошибки. код ниже. Я в основном пытаюсь получить набор данных от SingleColumn
и использовать его в методе SMA
. Но я получаю результаты, которые не существуют в текущем контексте.C# передача значений от одного метода другому
static public void SMA()
{
double[] closePrice = results.ToArray();
Ниже вы можете увидеть SingleColumn
и часть SMA
кода.
#region Single Column
//static public double results;
static public void SingleColumn(IEnumerable<string> strs, int highNum)
{
#region spilt data to columns
Console.WriteLine("Single Column Query:");
var columnQuery = from line in strs
let elements = line.Split(',')
select Convert.ToDouble(elements[highNum]);
var results = columnQuery.ToList();
double[] closePrice = results.ToArray();
#endregion
#region max, min, avg
double average = results.Average();
double max = results.Max();
double min = results.Min();
Console.WriteLine("High: {0}: Low: {1}: Average: {2:0.00}", max, min, average);
#endregion
}
#region Strategy Code SMA
static public void SMA()
{
double[] closePrice = results.ToArray();
int TOTAL_PERIODS = closePrice.Length;
double[] output = new double[TOTAL_PERIODS];
int begin;
int length;
for (int i = 0; i < closePrice.Length-TOTAL_PERIODS; i++) //had to change from -1 to -TOTAL_PERIODS
{
closePrice[i] = (double)i;
}
TicTacTec.TA.Library.Core.RetCode retCode = Core.Sma(0, closePrice.Length-1, closePrice, PERIODS_AVERAGE, out begin, out length, output);
Благодарим за помощь. Кажется, работает, и я могу скомпилировать. Это может быть глупый вопрос, но как я могу достичь кода SMA? можете ли вы предоставить мне быстрый пример. – user3463116
Что значит «досягаемость» Это статические методы, поэтому вы вызываете их с именем класса впереди: '{classname} .SMA()'. –
@ D Стэнли при попытке вызвать SMA из метода GetHigh, я получаю «Нет перегрузки для метода« SMA »принимает 0 аргументов. Я вызвал его, написав SMA(): – user3463116