MatriksIQ Destek
Matriks Destek
Matriks Web Destek
Matriks Mobile Destek
0 beğenilme 0 beğenilmeme
66 kez görüntülendi

Merhabalar,

"Ema(7)[5 Dakika] > Ema(13)[5 Dakika] > Ema(21)[5 Dakika]" ve "Ema(7)[60 Dakika] > Ema(13)[60 Dakika] > Ema(21)[60 Dakika]" koşullarını sağlayan kripto paraları listeleyecek bir explorer yazmak istiyorum.

Matriks IQ'da oldukça yeniyim. Algoritma Sihirbazı aracılığıyla bir strateji oluşturdum fakat bu stratejiye uyan explorer çalıştırmayı başaramadım. Bu hususta hangi adımları uygulamam gerekir?

Ayrıca yazdığım strateji ve hazır explorerları kurcalayarak -aşağıda kodlarını bulacağınız- bir explorer yazdım ve kodu derlediğimde herhangi bir hata ile karşılaşmadım. Ancak çalıştırmak istediğimde "SymbolPeriod" isimli bir değişkenim olmadığı halde arayüz ekranında bu isimde bir parametre çıkıyor ve "Strateji çalıştırılırken bir hata oluştu : Bir veya daha fazla hata oluştu" mesajını alıyorum ve explorer çalışmıyor.

 

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 GC : Explorer

{

[Parameter(SymbolPeriod.Min5)]

public SymbolPeriod SymbolPeriod1;

 

[Parameter(SymbolPeriod.Min60)]

public SymbolPeriod SymbolPeriod2;

 

 

[Parameter(7)]

public int MovPeriod1;

 

[Parameter(13)]

public int MovPeriod2;

 

[Parameter(21)]

public int MovPeriod3;

 

MOV mov;

MOV mov2;

MOV mov3;

MOV mov4;

MOV mov5;

MOV mov6;

public override void OnInit()

{

mov = MOVIndicator(Symbol, SymbolPeriod1, OHLCType.Close, MovPeriod1, MovMethod.E);

mov2 = MOVIndicator(Symbol, SymbolPeriod2, OHLCType.Close, MovPeriod1, MovMethod.E);

mov3 = MOVIndicator(Symbol, SymbolPeriod1, OHLCType.Close, MovPeriod2, MovMethod.E);

mov4 = MOVIndicator(Symbol, SymbolPeriod2, OHLCType.Close, MovPeriod2, MovMethod.E);

mov5 = MOVIndicator(Symbol, SymbolPeriod1, OHLCType.Close, MovPeriod3, MovMethod.E);

mov6 = MOVIndicator(Symbol, SymbolPeriod2, OHLCType.Close, MovPeriod3, MovMethod.E);

}

 

public override bool OnExplorer(List<BarDataEventArgs> bardatas)

{

SetColumn(0, Math.Round(mov.CurrentValue, 4));

SetColumn(1, Math.Round(mov2.CurrentValue, 4));

SetColumn(2, Math.Round(mov3.CurrentValue, 4));

SetColumn(3, Math.Round(mov4.CurrentValue, 4));

SetColumn(4, Math.Round(mov5.CurrentValue, 4));

SetColumn(5, Math.Round(mov6.CurrentValue, 4));

if ((CrossAbove(mov,mov3) && (CrossAbove(mov3,mov5)) && (CrossAbove(mov2,mov4) && (CrossAbove(mov4,mov6)))))

return true;

return false;

}

}

}

 

Bu konuda desteklerinizi beklemekteyim.

Şimdiden teşekkür ederim.

Explorer kategorisinde (12 puan) tarafından | 66 kez görüntülendi

Bu soruya cevap vermek için lütfen giriş yapınız veya kayıt olunuz.

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.



2,479 soru
2,371 cevap
2,027 yorum
1,712 kullanıcı