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.

0

Deneme Ortamı Overall Sorunu

Soruldu
Görüntülenme
2.559 görüntülenme
Durum
Cevaplandı


Deneme ortamında robotumu denemek için çalıştırdım. Portföy bilgilerinde overall 1M olmasına rağmen robot raporunda overall 0 gözüküyor.

Paylaş

1 Cevap

2
Merhaba,

IQ tarafında yapı veri terminali gibi değildir.

İzleyiniz. lütfen. Emirler tetiklendikçe gönderildiğini göreceksiniz. Demo ortamı olduğu için, gerçekleşmeler ve takibi gerçek hayattaki gibi olmaz.

Bir müddet izledikten sonra, sorularınız olur ise, ona göre devam ederiz.

iyi çalışmalar
BağlantıBayraklailhan69Matriks Destek14.380

Yorumlar (4)

  • ▲0
    Robotumda overall yüzdesi üzerinden alış hacmi/adedi belirleme kuralı var. Overall sıfır gözüktüğü için de alış hacmim/adedim de 0 oluyor.

    Lot = Convert.ToInt16(GetOverall() * 0.1 / LastPrice);
    SendMarketOrder(Symbol, Lot, OrderSide.Buy);

    Yukarıdaki kod ile Overall'ın %10 u ile son fiyat üzerinden kaç adet hisse alındığını hesaplayıp işlem göndermek istiyorum. Bu durumda bu kodu demo ortamında kullanamayacak mıyım?
  • ▲1

    Merhaba. Burada yazdığınız overall, algoritmanın kendi iç overall değeridir. Portföy verileri için ayrı fonksiyonlar vardır. Aşağıda örnek bir kod bulacaksınız.

    Lütfen, 1 dk.da bir otomatik güncellemeyi aktifleştiriniz.

    İyi çalışmalar

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using Matriks.Data.Symbol;
    using System.Windows.Media;
    using Matriks.Engines;
    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 PortfoyDetay : 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("GARAN")]
                            public string Symbol;
    
                            [Parameter(SymbolPeriod.Min5)]
                            public SymbolPeriod SymbolPeriod;
    
                            [Parameter(5)]
                            public decimal BuyOrderQuantity;
    
                            [Parameter(5)]
                            public decimal SellOrderQuantity;
    
                            [Parameter(5)]
                            public int MovPeriod;
    
                            [Parameter(22)]
                            public int MovPeriod2;
    
                            // indikator tanımları.
                            MOV mov;
                            MOV mov2;
    
                            /// <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()
                            {
                                       AddSymbol(Symbol, SymbolPeriod);
                                       mov = MOVIndicator(Symbol, SymbolPeriod, OHLCType.Close, MovPeriod, MovMethod.Exponential);
                                       mov2 = MOVIndicator(Symbol, SymbolPeriod, OHLCType.Close, MovPeriod2, MovMethod.Exponential);
    
                                       // Algoritmanın kalıcı veya geçici sinyal ile çalışıp çalışmayacağını belirleyen fonksiyondur.
                                       // true geçerseniz algoritma sadece yeni bar açılışlarında çalışır, bu fonksiyonu çağırmazsanız veya false geçerseniz her işlem olduğunda algoritma tetiklenir.
                                       WorkWithPermanentSignal(true);
    
                                       //Eger 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()
                            {
                                       //                                 var overall = GetOverall();      //Islem limiti
                                       var para1 = BistOverall;         //Hesaptaki toplam para(hesap Overall)
    
                                       var para = BistAvailableMargin;  //Margin trading hesabi varsa
    
                                       string Currency;         //para birimi
                                       decimal Balance;         //hesaptaki toplam para
                                       //                                 decimal Overall;         //Islem limit
                                       decimal ProfitLoss;      //Kar/Zarar
                                       decimal AvailableMargin; //Kullanilabilir margin
                                       decimal MarginCallLevel; //Hesabin margin call alacagi seviye
                                       decimal AutoStopLevel;   //Otomatik durdurma seviyesi
    
                                       var traderUser = GetTradeUser();
    
                                       var account = traderUser.Accounts.FirstOrDefault();
    
                                       var autostoplevel = account.AutoStopLevel;
                                       var availablemargin = account.AvailableMargin;
                                       var balance = account.Balance;
                                       var curreny = account.Currency;
                                       var exchangeID = account.ExchangeID;
                                       var margincallevel = account.MarginCallLevel;
                                       var overall = account.Overall;
                                       var profitloss = account.ProfitLoss;
                                       var tradeuser = account.TradeUser.AccountId.Last();
    
                                       Debug("autostoplevel: " + autostoplevel);
                                       Debug("availablemargin: " + availablemargin);
                                       Debug("balance: " + balance);
                                       Debug("curreny: " + curreny);
                                       Debug("exchangeID: " + exchangeID);
                                       Debug("margincallevel: " + margincallevel);
                                       Debug("overall: " + overall);
                                       Debug("profitloss: " + profitloss);
                                       Debug("tradeuser: " + tradeuser);
                            }
                            
                            /// <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)
                            {
    
                                       //                                 var overall = GetOverall();      //Islem limiti
                                       var overall = BistOverall;         //Hesaptaki toplam para(hesap Overall)
    
                                       var islemLimiti = BistAvailableMargin;  //Margin trading hesabi varsa
    
                                       Debug("overall: " + overall + " islemLimiti " + islemLimiti);
                            }
                            
                }
    }

     

    ilhan69Matriks DestekBayrakla
  • ▲0
    internetten indirdiğim dökümanda GetTradeUser tarzı gelişmiş fonksiyonların açıklaması bulunmuyor. Tüm fonksiyonlara erişebileceğim bir döküman mevcut mu? Ayrıca platforma henüz yeniyim. 1 dk'da bir otomatik güncelleme dediğiniz olay nedir?
  • ▲1

    Merhaba,

    Doküman yakında güncellenecek ve bu fonksiyon da eklenecek. 

    1 dk. da otomatik güncelleme için. Portföy penceresi ayarlar altından yapılır. Resme bakınız lütfen. 

     

Cevabınız

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