1 beğenilme 0 beğenilmeme
902 kez görüntülendi
Algoritmik Trading kategorisinde (207 puan) tarafından | 902 kez görüntülendi

1 cevap

1 beğenilme 0 beğenilmeme
En İyi Cevap

Evet yazılabilir. Örnek olarak Hazır Stratejilerde GAOrt2Hisse stratejisine bakabilirsiniz. (Günlük Ağırlıklı Ortalama, 2 Hisse).

Bu stratejide OnInit() fonksiyonu altına:

AddSymbol(Symbol, SymbolPeriod);
AddSymbol(Symbol_1, SymbolPeriod);

 

Yazılarak 2 sembol eklenmiştir. Daha sonra OnDataUpdate(BarDataEventArgs barData) fonksiyonu altına (her bar açılışında çalışacak fonksiyondur)

---------------------------------------

int symbolid = GetSymbolId(Symbol);
​int symbolid1 = GetSymbolId(Symbol_1);

yazarak 2 ayrı unique sembol id saklanır.

var barDataModel = GetBarData(Symbol, SymbolPeriod.Min);
var barDataModel_1 = GetBarData(Symbol_1, SymbolPeriod.Min);

yazarak 2 ayrı sembol için bar data alınır ve barDataModel ve barDataModel_1 şeklinde isimlendirdiğimiz objelere atar.


if (symbolid == barData.SymbolId)
        close = barDataModel.Close[barData.BarDataIndex];
if (symbolid1 == barData.SymbolId)
        close_1 = barDataModel_1.Close[barData.BarDataIndex];

Yukarıdaki kod asıl sembollerin datalarının ayrıştırıldığı önemli bölümdür. If bölümü, barData.Symbolid, yani bar kapanışında güncellenen datadan (rastgele) gelen id verisi GetSymbolId(Symbol) ile atadığımız unique ID ile karşılaştırılıyor. Ancak bu id’ler aynı oldugunda close olarak tanımladığımız yeni değişkene barDataModel.Close[barData.BarDataIndex] ile gelen Sembol’ün (yani ilk sembol/enstrüman) kapanışı atanıyor. Böylelikle 2 sembolü ayrıştırmış oluyoruz.

 

Bu 4 satır çalıştıktan sonra close değişkeninde 1. sembolün, close_1 değişkeninde ise 2. sembolün kapanış değerleri ayrıştılarak kaydedilmiş oluyor.

 

Yukarıdaki şekilde sembol eklemeye devam ederek, kod içerisinde kullanılan semboller istenildiği kadar çoğaltılabilmektedir.

(8,035 puan) tarafından
tarafından seçilmiş
GAOrt2Hisse stratejini nasıl test edebilirim
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.



8,635 soru
8,589 cevap
4,821 yorum
19,779 kullanıcı