Alıntı Originally Posted by EMLAK Yazıyı Oku
benbunu nasıl kullanabilirim.

yeni versiyonu indirdim ancak zlag yok malesef.
Lib.cs veya user.dll ile yapabilirsiniz. Ben user.dll kullanıyorum.

Kod:
/// <summary> Zero Lag Exponential Moving Average </summary>
public List<float> ZLEMA(List<float> data, int period)
{
    var x = new List<float>();

    try
    {
        if (data == null || data.Count == 0) throw new ArgumentNullException("data is null or empty");
        x = List(0f, data.Count);
        if (period == 0) throw new ArgumentException("period is zero");
        var ema1 = EMA(data, period);
        var ema2 = EMA(ema1, period);

        for (int i = 0; i < data.Count; i++)
        {
            x[i] = 2 * ema1[i] - ema2[i];
        }

        x = EMA(x, period);
    }
    catch (System.Threading.ThreadAbortException)
    {
        // Ignore...
    }
    catch (Exception ex)
    {
        Log("### {0}: {1}", MethodBase.GetCurrentMethod().Name, ex);
    }

    return x;
}

/// <summary>Exponential Moving Average</summary>
public List<float> EMA(List<float> data, int period)
{
    if (period == 1) return data;
    var x = new List<float> { 0 };

    try
    {
        if (data == null || data.Count == 0) throw new ArgumentNullException("data is null or empty");
        x = List(0f, data.Count);
        if (period <= 0) throw new ArgumentException("period cannot be equal or less than 0");

        x[0] = data[0];
        var k = 2f / (period + 1f);

        for (int i = 1; i < data.Count; i++)
        {
            x[i] = data[i] * k + x[i - 1] * (1 - k); // todaysPrice * k + EMAYesterday * (1 – k);
        }
    }
    catch (System.Threading.ThreadAbortException)
    {
        // Ignore...
    }
    catch (Exception ex)
    {
        Log("### {0}: {1}", MethodBase.GetCurrentMethod().Name, ex);
    }

    return x;
}

public List<T> List<T>(T value, int count)
{
    return Enumerable.Repeat(value, count).ToList();
}
Log ile belirttiğim yeri //Log şeklinde yazarsanız derlenir. Ben hataları tutmak amacıyla bir dosyaya yazıyorum. Gönderdiğim metotlar (ZLEMA, EMA, List) sistem referansı almadığından Sistem.Mesaj gibi bir iDeal metodu kullanamıyoruz.