Pmax indikatöründe yukarı trendde olanlar ve inverse fisher transform on cci v2 indikatöründe -0.5/0.5 ara bölgede olan sembolleri bulmak için bir explorer yazmaya çalıştım ancak tarama sonucu herhangi bir veri dönmüyor. Nerede hata yapıyorum?
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 PMAX_IFTonCCI : Explorer
{
[Parameter(5)]
public int ATRPeriod;
[Parameter(15)]
public int MovPeriod;
[Parameter(3)]
public decimal Coefficient;
[Parameter(MovMethod.VAR)]
public MovMethod MovMethod;
[Parameter(100)]
public int İftcciv2UpLevel1;
[Parameter(-100)]
public int İftcciv2DownLevel1;
[Parameter(14)]
public int İftcciv2CciPeriod1;
[Parameter(9)]
public int İftcciv2MovPeriod1;
PMaxIndicator pmaxIndicator;
MatriksIndicator IFTCCIV2;
public override void OnInit()
{
pmaxIndicator = PMaxIndicators(Symbol, SymbolPeriod, ATRPeriod, MovPeriod, Coefficient, MovMethod);
AddColumns(2);
SetColumnText(0, "PMAX_ST");
SetColumnText(1, "PMAX_KLine");
IFTCCIV2 = new IFTCCIV2();
IFTCCIV2.SetIndicatorParameters("UpLevel", İftcciv2UpLevel1);
IFTCCIV2.SetIndicatorParameters("DownLevel", İftcciv2DownLevel1);
IFTCCIV2.SetIndicatorParameters("CciPeriod", İftcciv2CciPeriod1);
IFTCCIV2.SetIndicatorParameters("MovPeriod", İftcciv2MovPeriod1);
}
public override bool OnExplorer(List<BarDataEventArgs> bardatas)
{
SetColumn(0, Math.Round(pmaxIndicator.StLine.CurrentValue, 2));
SetColumn(1, Math.Round(pmaxIndicator.KLine.CurrentValue, 2));
if (pmaxIndicator.KLine.CurrentValue > pmaxIndicator.StLine.CurrentValue){
if (IFTCCIV2.Value[0][IFTCCIV2.CurrentIndex] > IFTCCIV2.Value[2][IFTCCIV2.CurrentIndex] && IFTCCIV2.Value[0][IFTCCIV2.CurrentIndex] < IFTCCIV2.Value[1][IFTCCIV2.CurrentIndex]){
return true;
}
}
return false;
}
}
}