0 beğenilme 0 beğenilmeme
1,695 kez görüntülendi
selam.

matriks iq, stratejilerde backtest optimizasyon ekranında ÇİFT YÖNLÜ işlem yapma ayarı nerede ?

Yani eski matriks te sistem tester de ileri tıkladığımızda açığa sat, açık pozisyon kapat gibi TÜM İŞLEMLERİ yap seçtiğimiz yer nerede ?
Algoritmik Trading kategorisinde (24 puan) tarafından | 1,695 kez görüntülendi

1 cevap

1 beğenilme 1 beğenilmeme

Merhaba, IQ'da boyle bir ayar yok. Aciga satis yapilmak isteniyorsa ve yapilabilecek bir borsada islem yapiliyorsa, kodun icerisinde bunun satis olarak yazilmasi gerekiyor.

Bu su sekilde saglaniyor, ilk emriniz alis ise bir sonraki emriniz 2*(alinan miktar) sat, ilk emriniz satis ise bir sonraki isleminiz 2*(satilan miktar) al seklinde.

UZUN/AÇIK seklinde calisan ornek stratejilerimiz mevcuttur (cogu bitmex uzerinde calisir, arama kutucuguna bitmex yazarak bulabilirsiniz).

Orn. Kod (MostBitmexStratejisi):

 public override void OnDataUpdate(BarDataEventArgs barData)
        {
            if (CrossAbove(most.ExMOV, most))
            {
                if (FirstRun == 0)
                {
                    SendMarketOrder(Symbol, BuyOrderQuantity, (OrderSide.Buy));
                    Debug("Alış emri verildi.");
                    Debug("Most.ExMov:" + most.ExMOV.CurrentValue);
                    Debug("Most:" + most.CurrentValue);
                    FirstRun = 1;
                }
                else
                {
                    SendMarketOrder(Symbol, BuyOrderQuantity * 2, (OrderSide.Buy));
                    Debug("Alış emri verildi.");
                    Debug("Most.ExMov:" + most.ExMOV.CurrentValue);
                    Debug("Most:" + most.CurrentValue);
                }
            }
            if (CrossBelow(most.ExMOV, most))
            {
                if (FirstRun == 0)
                {
                    SendMarketOrder(Symbol, SellOrderQuantity, (OrderSide.Sell));
                    Debug("Satış emri verildi.");
                    Debug("Most.ExMov:" + most.ExMOV.CurrentValue);
                    Debug("Most:" + most.CurrentValue);
                    FirstRun = 1;
                }
                else
                {
                    SendMarketOrder(Symbol, SellOrderQuantity * 2, (OrderSide.Sell));
                    Debug("Satış emri verildi.");
                    Debug("Most.ExMov:" + most.ExMOV.CurrentValue);
                    Debug("Most:" + most.CurrentValue);
                }
            }
            IlkCalisma = FirstRun;
            ExMov = Math.Round(most.ExMOV.CurrentValue);
            Most = Math.Round(most.CurrentValue);
            Pozisyon = realposition;
        }

Bu kod, miktar sifir iken satis geldiginde SHORT pozisyona yani AÇIK(eksi) pozisyona gecen borsalar icin gecerlidir.

Aciga satis emrinin bilhassa belirtilmesi gereken borsalarda ise SendMarketShortSellOrder fonksiyonu kullanilmalidir.

(8,035 puan) tarafından
kod nereye yazılacak?
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,636 soru
8,590 cevap
4,821 yorum
19,789 kullanıcı