Код: Выделить всё
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 такой же. В результате это так и есть, так как код работает.
Вопрос, а где посмотреть, какой тип возвращают эти функции, чтобы при объявлении переменных в явном виде его задавть? Мне не очень нравится такой подход с неявной типизацией. В доке есть только такое описание вызова встроенных индикаторов, но оно ответа не дает. Или дает, я просто не пониманию?