0 beğenilme 0 beğenilmeme
259 kez görüntülendi
matriks veri terminalinde kullandığım ve aşağıda formülünü belirttiğim indikatörü matriks iq ya nasıl ekleyebilirim?

 

Ref(hhv(h,10),-1);

Ref(llv(l,10),-1)
İndikator kategorisinde (119 puan) tarafından | 259 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba,

IQ'ya dönüştürülmüş hali aşağıdaki gibidir. Linkten indikatörü indirip çift tıklayarak yükleyebilirsiniz.

https://destek.matriksdata.com/?qa=blob&qa_blobid=10598725369593665116

using System;
using System.Collections.Generic;
using System.Linq;
using System.ComponentModel;
using Matriks.Data.Identifiers;
using Matriks.Data.Symbol;
using Matriks.Engines;
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
{
	//Ilk parametre indikatörün adı, sınıfın adıyla aynı olmalıdır.
	//Ikinci parametre indikatörün Dataserisinin üzerine mi yeni pencereye mi ekleneceğini belirtir. Yeni pencere için ->IndicatorDrawingArea.NewWindow , Data Serisi için IndicatorDrawingArea.OnDataSeries
	[IndicatorInformationAttribute("HhbLlv10", IndicatorDrawingArea.OnDataSeries)]
	//Indikatörün çizgilerinin isimleri
	[IndicatorLineInformationAttribute(new []
		{
			"RHhv", "RLlv"
		})]

	public class HhbLlv10 : MatriksIndicator
	{

		//Indicator opsiyon panelinde değerleri değiştirebildiğimiz parametreler. Int, Bool, Decimal ve Enum değerleri alabilir.Tüm değişken tiplerini DefaultValue ile tanımlarız. 
		[DefaultValue(10)]
		public int Period
		{
			get; set;
		}

		public sealed override void OnInit()
		{
		}
		
		Dictionary<int,decimal> RHhvList=new Dictionary<int,decimal>();
		Dictionary<int,decimal> RLlvList=new Dictionary<int,decimal>();

		public override void OnDataUpdate(int currentBar, decimal inputValue, DateTime barDateTime)
		{
			if (currentBar < Period)
			{
				SetLine(0, currentBar, 0);
				SetLine(1, currentBar, 0);
				RHhvList[currentBar]=0;
				RLlvList[currentBar]=0;
				return ;
			}

			var barDataModel = GetBarData();
			RHhvList[currentBar]=HighestHigh(OHLCType.High,Period);
			RLlvList[currentBar]=LowestLow(OHLCType.Low,Period);

			SetLine(0,currentBar, RHhvList[currentBar-1]);
			SetLine(1, currentBar, RLlvList[currentBar-1]);

		}
	}
}

 

(7,592 puan) tarafından
0 0
Hızlı çözümünüz için teşekkür ederim.
6,345 soru
6,375 cevap
3,952 yorum
5,111 kullanıcı