0 beğenilme 0 beğenilmeme
579 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 | 579 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,600 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

(15,892 puan) tarafından
8,635 soru
8,589 cevap
4,821 yorum
19,782 kullanıcı