Matriks Destek ve Yardım Platformu

Matriks Ürünleri ile ilgili tüm sorularınız için bizlere buradan ulaşabilirsiniz. Daha önce sorulan soruları ve verilen cevapları ilgili sekmelerden ve arama üzerinden inceleyebilirsiniz. Sağ taraftaki kategoriler üzerinden İlgilendiğiniz özelliklerle ilgili soruları filtreleyebilirsiniz. Soru ve cevapları sosyal medyada paylaşabilirsiniz. Sorduğunuz ve cevapladığınız soruların ve yorumlarınızın aldığı oylar üzerinden puan kazanırsınız. Puan sistemine bağlı kampanyamızla ücretsiz kullanım avantajlarından faydalanabilirsiniz.

1

OTT bantları ile yeni OTT

Soruldu
Görüntülenme
2.421 görüntülenme
Durum
Çözüldü
Selamlar,

Anıl hocamızın yeni paylaştığı OTT bantlarını içeren yeni OTT yi MatriksİQ içinde kodlarını yazabilme şansınız varmı? hem indikatör olarak hemde algoritmik trade de kullanmak ve backtest yapmak için

 

Teşekkürler
Paylaş

1 Cevap

1

Kabul edilen cevap

Merhaba,

Buradan erişebilirsiniz :

İndikator :

http://matriksiq.matriksdata.com/share/OTTV2Indikator.mtxiq

 

Sistem :

http://matriksiq.matriksdata.com/share/OTTV2Sistem.mtxiq

İkisi birlikte zip li olarak :

https://matriksiq.matriksdata.com/share/OTTV2.zip

 


Seçkin Durgay
BağlantıBayrakladüzenlendi · KripexSeçkin DurgayMatriks Destek4.631

Yorumlar (4)

  • ▲0
    Seçkin Bey merhaba,

    Bir hafta önce benzerini rica etmiştim cevap gelmedi.

    Bu kodlamayı viopta kullanmak için 1/-1 kodu ve yükselen trend ile düşen trentte farklı al-sat yaptığı kodlamayı ekleyip paylaşabilir misiniz. Mümkünse tabii.

    Teşekkürler ilginiz için.
  • ▲2

    Merhaba Sinan bey,

    Aşağıdaki kodu alıp inceleyiniz lütfen.

    DİKKAT: Stratejilerin nasıl çalıştığından tamamen emin olmadan, gerçek hesapta kullanmayınız.

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using Matriks.Data.Symbol;
    using Matriks.Engines;
    using System.Windows.Media;
    using Matriks.Indicators;
    using Matriks.Symbols;
    using Matriks.AlgoTrader;
    using Matriks.Trader.Core;
    using Matriks.Trader.Core.Fields;
    using Matriks.Trader.Core.TraderModels;
    using Matriks.Lean.Algotrader.AlgoBase;
    using Matriks.Lean.Algotrader.Models;
    using Matriks.Lean.Algotrader.Trading;
     
    namespace Matriks.Lean.Algotrader
    {
    public class OTTV2Strateji : MatriksAlgo
    {
    // Strateji çalıştırılırken kullanacağımız parametreler. Eğer sembolle ilgili bir parametre ise,
    // "SymbolParameter" ile, değilse "Parameter" ile tanımlama yaparız. Parantez içindeki değerler default değerleridir.
     
    [SymbolParameter("F_XU0300221")]
    public string Symbol;
    [Parameter(SymbolPeriod.Min5)]
    public SymbolPeriod SymbolPeriod;
     
    [Parameter(10)]
    public decimal BuyOrderQuantity;
    [Parameter(10)]
    public decimal SellOrderQuantity;
     
    [Parameter(40)]
    public int X1;
    [Parameter(1)]
    public decimal X2;
    [Parameter(0.001d)]
    public decimal X3;
     
    [Parameter(MovMethod.VAR)]
    public MovMethod MovMethod;
     
    // indikator tanımları.
    OTT ott;
     
    MOV mov;
     
    /// <summary>
    /// Strateji ilk çalıştırıldığında bu fonksiyon tetiklenir. Tüm sembole kayit işlemleri,
    /// indikator ekleme, haberlere kayıt olma işlemleri burada yapılır.
    /// </summary>
    public override void OnInit()
    {
    mov = MOVIndicator(Symbol, SymbolPeriod, OHLCType.Close, X1, MovMethod);
    ott = OTTIndicator(Symbol, SymbolPeriod, OHLCType.Close, X1, X2, MovMethod, true);
     
    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(true);
    }
     
    /// <summary>
    /// Init islemleri tamamlaninca, bardatalar kullanmaya hazir hale gelince bu fonksiyon tetiklenir. Data uzerinde bir defa yapilacak islemler icin kullanilir
    /// </summary>
    public override void OnInitComplated()
    {
     
    }
     
    int FirstRun = 0;
    /// <summary>
    /// Eklenen sembollerin bardata'ları ve indikatorler güncellendikçe bu fonksiyon tetiklenir.
    /// </summary>
    /// <param name="barData">Bardata ve hesaplanan gerçekleşen işleme ait detaylar</param>
    public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
    {
    decimal l1, l2, l3;
    l1 = mov.CurrentValue;
    l2 = ott.CurrentValue * (1 + X3);
    l3 = ott.CurrentValue * (1 - X3);
     
    if (CrossAbove(mov, l2))
    {
    Debug("Alış emri gonderildi.");
    if (FirstRun == 0)
    {
    SendMarketOrder(Symbol, BuyOrderQuantity, (OrderSide.Buy));
    Debug("Alış emri gonderildi.");
    FirstRun = 1;
    }
    else
    {
    SendMarketOrder(Symbol, BuyOrderQuantity * 2, (OrderSide.Buy));
    Debug("Alış emri gonderildi.");
    }
    }
    if (CrossBelow(mov, l3))
    {
    Debug("Alış emri gonderildi.");
    if (FirstRun == 0)
    {
    SendMarketOrder(Symbol, SellOrderQuantity, (OrderSide.Sell));
    Debug("Satış emri gonderildi.");
    FirstRun = 1;
    }
    else
    {
    SendMarketOrder(Symbol, SellOrderQuantity * 2, (OrderSide.Sell));
    Debug("Satış emri gonderildi.");
    }
    }
    }
     
    /// <summary>
    /// Gönderilen emirlerin son durumu değiştikçe bu fonksiyon tetiklenir.
    /// </summary>
    /// <param name="barData">Emrin son durumu</param>
    public override void OnOrderUpdate(IOrder order)
    {
    if (order.OrdStatus.Obj == OrdStatus.Filled)
    {
     
    }
    }
    }
    }

     

  • ▲0
    Merhaba,

    Bu kod stok hisse senetlerinde (normal BIST) AL - SAT // AÇIĞA SAT - AÇIĞI KAPAT işlemlerini yapıyor mu?

    Eğer öyle ise Backtest sonuçlarında "açığa satış" ve "açık kapatma" gibi ibareler görmemiz gerekmez mi?

    Eğer öyle değilse, bu kodlara AÇIĞA SAT - AÇIK KAPAT opsiyonlarını da eklemeniz mümkün mü?

     

    Teşekkürler...
  • ▲0
    Merhaba,

    Yukarıda verilen strateji Matriks IQ'ya eklediğimiz TOTT indikatörünün stratejisidir. Hazır stratejiler içerisinde TOTTStratejisi içerisinde aynı işlemi yapan kod bulunmakta.

    Bu stratejide açığa satış/kapat emirleri bulunmamakta. Fakat Algoritma Sihirbazı ile çok basit bir şekilde bu emirleri kullanarak strateji oluşturabilirsiniz. Eğer istediğiniz sonuçları alamazsanız tekrar yardımcı olabiliriz.

    İyi çalışmalar
    OrçunMatriks DestekBayrakla

Cevabınız

Cevap yazmak için giriş yapın.Giriş yapKayıt ol