0 beğenilme 0 beğenilmeme
1,116 kez görüntülendi
public override void OnInit()
{
  AddSymbol(Symbol, SymbolPeriod_Day);
  SendOrderSequential(true, Side.Buy);
  AddSymbolMarketData(Symbol);
}

public override void OnInitComplated()
{
  Debug("Tavan -> " + GetMarketData(Symbol, SymbolUpdateField.LimitUp));
  Debug("Taban -> " + GetMarketData(Symbol, SymbolUpdateField.LimitDown));
}

Yukarıdaki kodlar ile 0 geri dönüşü alıyorum. Şu anda piyasa kapalı olduğu için InitCompleted fonksiyonu içindeki kodun görselini yolluyorum fakat OnDataUpdate'te de aynı sonucu alıyorum seans içinde.


 

Algoritmik Trading kategorisinde (48 puan) tarafından | 1,116 kez görüntülendi

1 cevap

1 beğenilme 0 beğenilmeme

Merhaba,

Derinlik ve yüzeysel alanlardan istekte bulunduğunuz veriler sunuculardan cevap olarak size dönmektedir. Bu işlem de anlık olmamaktadır. OnInitComplated() fonksiyonu da OnInit() tamamlanınca 1 kez çalıştırıldığı için cevap 0 dönüyor. 

OnDataUpdate() de yaptığım seans içi testlerde değerleri başarılı bir şekilde aldım. Aşağıdaki kod parçası ile test eder misiniz?

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 Test : 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.Day)]
		public SymbolPeriod SymbolPeriod_Day;
		
		/// <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_Day);
			AddSymbolMarketData(Symbol);
		}

		/// <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)
		{
			Debug("Tavan -> " + GetMarketData(Symbol, SymbolUpdateField.LimitUp));
			Debug("Taban -> " + GetMarketData(Symbol, SymbolUpdateField.LimitDown));
		}
	}
}

 

(3,025 puan) tarafından
0 0



Sonuç aynı. Gönderdiğiniz kodu birebir çalıştırdım. 0 geri dönüşü almamın sebebi matriks deneme ortamında çalıştırmam olabilir mi?

0 0
Merhaba, IQyu demo olarak mı kullanıyorsunuz? Eğer demo kullanıyorsanız derinlik ve yüzeysel veriler birkaç dk geç yenilenir. Stratejiyi çalıştırıp biraz bekleyin veriler gelecektir.
0 0
lisanslı olarak kullanıyorum. yüzeysel veri paketlerimiz de var. sadece robotu matriks deneme ortamında çalıştırıyorum.
0 0
Merhaba, hangi sembolde çalıştırıyorsunuz? Kriptolarda bu değerler gelmeyecektir.
Hoş geldiniz, Matriks Destek Platformu sizlere sorularınızın hızlıca cevaplanması için bir ortam sağlar. 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.



6,803 soru
6,814 cevap
4,107 yorum
5,349 kullanıcı