Matrik IQ ile farklı zaman periyotlarında tarama nasıl yapabiliriz ?
- Soruldu
- Kategori
- Explorer
- Görüntülenme
- 2.527 görüntülenme
- Durum
- Cevaplandı
Matriks Ürünleri ile ilgili tüm sorularınız için bizlere buradan ulaşabilirsiniz. Daha önce sorulan soruları ve verilen cevapları ilgili sekmelerden ve arama üzerinden inceleyebilirsiniz. Sağ taraftaki kategoriler üzerinden İlgilendiğiniz özelliklerle ilgili soruları filtreleyebilirsiniz. Soru ve cevapları sosyal medyada paylaşabilirsiniz. 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.
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.
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.
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.
Sitenin çalışması için gerekli çerezleri kullanıyoruz. Ziyaretleri anlamak için analitik çerezleri yalnızca onayınızla kullanırız. Çerez Politikası
Kodu ekledim ve n bar aktifleşti ancak halen Burada ki gibi günlük tarama yapmakta.. bunu nasıl çözebilirim