0 beğenilme 0 beğenilmeme
1,446 kez görüntülendi
Matriks IQ ile taramalarımızı 4 saat üzerinde sadece günlük olarak yapabiliyoruz. Bu zaman periyotlarını 8 saat ve 12 saat olarak da yapmak istiyorum. Bunu nasıl yapabiliriz? Ya da bununla alakalı olarak geliştirmeniz olacak mıdır?
Explorer kategorisinde (51 puan) tarafından | 1,446 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhabalar,

Bu zaman periyotlarını 8 saat ve 12 saat olarak da yapmak istiyorum. Bunu nasıl yapabiliriz?

Aşağıdaki yapıyı kullanarak NBar yerine de istediğiniz tarama saat aralığını yazarak deneyebilirsiniz.

	[Parameter(8)]
		public int NBar;

		
        //kullanılan indikatör tanımı
        MOST most;

		public override void OnInit()
		{
			PeriodInfo NBarPeriod = new PeriodInfo(PeriodType.Hour, NBar);
			AddSymbol(Symbol, NBarPeriod);

            //indikatör tanımlaması
			most = MOSTIndicator(Symbol, NBarPeriod, OHLCType.Close, MostPeriod1, MostPercentage1, MostMethod1);

Bu taramayı sadece x saat olarak değil, x dakika/x day olarak da yapabilirsiniz.

Bununn için PeriodInfo(PeriodType.'dan sonra Day/Hour/Minute seçebilirsiniz.

Aşağıda sizin için örnek bir kodlama ekledim.

Lütfen inceleyiniz.

using System;
using System.Collections.Generic;
using System.Linq;
using Matriks.Data.Symbol;
using Matriks.Engines;
using Matriks.Indicators;
using Matriks.Symbols;
using Matriks.Trader.Core;
using Matriks.Trader.Core.Fields;
using Matriks.Lean.Algotrader.AlgoBase;
using Matriks.Lean.Algotrader.Models;
using Matriks.Lean.Algotrader.Trading;
using Matriks.AI;
using Matriks.AI.AiParameters;
using Matriks.AI.Data;
using Matriks.Trader.Core.TraderModels;

namespace Matriks.Lean.Algotrader
{
	public class MostExp : Explorer
	{
		// 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.



		[Parameter(3)]
			public int MostPeriod1;

		[Parameter(2)]
			public decimal MostPercentage1;

		[Parameter(MovMethod.E)]
			public MovMethod MostMethod1;

		[Parameter(2)]
		public int NBar;

		MOST most;

		public override void OnInit()
		{
			PeriodInfo NBarPeriod = new PeriodInfo(PeriodType.Hour, NBar);
			AddSymbol(Symbol, NBarPeriod);
			most = MOSTIndicator(Symbol, NBarPeriod, OHLCType.Close, MostPeriod1, MostPercentage1, MostMethod1);

			AddColumns(2);
			SetColumnText(0, "ExMov");
			SetColumnText(1, "Most");
		}


		/// <summary>
		/// Eklenen sembollerin bardata'ları ve indikatorler güncellendikçe bu fonksiyon tetiklenir. 
		/// </summary>
		/// <param name="barData">Bardata ve hesaplanan gerçekleşen işleme ait detaylar</param>
		public override bool OnExplorer(List<BarDataEventArgs> bardatas)
		{

			var bardata = bardatas.FirstOrDefault() ? .BarData;
			SetColumn(0, most.Value[1][most.CurrentIndex]);
			SetColumn(1, most.Value[0][most.CurrentIndex]);

			if (CrossAbove(most, most, 1, 0))
			{
				return true;
			}
			return false;


		}
	}
}

İyi çalışmalar.

(11,059 puan) tarafından
0 0

Kodu ekledim ve n bar aktifleşti ancak halen Burada ki gibi günlük tarama yapmakta.. bunu nasıl çözebilirim

0 0
Merhabalar,

Yazdığınız kodu iletebilirseniz kontrol sağlayalım.

İyi çalışmalar.
0 0
[Parameter(8)]

public int NBar;

 

 

MatriksIndicator IFTRSIKripex;

 

 

 

public override void OnInit()

{

 

PeriodInfo NBarPeriod = new PeriodInfo(PeriodType.Hour, NBar);

AddSymbol(Symbol, NBarPeriod);
0 0

Merhabalar,

Yukarıdaki paylaşılan kodun içerisinde indikatörün içerisindeki period kısmı da NBarPeriod olarak yazılmıştır.

Bu düzenlemeyi yapmadıysanız lütfen yapınız.

most = MOSTIndicator(Symbol, NBarPeriod, OHLCType.Close, MostPeriod1, MostPercentage1, MostMethod1);

Eğer sorun düzelmedi ise lütfen iqdestek@matriksdata.com adresine mail atınız.

Sizlere ulaşalım.

İyi çalışmalar.

0 0
Kullanmış olduğum explorer taraması aşağıdaki gibidir. ve bu taramayı 12 saat üzerinden yapmak istiyorum. Düzenlemesini yapar mısınız rica etsem

 

using System;

using System.Collections.Generic;

using System.Linq;

using Matriks.Data.Symbol;

using Matriks.Engines;

using Matriks.Indicators;

using Matriks.Symbols;

using Matriks.Trader.Core;

using Matriks.Trader.Core.Fields;

using Matriks.Lean.Algotrader.AlgoBase;

using Matriks.Lean.Algotrader.Models;

using Matriks.Lean.Algotrader.Trading;

using Matriks.AI;

using Matriks.AI.AiParameters;

using Matriks.AI.Data;

using Matriks.Trader.Core.TraderModels;

 

namespace Matriks.Lean.Algotrader

{

public class INVERSE_RSI_1 : Explorer

{

// 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.

 

 

 

[Parameter(9)]

public int İftrsikripexMovPeriod1;

 

[Parameter(5)]

public int İftrsikripexRsiPeriod1;

 

MatriksIndicator IFTRSIKripex;

 

 

 

public override void OnInit()

{

IFTRSIKripex = new IFTRSIKripex();

 

IFTRSIKripex.SetIndicatorParameters("MovPeriod", İftrsikripexMovPeriod1);

IFTRSIKripex.SetIndicatorParameters("RsiPeriod", İftrsikripexRsiPeriod1); RegisterUserIndicator(IFTRSIKripex, Symbol, SymbolPeriod, OHLCType.Close, 5);

 

 

 

AddColumns(2);

SetColumnText(0, "SON");

SetColumnText(1, "STOCH");

 

 

}

 

 

/// <summary>

/// Eklenen sembollerin bardata'ları ve indikatorler güncellendikçe bu fonksiyon tetiklenir.

/// </summary>

/// <param name="barData">Bardata ve hesaplanan gerçekleşen işleme ait detaylar</param>

public override bool OnExplorer(List<BarDataEventArgs> bardatas)

{

 

var bardata = bardatas.FirstOrDefault() ? .BarData;

SetColumn(0, bardata.Close);

 

if (CrossAbove(IFTRSIKripex, -0.5m, 0))

{

return true;

}

return false;

 

 

}

}

}
0 0

Merhabalar,

Yukarıdaki kod içerisinde paylaşmış olduğunuz satırı aşağıdaki gibi revize eder ve NBar yerine 12 yazarsanız sorun oluşmayacaktır.

IFTRSIKripex.SetIndicatorParameters("RsiPeriod", İftrsikripexRsiPeriod1); RegisterUserIndicator(IFTRSIKripex, Symbol, NBarPeriod, OHLCType.Close, 5);

İyi çalışmalar.

 

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.



8,636 soru
8,590 cevap
4,821 yorum
19,786 kullanıcı