MatriksIQ Destek
Matriks Destek
Matriks Web Destek
Matriks Mobile Destek
0 beğenilme 0 beğenilmeme
105 kez görüntülendi
Merhabalar,
Yardım dökümanında paylaşıldığı üzere aşağıdaki şekilde
AddSymbol("GARAN",  new PeriodInfo(PeriodType.Day,2));

şeklinde 2 şer günleri tek bara dönüştürerek geliştirdiğim  indicator üzerinde tarama yapıp sonucu bakmak istiyorum. Özet olarak tarama yapılan bir yerde

AddSymbol("GARAN", SymbolPeriod.Day); yerine yukarıdaki gibi 2 günlük barlar şekilde eklemek istiyorum ve bu datayı nasıl kullanabilirim.

İlginiz için teşekkürler.
Explorer kategorisinde (118 puan) tarafından | 105 kez görüntülendi

1 cevap

1 beğenilme 0 beğenilmeme
En İyi Cevap

Merhaba,

Aşağıdaki örnekteki gibi kullanabilirsiniz. Parametre seçim ekranında SymbolPeriod parametresi çıkacaktır. Bunu önemsemeyin. Oraya girdiğiniz değeri okumayacaktır. Yeni explorer dedikten sonra "CustomPeriod" isminde bir explorer oluşturup aşağıdaki kodu kullanabilirsiniz.

Kolay gelsin,

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Matriks.Data.Symbol;
using Matriks.Engines;
using Matriks.Lean.Algotrader.AlgoBase;
using Matriks.Lean.Algotrader.Models;
using Matriks.Indicators;
using Matriks.Symbols;

namespace Matriks.Lean.Algotrader
{
	public class CustomPeriod : Explorer
	{
		MOV mov;
		MOV mov2;
		
		
	        [Parameter(2)]
		public int DayPeriod;
		
		public override void OnInitForExplorer()
                {
                  AddSymbol(Symbol, new PeriodInfo(PeriodType.Day,DayPeriod));
                }
		public override void OnInit()
		{
			AddColumns(2);
			SetColumnText(0, "Mov1");
			SetColumnText(1, "Mov2");
			mov = MOVIndicator(Symbol, SymbolPeriod, OHLCType.Close, 5, MovMethod.Exponential);
			mov2 = MOVIndicator(Symbol, SymbolPeriod, OHLCType.Close, 22, MovMethod.Exponential);
		}

		public override bool OnExplorer(List<BarDataEventArgs> bardatas)
		{
			SetColumn(0, Math.Round(mov.CurrentValue, 4));
			SetColumn(1, Math.Round(mov2.CurrentValue, 4));
			if (CrossAbove(mov, mov2))
				return true;
			return false;
		}
	}
}

 


Seçkin Durgay
(4,173 puan) tarafından
tarafından seçilmiş
2,766 soru
2,649 cevap
2,144 yorum
1,943 kullanıcı