Haberlerin Stratejide Kullanımı #

Strateji içerisinde sembolle ilişki veya filtrelemek istediğiniz bir kelimeye ait haberleri okuyabilir, haber içeriğine göre koşullar oluşturulabilir.

Haber filtresi oluşturulup stratejide takip edilmeye başladıktan sonra uygun haberin sisteme düşmesiyle stratejide OnNewsReceived metodu tetiklenir. Bu metot ile gelen verilerde ilgili haberin içeriği bulunur.

Ek Notlar #

Stratejide sembol ait yeni haberler takip edilebildiği için backtest ve optimizsayon yapıldığında haber verileri gelmemektedir.

AddNewsSymbol(string) #

Sembole ait yeni düşen haberleri stratejide alabilmek için kullanılır. Filtrelenen sembole ait yeni haber oluştuğunda OnNewsReceived metodu tetiklenir.

public void AddNewsSymbol(string Symbol)

Parametreler #

Symbol            string

Sembol parametresidir. Haberleri çekilmek istenen sembol ismi yazılmalıdır. Örn. “GARAN”

Örnek #

Örnek olarak hazır stratejilerdeki Haber Stratejisi incelenebilir.

public override void OnInit()
{
    //Sembol verisine kayıt işlemi
    AddSymbol(Symbol, SymbolPeriod.Day);

    //Fiyat kademesine kayıt işlemi
    AddNewsSymbol(Symbol);
}
public override void OnNewsReceived(int newsId, List<string> relatedSymbols)
{
    Debug("Haber Bulundu");
    Debug(newsId);
}

AddNewsSymbolKeyword(string, List<string>) #

Sembole ait haberler içerisinde kelime filtresi uygulanıp sadece bu koşulu sağlayan haberler görüntülenmek isteniyorsa kullanılır. Filtrelenen sembol ve kelime grubuna ait yeni haber oluştuğunda OnNewsReceived metodu tetiklenir.

public void AddNewsSymbolKeyword (string Symbol, List<string> keywords)

Parametreler #

Symbol            string

Sembol parametresidir. Haberleri çekilmek istenen sembol ismi yazılmalıdır.

keywords          List<string>

Filtrelenmesi istenen kelimelerin tutulduğu liste parametresidir. Oluşturulan listedeki tüm kelimelerin haberde ayrı ayrı bulunması durumunda stratejiye haber düşecektir.

Örnek #

Örnek olarak hazır stratejilerdeki ‘Haber’ stratejisi incelenebilir. 

public override void OnInit()
{
    AddSymbol(Symbol, SymbolPeriod);

    //Eger backtestte emri bir al bir sat seklinde gonderilmesi isteniyor bu true set edilir. 
    //Alttaki satırı silerek veya false geçerek emirlerin sirayla gönderilmesini engelleyebilirsiniz. 
    SendOrderSequential(false);

    //Alttaki fonksiyon ile tanımlanan sembol ile ilgili haber geldiğinde OnNewsReceived fonksiyonu tetiklenir.
    AddNewsSymbol(Symbol);

    //Alttaki fonksiyon ile tanımlanan anahtar kelime ile ilgili haber geldiğinde OnNewsReceived fonksiyonu tetiklenir.
    var keywords = new List<string>()
    {
        "KAP", "dönem", "gelir"
    };
    AddNewsSymbolKeyword(Symbol, keywords);
}
public override void OnNewsReceived(int newsId, List<string> relatedSymbols)
{
    Debug("Haber Bulundu");
    Debug(newsId);
}

AddNewsKeyword(string) #

İstenilen anahtar kelimeye ait haberler stratejide görüntülenmek isteniyorsa kullanılır. Filtrelenen anahtar kelimeye ait yeni haber oluştuğunda OnNewsReceived metodu tetiklenir.

public void AddNewsKeyword (string keyword)

Parametreler #

keyword           string

Filtre uygulanması istenilen anahtar kelime parametresidir.

Örnek #

Örnek olarak hazır stratejilerdeki ‘Haber’ stratejisi incelenebilir. 

public override void OnInit()
{

    AddSymbol(Symbol, SymbolPeriod);

    //Alttaki fonksiyon ile tanımlanan anahtar kelime ile ilgili haber geldiğinde OnNewsReceived fonksiyonu tetiklenir.
    AddNewsKeyword("KAP");
    AddNewsKeyword("dönem");
    AddNewsKeyword("gelir");
    AddNewsKeyword("kar");
}

/// <summary>
/// AddNewsSymbol ve AddNewsKeyword ile haberlere kayit olunmuşsa bu fonksiyon tetiklenir.
/// </summary>
/// <param name="newsId">Gelen haberin id'si</param>
/// <param name="relatedSymbols">Gelen haberin ilişkili sembolleri</param>
public override void OnNewsReceived(int newsId, List<string> relatedSymbols)
{
    Debug("Haber Bulundu");
    Debug(newsId);
}

OnNewsReceived #

Haber filtreleme fonksiyonları ile filtrelenmiş yeni haberlerin oluşmasıyla tetiklenen metottur. Gelen haberin ID’si ve varsa ilişkili sembolünü içerisinde bulundurur.

public override void OnNewsReceived (int newsId, List<string> relatedSymbols)

Parametreler #

newsId            int

Haberin id parametresi

relatedSymbols          List<string>

Habere ait ilişkili sembol varsa içerisinde bu sembolleri bulunduran parametre

Örnek #

Örnek olarak hazır stratejilerdeki ‘Haber’ stratejisi incelenebilir. 

public override void OnInit()
{

    AddSymbol(Symbol, SymbolPeriod);

    //Alttaki fonksiyon ile tanımlanan anahtar kelime ile ilgili haber geldiğinde OnNewsReceived fonksiyonu tetiklenir.
    AddNewsKeyword("KAP");
    AddNewsKeyword("dönem");
    AddNewsKeyword("gelir");
    AddNewsKeyword("kar");
}

/// <summary>
/// AddNewsSymbol ve AddNewsKeyword ile haberlere kayit olunmuşsa bu fonksiyon tetiklenir.
/// </summary>
/// <param name="newsId">Gelen haberin id'si</param>
/// <param name="relatedSymbols">Gelen haberin ilişkili sembolleri</param>
public override void OnNewsReceived(int newsId, List<string> relatedSymbols)
{
    Debug("Haber Bulundu");
    Debug(newsId);
}