MatriksIQ Destek
Matriks Destek
Matriks Web Destek
Matriks Mobile Destek
0 beğenilme 0 beğenilmeme
252 kez görüntülendi
Merhaba rica etsem Pmax explorer dosyası paylaşa bilirmisiniz?

Teşekkürler.
Algoritmik Trading kategorisinde (50 puan) tarafından | 252 kez görüntülendi

1 cevap

1 beğenilme 0 beğenilmeme

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

 

(5,761 puan) tarafından
0 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 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 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.
0 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 0
biraz bekli uğraştır ama kod içerinden default değerli değiştirip versiyona kadar bu şekilde kullanabilirsiniz.
0 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 0
yeni versiyon çıktı. hazır indikatörlere ve explorer listesine pmax indikatörü ve tarama formülü eklendi.
0 0
Ben bu kodu kullanıyorum ama bende hata veriyor? nedenini biliyormusunuz?
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.



1,895 soru
1,802 cevap
1,744 yorum
1,293 kullanıcı