0 beğenilme 0 beğenilmeme
1,882 kez görüntülendi
public override void OnInit()
{
	AddSymbol(Symbol, SymbolPeriod);
	SendOrderSequential(true, Side.Buy);
	SubscribeToSymbolUpdateField(Symbol, SymbolUpdateField.LimitUp);			
	SubscribeToSymbolUpdateField(Symbol, SymbolUpdateField.LimitDown);
}

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,882 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;
		
		public override void OnInit()
		{
			AddSymbol(Symbol, SymbolPeriod_Day);
			SendOrderSequential(true, Side.Buy);
			SubscribeToSymbolUpdateField(Symbol, SymbolUpdateField.LimitUp);			
			SubscribeToSymbolUpdateField(Symbol, SymbolUpdateField.LimitDown);
		}

		public override void OnInitComplated()
		{
			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.
8,636 soru
8,590 cevap
4,821 yorum
19,784 kullanıcı