0 beğenilme 0 beğenilmeme
1,339 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,339 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));
		}
	}
}

 

(4,555 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.
7,455 soru
7,449 cevap
4,384 yorum
7,780 kullanıcı