0 beğenilme 0 beğenilmeme
757 kez görüntülendi
Merhabalar, algoritma sihirbazı ile oluşturduğum stratejide alım ve satım işlemi 3'er kere yapılıyor. Normalde Bir sembolde bir şart gerçekleştiğinde, 2. bir sembolu almasını/satmasını ve 3. bir sembolu almasını/satmasını istiyorum. Nerede yanlış yapıyorum acaba?

public override void OnDataUpdate(BarDataEventArgs barData)

{

if (CrossAbove(pmaxIndicator, pmaxIndicator, 1, 0))

{

SendMarketOrder(OrderSymbol1, OrderQuantity1, OrderSide.Sell, includeAfterSession:false);

Debug("Short Kapandı");

SendMarketOrder(OrderSymbol2, OrderQuantity2, OrderSide.Buy, includeAfterSession:false);

Debug("Long Açıldı");

}

if (CrossBelow(pmaxIndicator, pmaxIndicator, 1, 0))

{

SendMarketOrder(OrderSymbol2, OrderQuantity3, OrderSide.Sell, includeAfterSession:false);

Debug("Long Kapandı");

SendMarketOrder(OrderSymbol1, OrderQuantity4, OrderSide.Buy, includeAfterSession:false);

Debug("Short Açıldı");

}

 

}
Algoritmik Trading kategorisinde (47 puan) tarafından
tarafından düzenlendi | 757 kez görüntülendi

2 Cevaplar

0 beğenilme 0 beğenilmeme

Merhaba,

Gönderdiğiniz kod maalesef okunamıyor. 

Verdiğiniz detaya göre, ayrı ayrı emir sembolü tanımlamamışınız gibi görünüyor.

Lütfen linkteki örneği inceleyiniz.

https://destek.matriksdata.com/?qa=6775/ayni-ko%C5%9Ful-%C3%BCzerinden-%C3%A7ok-sayida-sembole-emir-g%C3%B6ndermek

Gerek duyarsanız, iqdestek@matriksdata.com adresine e posta yazınız.

İyi çalışmalar

 

(13,920 puan) tarafından
0 0

aynı şekilde yaptığım zaman 3 kere alım, 3 kere satım işlemi gerçekleşiyor. 

0 beğenilme 0 beğenilmeme

Merhaba,

Stratejide görünmüyor ama muhtemelen addseymbol() ile 3 tane sembol eklediğiniz için 3 defa al-sat emri gönderiyordur.

burada işlem yapacağınız sembolün ID'sini kontrol ettirmeniz gerekir.

Oninit:

AddSymbol("BTC_USDT_BIN",SymbolPeriod.Min);
AddSymbol("ETH_USDT_BIN",SymbolPeriod.Min); 

Ondataupdate:

public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
{                                 
     int alSatYapilacakSembolID = GetSymbolId("BTC_USDT_BIN");
            
     if(alSatYapilacakSembolID==barDataCurrentValues.LastUpdate.SymbolId)
     {
          if (CrossAbove(pmax.KLine, pmax.StLine))
          {
               SendMarketOrder(“BTC_USDT_BIN”, BuyOrderQuantity, (OrderSide.Buy));
               Debug("Alış emri gonderildi.");
          }
          if (CrossBelow(pmax.KLine, pmax))
          {
               SendMarketOrder(“BTC_USDT_BIN”, SellOrderQuantity, (OrderSide.Sell));
               Debug("Satış emri gonderildi.");
          }
     }                                             
}

stratejilerde çoklu sembol kullanımı ile ilgili aşağıdaki linkteki stratejiyi inceleyebilirsiniz.

https://destek.matriksdata.com/?qa=blob&qa_blobid=1914961758650955759

(16,219 puan) tarafından
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.



9,436 soru
9,391 cevap
5,099 yorum
37,635 kullanıcı