MatriksIQ Destek
Matriks Destek
Matriks Web Destek
Matriks Mobile Destek
0 beğenilme 0 beğenilmeme
553 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 (14 puan) tarafından | 553 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.

(5,500 puan) tarafından
kod nereye yazılacak?
2,171 soru
2,028 cevap
1,841 yorum
1,500 kullanıcı