Каталог файлов форума

Список вложений в сообщениях, оставленных на этой конференции.

Все файлы форума: 1270

Добавлено: alex_m » 20 мар 2021, 10:15

Тема: Re: Опять про вызов индикатора от индикатора

Текст сообщения:

И еще один вопрос общего характера, на примере кода из обсуждаемого тут индикатора.

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

function Evaluate()
{
   if (CurrentIndex < MACD_sign_period) return;
 
     var MA_diff = MY._my_MA_MA_diff(Input,MA_fast_type,MA_fast_period,MA_slow_type,MA_slow_period);
   var sign_line = SMA(MA_diff, MACD_sign_period);
   
   if (MACD_sign_type == 1)
   {
      sign_line = SMA(MA_diff, MACD_sign_period);
   }
   else if (MACD_sign_type == 2)
   {
      sign_line = EMA(MA_diff, MACD_sign_period);
   }
   else if (MACD_sign_type == 3)
   {
      sign_line = WMA(MA_diff, MACD_sign_period);
   }
   else
   {
      sign_line = SMA(MA_diff, MACD_sign_period);
   }
   
   MACD_Line = MA_diff[0];
   MACD_Sign = sign_line[0];
}


При объявлении переменных без явного типа, с помощью var я вызываю

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

var sign_line = SMA(MA_diff, MACD_sign_period);

Делаю это потому, что компилятор просит типизирвоать переменную при ее инициализации. Логично. Типизирую я с помощью вызова SMA, так же предполагая, что возвращаемый тим EMA и WMA такой же. В результате это так и есть, так как код работает.

Вопрос, а где посмотреть, какой тип возвращают эти функции, чтобы при объявлении переменных в явном виде его задавть? Мне не очень нравится такой подход с неявной типизацией. В доке есть только такое описание вызова встроенных индикаторов, но оно ответа не дает. Или дает, я просто не пониманию?

screen5.jpg
screen5.jpg (53.97 КБ) 16518 просмотров