Типовые параметры
N = 14 – период, UpperLevel = 80 – верхний уровень, BottomLevel = 20 – нижний уровень.
Сигналы
- Лонг – индикатор пересекает вниз уровень «80»; шорт – индикатор пересекает вверх уровень «20».
- Анализ дивергенций между экстремумами индикатора MFI и ценой.
Все торговые сигналы применимые к осцилляторам могут быть использованы и в отношении индикатора MFI.
Источник: Стивен Б. Акелис, Технический анализ от А до Я.
Пример:
Исходный текст:
Код: Выделить всё
function Initialize()
{
  IndicatorName = "MFI";
  PriceStudy = false;
  AddInput("Input", Inputs.Candle);         
  AddParameter("Period", 14, 1.2);                   
  AddSeries("MFI", DrawAs.Line, Color.Orange);   
  AddLevel(70, Color.Gray, "MFI"); 
  AddLevel(30, Color.Gray, "MFI"); 
}
function Evaluate()
{
// AlfaDirect. 2015. OX 
// MFI (MONEY FLOW INDEX) – ИНДЕКС ДЕНЕЖНОГО ПОТОКА
if ( CurrentIndex < Period)
{
     MFI = 0.0;
}
else
{
    var TP = LIB.TP(Input); 
    var PMF = 0.0; 
    var NMF = 0.0;
    var cTP = TP[0]; 
    for (int k=1; k<=Period; k++)
    {
        var oldTP = TP[-k];
        if ( cTP > oldTP ) 
           PMF = PMF + Input.Volume[-k+1]*cTP; 
        if ( cTP < oldTP )
           NMF = NMF + Input.Volume[-k+1]*cTP;
        cTP = oldTP;
    }
    if (NMF != 0)
       MFI = 100.0 - 100.0/(1.0 + PMF/NMF); 
    else 
       MFI = 100.0; 
}
}
