0 beğenilme 0 beğenilmeme
443 kez görüntülendi

Bolinger sıkışmasını matriks iq için indikatör formatında kodlarsanız çok sevinirim, iyi çalışmalar...

BBandTop(C,20,s,2)-BBand(C,20,s,2)<ATR(14)

 

İndikator kategorisinde (16 puan) tarafından | 443 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

 Merhabalar,

BBandTop(C,20,s,2)-BBand(C,20,s,2) bu satırın indikatör hali aşağıda mevcuttur.

Koşul için kullanabilirsiniz.

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("BBand_B", IndicatorDrawingArea.NewWindow)]
	//Indikatörün çizgilerinin isimleri
	[IndicatorLineInformationAttribute(new []
		{
			"BBand_B(0)"
		})]

	public class BBand_B : 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(20)]
			public int BollingerPeriod1
		{
			get; set;
		}

		[DefaultValue(2)]
			public int BollingerStandardDeviation1
		{
			get; set;
		}

		BOLLINGER bollinger;

		public sealed override void OnInit()
		{
			bollinger = BollingerIndicator(Symbol, SymbolPeriod, OHLCType.Close, BollingerPeriod1, BollingerStandardDeviation1, MovMethod.Simple);

		}
		public override void OnDataUpdate(int currentBar, decimal inputValue, DateTime barDateTime)
		{

			
			if (currentBar < Period)
			{
				//SetLine fonksiyonu indikatördeki noktaları kuran fonksiyondur
				//Ilk paramatre indicatordeki hangi çizginin güncelleneceği bilgisidir.
				//Ikinci parametre güncellenecek çizginin hangi indexinin güncelleneceği bilgisidir.
				//Ucüncü parametre güncellenecek çizginin indexinin alacağı değerdir.
				SetLine(0, currentBar, 0);
				return ;
			}
			
			var BBANDTOP = bollinger.Value[0][currentBar];
			var BBAND = bollinger.Value[1][currentBar];

			var result = BBANDTOP-BBAND;
			SetLine(0,currentBar, result);

		}
	}
}

İyi çalışmalar.

(11,059 puan) tarafından
8,103 soru
8,076 cevap
4,593 yorum
14,869 kullanıcı