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

Pmax Explorer ile ilgili

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

Merhaba 
Hazır Exp. listesinde PMAX_Bull veya PMAX_Bear ile tarama yapıyorum. Gelen sonuçlar örneğin PMAX_Bull ile tüm AL pozisyonunda olanları gösteriyor. Halbuki ben "Son Bar" da AL pozisyonuna geçeni yada "SAT"  pozisyonuna geçeni görmek istiyorum. Pozisyonun içinde olanı görmek istemiyorum.

Şurada bu konuyu tartışmıştık. İQ güncellenmeden önce Pmax i import edip bir şekilde desteğinizle çalıştırmıştık.  Şimdi bu konunun sonundaki kodlarda çalışmyor. Sanırım kodların güncellenmesi gerek.

Şöyle birşey denedim. Kodlar hata vermiyor ama yukarıdaki tanıma uygun şekilde de çalışmıyor. 
Desteğinizi rica ederim.

Amacımız : Son barda AL veya SAT pozisyonuna geçenleri görmek, sonrasında taramayı örneğin 30 dakikada tekrarla şeklinde takip edebilmek. 
 

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 PmaxNev : Explorer
	{
	    [Parameter(10)]
        public int ATRPeriod;
        [Parameter(10)]
        public int MovPeriod;
        [Parameter(3)]
        public decimal Coefficient;
        [Parameter(MovMethod.E)]
        public MovMethod MovMethod;

        PMaxIndicator pmaxIndicator;

        public override void OnInit()
        {
            pmaxIndicator = PMaxIndicators(Symbol, SymbolPeriod, ATRPeriod, MovPeriod, Coefficient, MovMethod);

            AddColumns(2);
            SetColumnText(0, "PMAX_ST");
            SetColumnText(1, "PMAX_KLine");
			SetColumnText(2, "EmirYönü");
        }

        public override bool OnExplorer(List<BarDataEventArgs> bardatas)
        {
			var currentBar = bardatas.Last().BarDataIndex;
			
            SetColumn(0, Math.Round(pmaxIndicator.StLine.CurrentValue, 4));
            SetColumn(1, Math.Round(pmaxIndicator.KLine.CurrentValue, 4));
			
			
            if (pmaxIndicator.KLine.CurrentValue > pmaxIndicator.StLine.CurrentValue)
                return true;
            return false;
			
			
			if (pmaxIndicator.Value[1][currentBar - 1] < pmaxIndicator.Value[0][currentBar - 1] && pmaxIndicator.Value[1][currentBar] > pmaxIndicator.Value[0][currentBar])
			{
				SetColumn(2, "AL");
				return true;
			}
			
			else if (pmaxIndicator.Value[0][currentBar - 1] < pmaxIndicator.Value[1][currentBar - 1] && pmaxIndicator.Value[0][currentBar] > pmaxIndicator.Value[1][currentBar])
			{
				SetColumn(2, "SAT");
				return true;
				}
			
			
        }
		
		
		
	}
	
}

 

Paylaş

1 Cevap

1

Merhaba,

Linkte belirtiğiniz konudaki explorer örneğini düzenledim.

Yukarıda yazdığınız örnekte Kline >STLine büyük olan ve kesişim olan sembolleri raporlayacaktır.

ilk if bloğunu kaldırıp ikinci if bloğunun sonuna else ekleyip içine return false; yazıp deneyebilirsiniz.

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 PmaxCrossExp : Explorer
	{
		[Parameter(10)]
		public int AtrPeriod;

		[Parameter(10)]
		public int MovPeriod;

		[Parameter(3)]
		public decimal Coeff;

		PMaxIndicator pmax;
		public override void OnInit()
		{
			pmax = PMaxIndicators(Symbol, SymbolPeriod, AtrPeriod, MovPeriod, Coeff, MovMethod.E);

			AddColumns(3);
			SetColumnText(0, "ST");
			SetColumnText(1, "K");
			SetColumnText(2, "EmirYönü");
		}

		public override bool OnExplorer(List<BarDataEventArgs> bardatas)
		{
			SetColumn(0, Math.Round(pmax.StLine.CurrentValue, 4));
			SetColumn(1, Math.Round(pmax.KLine.CurrentValue, 4));

			if (CrossAbove(pmax.KLine, pmax.StLine))
			{
				SetColumn(2, "AL");
				return true;
			}else if (CrossBelow(pmax.KLine, pmax.StLine))
			{
				SetColumn(2, "SAT");
				return true;
			}else
			{
				return false;
			}
		}
	}
}

 

Unblocked Games offering a wide range of experiences: action, puzzle, platform, racing, clicker mechanics, strategy, sports, even horror.
https://unblocked1games.github.io
BağlantıBayraklaKripexMatriks Destek16.499

Cevabınız

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