0 beğenilme 0 beğenilmeme
1,281 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 (201 puan) tarafından | 1,281 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);
		}
	}

}

 

(15,892 puan) tarafından
tarafından seçilmiş
0 0
Teşekkür ederim elinize sağlık..
8,636 soru
8,590 cevap
4,821 yorum
19,790 kullanıcı