Merhabalar,
StochasticRsi ile fiyat arasındaki pozitif uyumsuzluk sonuçlarını veren explorer taraması aşağıdaki gibidir.
Lütfen inceleyiniz.
İndikatör tanımlama kısmında ise, Pozitif uyumsuzluk fiyatların düşüş trendinde olmasına rağmen RSI’ın değerinin artmasıdır.
Dilerseniz grafik ekranınıza StochasticRsi indikatörünü ekleyerek teyit edebilirsiniz. Ekran görüntüsü aşağıda mevcuttur.
İyi çalışmalar.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Matriks.Data.Symbol;
using Matriks.Engines;
using Matriks.Lean.Algotrader.AlgoBase;
using Matriks.Lean.Algotrader.Models;
using Matriks.Indicators;
namespace Matriks.Lean.Algotrader
{
public class StochasticRsiPozitifUyumsuzlukExp : Explorer
{
[Parameter(14)]
public int StocrsiPeriod1;
[Parameter(7)]
public int StocrsiKPercent1;
[Parameter(21)]
public int BarSayısı;
StocRSI stocRSI;
public override void OnInit()
{
stocRSI = StocRSIIndicator(Symbol, SymbolPeriod, OHLCType.Close, StocrsiPeriod1, StocrsiKPercent1);
AddColumns(5);
SetColumnText(0, "Bar Count");
SetColumnText(1, "Ref Low");
SetColumnText(2, "Close");
SetColumnText(3, "LLV(StocRsi)");
SetColumnText(4, "StocRsi");
}
public override bool OnExplorer(List<BarDataEventArgs> bardatas)
{
var bardata = GetBarData();
var BarDataIndex = bardatas.FirstOrDefault().BarDataIndex;
var LLV = LowestLow(stocRSI, BarSayısı);
if (LLV < stocRSI.CurrentValue)
{
for (int i = 1; i <= BarSayısı; i++)
{
int index = Ref(stocRSI, i) == LLV? i:0;
if (index>1)
{
var refLow = bardata.Low[BarDataIndex - index];
var close = bardata.Close[BarDataIndex];
if (refLow >close)
{
SetColumn(0, index);
SetColumn(1, refLow);
SetColumn(2, close);
SetColumn(3, Math.Round(LLV, 2));
SetColumn(4, Math.Round(stocRSI.CurrentValue, 2));
return true;
}
}
}
}
return false;
}
}
}