Matriks Destek ve Yardım Platformu

Matriks Ürünleri ile ilgili tüm sorularınız için bizlere buradan ulaşabilirsiniz. Daha önce sorulan soruları ve verilen cevapları ilgili sekmelerden ve arama üzerinden inceleyebilirsiniz. Sağ taraftaki kategoriler üzerinden İlgilendiğiniz özelliklerle ilgili soruları filtreleyebilirsiniz. Soru ve cevapları sosyal medyada paylaşabilirsiniz. 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.

0

HighestHigh ve LowestLow formulleri ile doğru sonuç alamıyorum

Soruldu
Görüntülenme
1.370 görüntülenme
Durum
Cevaplandı

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

 

Paylaş
CevaplaBayrakladüzenlendi · newbienewbie250

1 Cevap

0

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);

 

BağlantıBayraklaOrçunMatriks Destek4.555

Yorumlar (5)

  • ▲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
    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.
    OrçunMatriks DestekBayrakla
  • ▲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
    Merhaba, durumu inceleyip dönüş yapacağız.
    OrçunMatriks DestekBayrakla
  • ▲1
    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.
    OrçunMatriks DestekBayrakla

Cevabınız

Cevap yazmak için giriş yapın.Giriş yapKayıt ol