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

Son Bardata hareketli ortalamanın üstünde kapanış yapanları bulmak için explorer nasıl oluşturabilirim

Soruldu
Görüntülenme
842 görüntülenme
Durum
Cevaplandı
Explorer sihirbazında oluştruduğum explorerda son bar için değil genel olarak hareketli ortalamı kıran tüm enstrumanlar çıkıyor yada son bar için istediğimde ise henüz kapanmamış bar için bunu kesenleri oluşturabiliyoruz. Ama benim istediğim 100 günlük ortalama da son barda kapanış yapmış ve henüz yeni barı yeni açmış olanları bulmak istiyorum.yani açık olan bardan bir önceki barın kapanış yapanları bulmak istyiorum.

 

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 SMAEXPLORER : 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(100)]

public int SmaPeriod1;

 

SMA sma;

 

 

 

public override void OnInit()

{

sma = SMAIndicator(Symbol, SymbolPeriod, OHLCType.Close, SmaPeriod1);

 

 

AddColumns(0);

 

 

}

 

 

/// <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 bardata = bardatas.FirstOrDefault() ? .BarData;

 

if (CrossBelow(sma, barData1, OHLCType.Close, 0))

{

return true;

}

return false;

 

 

}

}

}
Paylaş

1 Cevap

0

Merhaba, sizin için bir örnek hazırladım.

Lütfen deneme hesabında ufak miktarlarla test ediniz.

Doğru çalıştığına emin olmadan kullanmayınız.

 

Aşağıda ki eğitim dokümanlarını inceleyebilirsiniz.

EXPLORER SİHİRBAZI İLK ÖRNEK

https://www.youtube.com/watch?v=u0zM3J64EFY&t=246s

 

Algoritma sihirbazı:

https://www.youtube.com/watch?v=Rfg_3WvCv5s&t=2s

 

https://destek.matriksdata.com/?qa=4438/iq-algoritma-sihirbaz%C4%B1n%C4%B1-nas%C4%B1l-kullan%C4%B1r%C4%B1z

 

https://destek.matriksdata.com/?qa=4448/algoritma-sihirbaz%C4%B1-kullan%C4%B1m%C4%B1-%C3%B6rnekler-%C3%A7oklu-ko%C5%9Ful-olu%C5%9Fturma

 

Matematiksel olarak tarifi:

Fiyat, Emayı yukarı kırdıktan sonra açılan yeni barın ema'nın değerinden büyük olması:

ema(2 bar önceki değeri) >= fiyat (2 bar önceki değeri)

ema(1 bar önceki değeri) < fiyat(1 bar önceki değeri)

ema < fiyat

 

BağlantıBayraklamuratkircaModeratör517

Cevabınız

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