MatriksIQ Destek
Matriks Destek
Matriks Web Destek
Matriks Mobile Destek
0 beğenilme 0 beğenilmeme
100 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 (45 puan) tarafından | 100 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.

(3,504 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.

 

4,036 soru
3,989 cevap
2,815 yorum
2,983 kullanıcı