Geçmiş bar RSI verisi
- Soruldu
- Kategori
- Algoritmik Trading
- Görüntülenme
- 1.278 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.
Merhaba.
Eski bardatalara aşağıdaki örnekte olduğu gibi ulaşabilirsiniz.
İyi çalışmalar
public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
{
// Stratejideki periyotta bardatalarını çağırılıyor.
var bardata=GetBarData();
// Son Fiyat alınıyor.
var SonFiyat=barDataCurrentValues.LastUpdate.Close;
// Ref fonksiyonu ile bardatadaki eski datalara ulaşılabilir.
// OHLCType.Close yerine Open,High,Low yazarak diğer verilere de ulaşabilirsiniz
// Ref(bardata,OHLCType.Close,1) fonksiyonunun sonuna 1 yazarak bir önceki kapanış değerine ulaşıyoruz.
// 1 yerine başka sayı girerek daha eski değerlere ulaşabilirsiniz.
var OncekiKapanişDegeri=Ref(bardata,OHLCType.Close,1);
}
Merhaba,
Ref() fonksiyonu hem bardata hem de indikatörlerin geçmiş verilerine ulaşabilmenizi sağlar.
Kullanımı:
using System;
using System.Collections.Generic;
using System.Linq;
using Matriks.Data.Symbol;
using Matriks.Engines;
using System.Windows.Media;
using Matriks.Indicators;
using Matriks.Symbols;
using Matriks.AlgoTrader;
using Matriks.Trader.Core;
using Matriks.Trader.Core.Fields;
using Matriks.Trader.Core.TraderModels;
using Matriks.Lean.Algotrader.AlgoBase;
using Matriks.Lean.Algotrader.Models;
using Matriks.Lean.Algotrader.Trading;
namespace Matriks.Lean.Algotrader
{
public class prevRsi : MatriksAlgo
{
// 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.
[SymbolParameter("GARAN")]
public string Symbol;
[Parameter(SymbolPeriod.Min5)]
public SymbolPeriod SymbolPeriod;
RSI rsi;
/// <summary>
/// Strateji ilk çalıştırıldığında bu fonksiyon tetiklenir. Tüm sembole kayit işlemleri,
/// indikator ekleme, haberlere kayıt olma işlemleri burada yapılır.
/// </summary>
public override void OnInit()
{
rsi = RSIIndicator(Symbol, SymbolPeriod, OHLCType.Close, 14);
AddSymbol(Symbol, SymbolPeriod);
//Eger backtestte emri bir al bir sat seklinde gonderilmesi isteniyor bu true set edilir.
//Alttaki satırı silerek veya false geçerek emirlerin sirayla gönderilmesini engelleyebilirsiniz.
SendOrderSequential(true);
}
/// <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 void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
{
var prevRsi = Ref(rsi, 1);
//Buradaki 1 kaç bar önceki rsi ulaşmak istenildiğini belirtir.
var rsiCurrentValue = rsi.CurrentValue;
Debug("Şu anki rsi değeri : "+rsiCurrentValue);
Debug("Bir önceki rsi değeri : "+prevRsi+"\n");
}
}
}
İ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ı