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.
int | Tam sayı veriler için kullanılır. |
decimal | Tam sayı ve ondalıklı sayılar bu veri tipinde tutulabilir. |
double | Tam sayı ve ondalıklı sayılar bu veri tipinde tutulabilir. Decimaldan yapısal farklılıkları vardır |
string | Metin içerikli veriler için kullanılır |
bool | Mantıksal veri tipidir. True veya False değer alabilirler |
var | C# 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.
SymbolParameter | Sadece sembol değişkenleri için kullanılır. |
Parameter | Her 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() { } *** *** *** } }