Değişken ve Parametre Tanımlama #

Değişken Kullanımı #

Bazı verileri farklı farklı işlemlerde kullanabilmek için strateji içerisinde verilerin saklanmasına ihtiyaç duyulmakta. Bu gibi durumlarda verileri saklayıp kullanabilmek için bir değişken içerisinde tutmak gerekir.

Verinin alabildiği değerlere uygun şekilde değişkenin tipi seçilmelidir. MatriksIQ’da C# yazılım dili kullanıldığı için C# için geçerli tüm veri tipleri kullanılabilir. Genel olarak en çok kullanılan veri tiplerinden birkaçını aşağıdaki tabloda bulabilirsiniz.

intTam sayı veriler için kullanılır.
decimalTam sayı ve ondalıklı sayılar bu veri tipinde tutulabilir.
doubleTam sayı ve ondalıklı sayılar bu veri tipinde tutulabilir. Decimaldan yapısal farklılıkları vardır
stringMetin içerikli veriler için kullanılır
boolMantıksal veri tipidir. True veya False değer alabilirler
varC# diline özel bir veri tipidir. Tanımlanan değişkenin veri tipini otomatik atanan verinin tipine çevirir.

Ek Notlar #

Değişken adında özel karakterler(?*\!..) kullanılmaz.

Değişken adı rakam ile başlayamaz fakat içerisine veya sonuna rakam eklenebilir.

Örnek #

		int val1 = 5;
		decimal val2 = 1.5m;
		double val3 = 1.5;
		string val_4 = "string";
		bool val5 = true;
		var val6 = 10;
		var val7 = 0.123;
		var val8 = "test";

Parametre Özelliği #

MatriksIQ’da algoritmalar çalıştırılırken parametre ekranı açılmaktadır. Bu ekranda kodda tanımlanan bazı değişkenler listelenmekte ve istenirse değiştirilebilmektedir. Değişkenleri bu şekilde parametre ekranında göstermek için kullanılması gereken MatriksIQ’ya özel değişken özellikleri vardır.

SymbolParameterSadece sembol değişkenleri için kullanılır.
ParameterHer veri tipi için kullanılabilir.

Örnek #

namespace Matriks.Lean.Algotrader
{
	public class IqStrateji: MatriksAlgo
	{
		[SymbolParameter("GARAN")]
		public string Symbol;

		[Parameter(SymbolPeriod.Day)]
		public SymbolPeriod SymbolPeriod;

		[Parameter(100)]
		public int Value1;
		
		public override void OnInit()
		{
			
		} 
		***
		***
		***
	}
}

Strateji Raporuna Kaydedilen Değişken Özelliği #

Stratejilerin durdurulmasından veya duraklatılmasından sonra stratejinin devam ettirilmesi halinde değişkenler varsayılan atanan değerine döner. Stratejinin devam ettirilmesinde değişkenin son değerinin raporda tutulması isteniyorsa değişkenin özellik tipinin RestoreLastValueOnResume olarak ayarlanması gerekmektedir. 

Örnek #

namespace Matriks.Lean.Algotrader
{
	public class IqStrateji : MatriksAlgo
	{
		[RestoreLastValueOnResume(true, 0.005m)]
		public decimal Value2;	
	
		public override void OnInit()
		{
			
		} 
		***
		***
		***
	}
}