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

Teşekkürler.
Algoritmik Trading kategorisinde (20 puan) tarafından | 60 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 PmaxExp : Explorer
	{
		IIndicator pmax;

		
		public override void OnInit()
		{
			pmax = new PMax();		

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

 

(1,960 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.
380 soru
433 cevap
506 yorum
240 kullanıcı