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.

1 Cevap

1

Merhaba,

Aşağıdaki kodu 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

Yorumlar (9)

  • ▲0

    İlginiz için teşekkür ederim Kripex

    Tarama çalışıyor ama hangi değerlere göre getiriyor?
    Alta görüldüğü gibi sadece " sembol ve sembol peiyod" seçilebilir.

    Şu ayarların değiştirilebilir olarak görülmesini bekliyordum.
    ATR - MOV - COEFF- Haraketli ortalama seçimi

    Örneğin : Şu değerlerde tarama yapmak istiyorum.
    atr 10 :  mov : 10 coeff : 2.1 - TFS

  • ▲0

    Aşağıdaki gibi olur sanırım. Interface yerine doğrudan PMax classı çağırınca properrty erişimi mümkün.

    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 PMaxExp : Explorer
        {
            [Parameter(10)]
            public int AtrPeriod;
    
            [Parameter(10)]
            public int MovPeriod;
    
            [Parameter(2)]
            public int Coeff;
    
            [Parameter(MovMethod.Exponential)]
            public MovMethod MovMethod;
    
    
            PMax pmax;
    
            public override void OnInit()
            {
                pmax = new PMax();
    
                pmax.AtrPeriod = AtrPeriod;
                pmax.MovPeriod = MovPeriod;
                pmax.Coeff = Coeff;
                pmax.MovMethod = MovMethod;
    
    
                RegisterUserIndicator(pmax, Symbol, SymbolPeriod, OHLCType.Close, 5);
    
                AddColumns(3);
                SetColumnText(0, "ST");
                SetColumnText(1, "K");
                SetColumnText(2, "EmirYönü");
    
            }
    
            public override bool OnExplorer(List<BarDataEventArgs> bardatas)
            {
    
                var currentBar = bardatas.Last().BarDataIndex;
    
                SetColumn(0, Math.Round(pmax.Value[0][currentBar], 4));
                SetColumn(1, Math.Round(pmax.Value[1][currentBar], 4));
    
                if (pmax.Value[1][currentBar - 1] < pmax.Value[0][currentBar - 1] && pmax.Value[1][currentBar] > pmax.Value[0][currentBar])
                {
                    SetColumn(2, "AL");
                    return true;
                }
                else if (pmax.Value[0][currentBar - 1] < pmax.Value[1][currentBar - 1] && pmax.Value[0][currentBar] > pmax.Value[1][currentBar])
                {
                    SetColumn(2, "SAT");
                    return true;
                }
                else
                {
                    return false;
                }
            }
        }
    }

     

  • ▲0
    Şuan için indikatörün default değerleriyle çalıştırabilirsiniz.

    :Önümüzdeki versiyonla kullanıcı indikatörün parametrelerini değiştirilebilecek.
    KripexMatriks DestekBayrakla
  • ▲0
    Emekleriniz ve ilginiz için teşekkürler.
    Default değerler ile çalışıyor.
    Önümüzdeki versiyonu dört gözle beklemekteyim.
  • ▲0
    biraz bekli uğraştır ama kod içerinden default değerli değiştirip versiyona kadar bu şekilde kullanabilirsiniz.
    KripexMatriks DestekBayrakla
  • ▲0
    Öyle yaptım. Pmax indikatörünün varsayılan değerlerini kendime göre düzenledim. PmaxExp de ona göre çalışıyor. Test ettim sorun yok. Çok teşekkürler.
  • ▲0
    yeni versiyon çıktı. hazır indikatörlere ve explorer listesine pmax indikatörü ve tarama formülü eklendi.
    KripexMatriks DestekBayrakla
  • ▲0
    Ben bu kodu kullanıyorum ama bende hata veriyor? nedenini biliyormusunuz?
  • ▲0
    son 21 barda pmax al veya sat veren şeklinde nasıl taratırız?

Cevabınız

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