MatriksIQ Destek
Matriks Destek
Matriks Web Destek
Matriks Mobile Destek
0 beğenilme 0 beğenilmeme
135 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 (113 puan) tarafından | 135 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
(3,833 puan) tarafından
tarafından seçilmiş
3,819 soru
3,731 cevap
2,664 yorum
2,774 kullanıcı