Общие вопросы по разработке > работа с массивом. Индикаторы. ошибка компиляции

Общие вопросы по разработке в Альфа-Директ 4. Обсуждение разработки пользовательских индикаторов, стратегий.
Prohar
Сообщения: 19
Зарегистрирован: 03 фев 2020, 15:10
Благодарил (а): 4 раза
Поблагодарили: 1 раз

работа с массивом. Индикаторы. ошибка компиляции

Непрочитанное сообщение Prohar » 06 фев 2020, 13:34

Здравствуйте!
Хочу индикатор увелисить на число. а результат вставить вдругой индикатор, но у меня ошибка.

Код: Выделить всё

//double[] fmm = new double[Period_m];
var fmm = new double [Period_m];
for (int i = 0; i < Period_m; i++)
{
    fmm[i] =1.5 + MOMENTUM(a, Period_m)[i];
}



пробывал разные варианты. не получается. помогите пожалуйста. Спасибо

Код: Выделить всё

      var b= MOMENTUM(a, Period_m);
b = b + 1.5;


и так тоже
Последний раз редактировалось Prohar 06 фев 2020, 15:10, всего редактировалось 1 раз.

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 361 раз
Контактная информация:

Re: работа с массивом. Индикаторы. ошибка компиляции

Непрочитанное сообщение evge » 06 фев 2020, 14:50

если Period_m это входящий параметр, то так

Код: Выделить всё

double[] fmm = new double [(int)Period_m];


работать будет и так

Код: Выделить всё

var fmm = new double [(int)Period_m];
никогда такого не было и вот опять

Prohar
Сообщения: 19
Зарегистрирован: 03 фев 2020, 15:10
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Re: работа с массивом. Индикаторы. ошибка компиляции

Непрочитанное сообщение Prohar » 06 фев 2020, 15:13

evge писал(а):если Period_m это входящий параметр, то так

Код: Выделить всё

double[] fmm = new double [(int)Period_m];


работать будет и так

Код: Выделить всё

var fmm = new double [(int)Period_m];


спасибо. это победил. дальше затык
с расчетом следующего индикатора

я так понял массив в индикатор подставить нельзя , поэтому попроб так

Код: Выделить всё

      var b= MOMENTUM(WMA(a, Period_wma), Period_m);
b = b + 1.5;
 mom_mom_wma = MOMENTUM(b, Period_m)[0];

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 361 раз
Контактная информация:

Re: работа с массивом. Индикаторы. ошибка компиляции

Непрочитанное сообщение evge » 06 фев 2020, 16:20

b - ряд и к нему прибавить 1.5 нельзя

может поможет так (не проверял):

Код: Выделить всё

var b= MOMENTUM(WMA(a, Period_wma), Period_m);
for (int i = 0; i < Period_m; i++) b[i] += 1.5;
 mom_mom_wma = MOMENTUM(b, Period_m)[0];


забыл i++ в цикле, подправил
никогда такого не было и вот опять

Prohar
Сообщения: 19
Зарегистрирован: 03 фев 2020, 15:10
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Re: работа с массивом. Индикаторы. ошибка компиляции

Непрочитанное сообщение Prohar » 06 фев 2020, 23:13

спасибо. так с компилировалось, но на дисплей ничего не вывело


Вернуться в «Общие вопросы по разработке»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 17 гостей