Merhaba,
Tam anlaşamadık sanırım ekran görüntüsü üzerinde anlatmaya çalışayım.
Resimdeki en soldaki rapor canlı veri, ortadaki backtest. İnceleyecek olursak backtest ve grafikteki değerlerin aynı saat diliminde geldiğini görebiliriz. Canlıda ise bar kapanış değerlerini kullanmak istediğimizden 20.17 barı 1dk sonra yani 20.18de kapanacağı için gelen veri saat 20.18 de gelmiş. 20.18 de gelmesi demek 20.18 barı olması demek değil. 20.17nin barının kapanış saati 20.18 demek.
Stratejinizi bilmediğimden işleme girmemesinin nedenini açıklamam mümkün değil. Ama aşağıdaki kodu kullanarak test ederseniz sorun olmadığını gözlemleyebilirsiniz.
İyi akşamlar
using System;
using System.Collections.Generic;
using System.Linq;
using Matriks.Data.Symbol;
using System.Windows.Media;
using Matriks.Engines;
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 test1 : MatriksAlgo
{
[SymbolParameter("BTC_USDT_BIN")]
public string Symbol;
[Parameter(SymbolPeriod.Min)]
public SymbolPeriod SymbolPeriod;
[Parameter(0.02)]
public decimal Acc;
[Parameter(0.2)]
public decimal maxAcc;
ParabolicSAR parabolicSar;
public override void OnInit()
{
parabolicSar = ParabolicSARIndicator(Symbol, SymbolPeriod, Acc, maxAcc);
AddSymbol(Symbol, SymbolPeriod);
WorkWithPermanentSignal(true);
SendOrderSequential(true);
}
public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
{
var bardata = GetBarData();
Debug("**************************");
Debug("Close : " + Ref(bardata, OHLCType.Close, 0));
Debug("ParabolicSar : " + Ref(parabolicSar, 0) + "\n");
}
}
}