0 beğenilme 0 beğenilmeme
928 kez görüntülendi
Merhaba,

MATRIKS IQ Explorer kullanarak hareketli ortalamayı BUGÜN yukarı kesen hisseleri bulmak istiyorum. Örneğin;

200 günlük hareketli ortalamasını BUGÜN yukarı kesen hisseleri nasıl tarayabilirim?
Algoritmik Trading kategorisinde (73 puan) tarafından | 928 kez görüntülendi

1 cevap

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

Merhaba,

Aşağıdaki explorer stratejisini deneyiniz.

Strateji adının MovCrossExp olmasına dikkat ediniz.

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;

namespace Matriks.Lean.Algotrader
{
	public class MovCrossExp : Explorer
	{
		[Parameter(200)]
		public int MovPeriod;
		
		[Parameter(MovMethod.Exponential)]
		public MovMethod movMethod;
		
		MOV mov;
		public override void OnInit()
		{
			AddColumns(2);
			SetColumnText(0, "Mov");
			SetColumnText(1, "Close");
			mov = MOVIndicator(Symbol, SymbolPeriod, OHLCType.Close, MovPeriod, movMethod);
		}

		public override bool OnExplorer(List<BarDataEventArgs> bardatas)
		{
			var bardata=GetBarData();
			var close=bardatas.FirstOrDefault().BarData.Close;
			SetColumn(0, Math.Round(mov.CurrentValue, 4));
			SetColumn(1, Math.Round(close, 4));
			if (CrossAbove(bardata,mov,OHLCType.Close))
				return true;
			return false;
		}
	}
}

 

(15,422 puan) tarafından
tarafından seçilmiş
0 0
merhabalar, buradaki [Parameter(200)] ifadeyi 100 yaptığımızda 100 günlük ortalamayı yukarı kesenleri listeler değil mi bu şekilde istediğimiz ortalama değeri için tarama yapabiliriz.
1 0
Merhaba.

Kodun içeriği ile uğraşmanız gerekmeyecektir esasen.

Yeni explorer tanımlamasını yapınız. Hazır explorer stratejileri içine eklensin.

Çalıştır dediğiniz zaman, size gelecek panelde periyodu değiştirme seçeneği de olduğunu göreceksiniz.

İyi çalışmalar
7,509 soru
7,511 cevap
4,405 yorum
8,750 kullanıcı