0 beğenilme 0 beğenilmeme
326 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 | 326 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.



7,627 soru
7,631 cevap
4,446 yorum
10,799 kullanıcı