MatriksIQ Destek
Matriks Destek
Matriks Web Destek
Matriks Mobile Destek
0 beğenilme 0 beğenilmeme
216 kez görüntülendi
Selamlar herkese

Explorer kodum için şöyle bir bilgiye ihtiyacım var
Bir önceki bar'ın parablic sar değeri ile yine bir önceki bar'ın close değerini karşılaştırmak istiyorum.

Aslında genel olarak bir önce barlara ait indikatör veya kapanış değerlerine nasıl ulaşabilirim ufak bir örnek kod paylaşabilirmisiniz?

Teşekkürler.
Algoritmik Trading kategorisinde (191 puan) tarafından | 216 kez görüntülendi

1 cevap

2 beğenilme 0 beğenilmeme
En İyi Cevap

Merhaba,

Önceki OHLC ve indikatör değerlerine ulaşmak için Ref() fonksiyonu kullanılır.

aşağıdaki örneği inceleyebilirsiniz.

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 Ornek : MatriksAlgo
	{
		[SymbolParameter("F_XU0301020")]
		public string Symbol;

		[Parameter(SymbolPeriod.Min)]
		public SymbolPeriod SymbolPeriod;

		[Parameter(1)]
		public int Quantity;		

		MOV mov;

		ParabolicSAR parabolicSar;		

		public override void OnInit()
		{
			parabolicSar = ParabolicSARIndicator(Symbol,SymbolPeriod, (decimal)0.02,(decimal)0.2);

			mov = MOVIndicator(Symbol, SymbolPeriod, OHLCType.Close, 5, MovMethod.Simple);

			AddSymbol(Symbol, SymbolPeriod);

			SendOrderSequential(true);

			WorkWithPermanentSignal(false);

		}
		
		public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
		{
			var barDataModel = GetBarData();

			// önceki ohlc değerleri için - 5 önceki değer için -5 yazılır
			decimal _refOhlc = barDataModel.Close[(barDataModel.Close.Count -1) -5];
			// önceki indikatör değerleri için - 3 önceki değer için -3 yazılır
			decimal _refIndikator = Ref(mov, -3);
			
			decimal _refIndikatorPsar = Ref(parabolicSar, -1);

			Debug(_refOhlc + " - " + _refIndikator);
		}
	}

}

 

(6,101 puan) tarafından
tarafından seçilmiş
0 0
Teşekkür ederim elinize sağlık..
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.



2,303 soru
2,180 cevap
1,900 yorum
1,593 kullanıcı