Merhaba,
Önceki OHLC ve indikatör değerlerine ulaşmak için Ref() fonksiyonu kullanılır.
aşağıdaki örneği inceleyebilirsiniz.
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 Ornek : MatriksAlgo
{
[SymbolParameter("F_XU0301020")]
public string Symbol;
[Parameter(SymbolPeriod.Min)]
public SymbolPeriod SymbolPeriod;
[Parameter(1)]
public int Quantity;
MOV mov;
ParabolicSAR parabolicSar;
public override void OnInit()
{
parabolicSar = ParabolicSARIndicator(Symbol,SymbolPeriod, (decimal)0.02,(decimal)0.2);
mov = MOVIndicator(Symbol, SymbolPeriod, OHLCType.Close, 5, MovMethod.Simple);
AddSymbol(Symbol, SymbolPeriod);
SendOrderSequential(true);
WorkWithPermanentSignal(false);
}
public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
{
var barDataModel = GetBarData();
// önceki ohlc değerleri için - 5 önceki değer için -5 yazılır
decimal _refOhlc = barDataModel.Close[(barDataModel.Close.Count -1) -5];
// önceki indikatör değerleri için - 3 önceki değer için -3 yazılır
decimal _refIndikator = Ref(mov, -3);
decimal _refIndikatorPsar = Ref(parabolicSar, -1);
Debug(_refOhlc + " - " + _refIndikator);
}
}
}