İQ için Pmax explorer dosyası paylaşa bilirmisiniz?
- Soruldu
- Kategori
- Algoritmik Trading
- Görüntülenme
- 2.160 görüntülenme
- Durum
- Cevaplandı
Teşekkürler.
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.
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;
}
}
}
}
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;
}
}
}
}
Sitenin çalışması için gerekli çerezleri kullanıyoruz. Ziyaretleri anlamak için analitik çerezleri yalnızca onayınızla kullanırız. Çerez Politikası
İ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