MatriksIQ Destek
Matriks Destek
Matriks Web Destek
Matriks Mobile Destek
0 beğenilme 0 beğenilmeme
430 kez görüntülendi
M IQ da explorer özelliği ile basit indikatör taraması yapmak istiyorum. Sistem beni kurulumla masaüstüne inen dosyalara yönlendiriyor. Ancak bu dosyalar arasında aradığım indikatörü bir türlü bulamıyorum. (IQ ana ekranında da olmasına rağmen) Örnek: Bist 100 içinde default olarak x indikatörün, x seviyesindeki değerini sağlayanları bana filtrele gibi basit tarama. Kolay gelsin.
Algoritmik Trading kategorisinde (34 puan) tarafından | 430 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba, bahsettiginiz indikatoru kod icerisinde eklemeniz gerekmekte. IQ Algo menusu altinda, Hazir Explorer listesi sekmesinde ornek explorer kod'larini Scripti goster diyerek gorebilirsiniz. Kod icerisine istediginiz indikatoru ekledikten sonra, filtrenenen sonuclarin uzerinde olmasini istediginiz seviyeyi canli fiyat ya da manuel olarak belirleyebilirsiniz.

Fiyati 200 gunluk hareketli ortalamanin uzerinde olan hisseleri filtreleyen bir kod ornegi:

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;

//==========================================ACIKLAMA====================================================//
//200 Günlük basit ortalamasının üstünde ve altında olan enstrümanları bulur. 200 Günlük basit 			//
//ortalamasının üstünde olanlar: Sonuçlar, altında olanlar: Filtrelenenler sekmesinde listelenmektedir	//

namespace Matriks.Lean.Algotrader
{
	public class Bullish200SMA : Explorer
	{
		[Parameter(200)]
		public int MovPeriod1;

		MOV mov;

		public override void OnInit()
		{
			AddColumns(2);
			SetColumnText(0, "Mov1");
			mov = MOVIndicator(Symbol, SymbolPeriod, OHLCType.Close, MovPeriod1, MovMethod.Simple);
		}

		public override bool OnExplorer(List<BarDataEventArgs> bardatas)
		{
			var barData = bardatas.FirstOrDefault();
			var close = barData.BarData.Close;

			SetColumn(0, Math.Round(mov.CurrentValue, 4));

			if (mov.CurrentValue < close)
				return true;
			return false;
		}
	}
}

 

(4,735 puan) tarafından
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.



4,285 soru
4,259 cevap
2,939 yorum
3,177 kullanıcı