Merhaba,
Oluşturmaya çalıştığım explorerda grafiğin 60dk olmasını fakat taramanın 2 indikatörde 120 dk olmasını istiyorum.
Parametre olarak SymbolPeriod.Min120 ekledim. İndikatörler içinde de SymbolPeriod yerine koydum fakat yapamadım. Yardımcı olabilir misiniz.
Zuu ve M indikatörleri aşağıdaki koşullarda fakat 120dakikalık hallerinde tarama yapmasını istiyorum. Fakat sembol periyodu da 60 dakika olacak.
Kod aşağıdaki gibi;
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 ZuuMV5 : 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(5)]
public int Zuu_kopyaYGT11;
[Parameter(2)]
public int Zuu_kopyaYGT21;
[Parameter(2)]
public decimal MKatsayi1;
[Parameter(8)]
public int Copc_kopyaMOVPeriod1;
MatriksIndicator ZUU_Kopya;
MatriksIndicator M;
MatriksIndicator COPC_Kopya;
public override void OnInit()
{
ZUU_Kopya = new ZUU_Kopya();
ZUU_Kopya.SetIndicatorParameters("YGT1", Zuu_kopyaYGT11);
ZUU_Kopya.SetIndicatorParameters("YGT2", Zuu_kopyaYGT21); RegisterUserIndicator(ZUU_Kopya, Symbol, SymbolPeriod, OHLCType.Close, 5);
M = new M();
M.SetIndicatorParameters("Katsayi", MKatsayi1); RegisterUserIndicator(M, Symbol, SymbolPeriod, OHLCType.Close, 5);
COPC_Kopya = new COPC_Kopya();
COPC_Kopya.SetIndicatorParameters("MOVPeriod", Copc_kopyaMOVPeriod1); RegisterUserIndicator(COPC_Kopya, Symbol, SymbolPeriod, OHLCType.Close, 5);
AddColumns(3);
SetColumnText(0, "Fiyat-1");
SetColumnText(1, "Fiyat");
SetColumnText(2, "Copc");
}
/// <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 barData1 = GetBarData(Symbol, SymbolPeriod);
var ohlcData1 = GetSelectedValueFromBarData(barData1, OHLCType.Close);
var bardata = bardatas.FirstOrDefault() ? .BarData;
var ohlcData2 = GetSelectedValueFromBarData(barData1, OHLCType.Close, 1);
SetColumn(0, ohlcData2);
SetColumn(1, bardata.Close);
SetColumn(2, COPC_Kopya.Value[0][COPC_Kopya.CurrentIndex]);
if (CrossAbove(ZUU_Kopya, ZUU_Kopya, 0, 1) && M.Value[0][M.CurrentIndex] > ohlcData1)
{
return true;
}
return false;
}
}
}