Matriks Destek ve Yardım Platformu

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.

0

Explorer Saniyelik Data

Soruldu
Kategori
Explorer
Görüntülenme
644 görüntülenme
Durum
Cevaplandı
Merhaba Explorer da Alpha trend indikatörün 2-5-15-60 dakikalık periyotlardaki değişimini % olarak saniyelik artıp çıktığını explorerda listelemek istiyorum ve düşeni kıranlar olarak 5-15-60 dakikada düşeni kırmış mı bunu nasıl yapabilirim

bar data  değişimine göre explorerda gelen yüzdeler de saniyelik olarak değişecek şekilde ben yazmaya çalıştım ama

kripto için

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;

using System.Timers;

namespace Matriks.Lean.Algotrader

{

public class AlphaTarama : 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(16)]

public int AlphatrendPeriod1;

 

[Parameter(3)]

public decimal AlphatrendCoeff1;

 

[Parameter(Momentum.RSI)]

public Momentum AlphatrendMomentum1;

 

AlphaTrend alphaTrend;

AlphaTrend alphaTrendScan;

AlphaTrend alphaTrend5Min;

AlphaTrend alphaTrend15Min;

AlphaTrend alphaTrend60Min;

 

 

 

public override void OnInit()

{

alphaTrendScan = AlphaTrendIndicator(Symbol, SymbolPeriod, OHLCType.Close, AlphatrendPeriod1, AlphatrendCoeff1, AlphatrendMomentum1);

 

alphaTrend = AlphaTrendIndicator(Symbol, SymbolPeriod.Min, OHLCType.Close, AlphatrendPeriod1, AlphatrendCoeff1, AlphatrendMomentum1);

alphaTrend5Min = AlphaTrendIndicator(Symbol, SymbolPeriod.Min5, OHLCType.Close, AlphatrendPeriod1, AlphatrendCoeff1, AlphatrendMomentum1);

alphaTrend15Min = AlphaTrendIndicator(Symbol, SymbolPeriod.Min15, OHLCType.Close, AlphatrendPeriod1, AlphatrendCoeff1, AlphatrendMomentum1);

alphaTrend60Min = AlphaTrendIndicator(Symbol, SymbolPeriod.Min60, OHLCType.Close, AlphatrendPeriod1, AlphatrendCoeff1, AlphatrendMomentum1);

 

 

 

AddColumns(6);

SetColumnText(0, "S1");

SetColumnText(1, "S5");

SetColumnText(2, "S15");

SetColumnText(3, "S60");

 

 

 

 

}

 

 

 

 

public override bool OnExplorer(List<BarDataEventArgs> bardatas)

{

 

//dusenı Kıran

// trending degeri null ise dusen trendin bulunamadigi anlamina geliyor.

 

 

//Scan

 

var barData1S = GetBarData(Symbol, SymbolPeriod);

var ohlcData1S = GetSelectedValueFromBarData(barData1S, OHLCType.WClose);

 

//1 dakika

var barData1Min = GetBarData(Symbol, SymbolPeriod.Min);

var ohlcData1 = GetSelectedValueFromBarData(barData1Min, OHLCType.WClose);

 

//5 dakika

 

var barData5Min = GetBarData(Symbol, SymbolPeriod.Min5);

var ohlcData5 = GetSelectedValueFromBarData(barData5Min, OHLCType.WClose);

 

 

 

//15 dakika

var barData15Min = GetBarData(Symbol, SymbolPeriod.Min15);

var ohlcData15 = GetSelectedValueFromBarData(barData15Min, OHLCType.WClose);

 

// 60 Dk

var barData60Min = GetBarData(Symbol, SymbolPeriod.Min60);

var ohlcData60 = GetSelectedValueFromBarData(barData60Min, OHLCType.WClose);

 

var bardata = bardatas.FirstOrDefault() ? .BarData;

 

 

 

var alphaValue = alphaTrend.Value[1][alphaTrend.CurrentIndex];

var preValue = alphaTrend.Value[0][alphaTrend.CurrentIndex];

var percentage = ((alphaValue - preValue) / preValue) * 100;

 

var alphaValue5 = alphaTrend5Min.Value[1][alphaTrend5Min.CurrentIndex];

var preValue5 = alphaTrend5Min.Value[0][alphaTrend5Min.CurrentIndex];

var percentage5 = ((alphaValue5 - preValue5) / preValue5) * 100;

 

 

var alphaValue15 = alphaTrend15Min.Value[1][alphaTrend15Min.CurrentIndex];

var preValue15 = alphaTrend15Min.Value[0][alphaTrend15Min.CurrentIndex];

var percentage15 = ((alphaValue15 - preValue15) / preValue15) * 100;

 

var alphaValue60 = alphaTrend60Min.Value[1][alphaTrend60Min.CurrentIndex];

var preValue60 = alphaTrend60Min.Value[0][alphaTrend60Min.CurrentIndex];

var percentage60 = ((alphaValue60 - preValue60) / preValue60) * 100;

 

 

if (CrossAbove(alphaTrendScan, alphaTrendScan, 1, 0) && alphaTrendScan.Value[1][alphaTrendScan.CurrentIndex] < ohlcData1S)

{

SetColumn(0, Math.Round(percentage, 4));

SetColumn(1, Math.Round(percentage5, 4));

SetColumn(2, Math.Round(percentage15, 4));

SetColumn(3, Math.Round(percentage60, 4));

 

return true;

}

return false;

 

 

 

}

/// <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>

 

 

 

 

}

}
Paylaş

1 Cevap

0

Merhaba,

"Explorer da Alpha trend indikatörün 2-5-15-60 dakikalık periyotlardaki değişimini % olarak saniyelik artıp çıktığını explorerda listelemek istiyorum"

Explorerdaki yapı tarama başladığında tüm veriler bir sefer çekilir ve koşul sağlanması halinde listelenmektedir.

AlphaTrend indikatörünün anlık değişimini takip etmek için Roc() indikatörünü kullanabilirsiniz.

AlphaTrend alphaTrend;

ROC roc;

public override void OnInit()
{
	alphaTrend = AlphaTrendIndicator(Symbol, SymbolPeriod, OHLCType.Close, 14, 1, Momentum.MFI);
	roc = ROCIndicator(alphaTrend, 1);

	AddColumns(1);
	SetColumnText(0, "Değişim");
}

public override bool OnExplorer(List<BarDataEventArgs> bardatas)
{
	SetColumn(0, roc.CurrentValue);
	return true;
}

Hazır explorer listesinde düşeni kıran örneği bulunmaktadır.

 

Unblocked Games offering a wide range of experiences: action, puzzle, platform, racing, clicker mechanics, strategy, sports, even horror.
https://unblocked1games.github.io
BağlantıBayraklaKripexMatriks Destek16.499

Cevabınız

Cevap yazmak için giriş yapın.Giriş yapKayıt ol