0 beğenilme 0 beğenilmeme
847 kez görüntülendi

Başlıkta belirttiğim formülleri kullandığım zaman grafikle çelişen sonuçlar veriyor.

			decimal enyuksek = HighestHigh(OHLCType.High, 64);
			decimal endusuk = LowestLow(OHLCType.Low, 64);
            ...
            Debug("enyuksek = " + enyuksek);
			Debug("endusuk = " + endusuk);

Backtest yaptığımda (TKFEN) aşağıdaki değerleri veriyor.

9.10.2020 13:56:00 : enyuksek = 15,28
9.10.2020 13:56:00 : endusuk = 15,02

Halbuki grafikteki değerlere göre 15,09 ve 15:05 olmalı. Nerede yanlış yapıyorum acaba?

Görsel için: https://prnt.sc/uy00yz

 

Algoritmik Trading kategorisinde (250 puan) tarafından | 847 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhabalar, 

Aşağıdaki kod parçasını deneyebilir misiniz? Eğer halen yanlış değerler geliyorsa grafikteki periyotla stratejideki periyotun aynı olup olmadığını kontrol ediniz. 

İyi çalışmalar

			var SymbolData = GetBarData();
			decimal enyuksek = HighestHigh(SymbolData, OHLCType.High, 64);
			decimal endusuk = LowestLow(SymbolData, OHLCType.Low, 64);
			...
			Debug("enyuksek = " + enyuksek);
			Debug("endusuk = " + endusuk);

 

(4,555 puan) tarafından
0 0
Aynı şekilde yanlış sonuç veriyor. Bir çok periyodda yanlış sonuç veriyor. Ekran görüntüsünü de eklemiştim. Siz de denerseniz görebilirsiniz.
0 0
Tekrar merhaba, tekrar test ettim sonuçlar doğru geliyor.

1. Grafiğinizin lineerde olması gerekir.

2. Grafikteki periyot ile stratejinin periyodu aynı olması gerekir.

3. Bu fonksiyonlar son datadan itibaren geriye istenilen bar sayısı kadar gider mesafe ölçeri son bara aldığınıza dikkat edin.

Bu uyarıları dikkate alarak tekrar test eder misiniz? Eğer halen olmuyorsa stratejinizi paylaşın inceleyelim.
0 0

 Aşağıdaki kodu dakikalık periyodda 25/11/2020 10:00 ile 25/11/2020 21:00 arası backtest yaptığım zaman 10:42den itibaren seans sonuna kadar enyuksek = 259,8 , endusuk = 233 çıkıyor. Halbuki 259,8i gördüğü dakika 17:02. Örneğin saat 15te ne 233e indi ne 259,8e çıktı ama yine de 15:00ten önceki 64 dk içinde 259,8i yada 233ü görmüş gibi veri veriyor.

using System;
using System.Collections.Generic;
using System.Linq;
using Matriks.Data.Symbol;
using Matriks.Engines;
using Matriks.Indicators;
using Matriks.Symbols;
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 highesthigh3 : MatriksAlgo
	{

		[SymbolParameter("OTKAR")]
		public string Symbol;

		[Parameter(SymbolPeriod.Min)]
		public SymbolPeriod SymbolPeriod;


		public override void OnInit()
		{

			AddSymbol(Symbol, SymbolPeriod);
			WorkWithPermanentSignal(true);
			SendOrderSequential(false);
		}

		public override void OnInitComplated()
		{
		}
		public override void OnDataUpdate(BarDataEventArgs barData)
		{
			var barDataModel = GetBarData();
			var SymbolData = GetBarData();
			decimal enyuksek = HighestHigh(SymbolData, OHLCType.High, 64);
			decimal endusuk = LowestLow(SymbolData, OHLCType.Low, 64);
			Debug("enyuksek = " + enyuksek);
			Debug("endusuk = " + endusuk);

			{

			}

		}
	}
}

 

0 0
Merhaba, durumu inceleyip dönüş yapacağız.
1 0
Tekrar merhaba, biraz geç oldu kusura bakmayın. MatriksIQ'yu yeni versiyona güncelledikten sonra tekrar test eder misiniz? Hatalı durumu düzelttik. Bildiriminiz için teşekkürler.
Hoş geldiniz, Matriks Destek Platformu sizlere sorularınızın hızlıca cevaplanması için bir ortam sağlar. 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.



8,636 soru
8,590 cevap
4,821 yorum
19,786 kullanıcı