0 beğenilme 0 beğenilmeme
402 kez görüntülendi
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;

 

 

}

}

}
Explorer kategorisinde (14 puan) tarafından | 402 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba,

kod içinde ZUU_Kopya ve M indikatörünü için periyot olarak kod içinde aşağıdaki gibi SymbolPeriod.Min120 olarak seçip tarama yaparken parametre ekranında 60DK seçip deneyebilirsiniz.


 

ZUU_Kopya = new ZUU_Kopya(); 
ZUU_Kopya.SetIndicatorParameters("YGT1", Zuu_kopyaYGT11);
ZUU_Kopya.SetIndicatorParameters("YGT2", Zuu_kopyaYGT21); 
RegisterUserIndicator(ZUU_Kopya, Symbol, SymbolPeriod.Min120, OHLCType.Close, 5); 

M = new M(); 
M.SetIndicatorParameters("Katsayi", MKatsayi1); 
RegisterUserIndicator(M, Symbol, SymbolPeriod.Min120, OHLCType.Close, 5);

 

(15,892 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.



8,635 soru
8,589 cevap
4,821 yorum
19,782 kullanıcı