2 beğenilme 0 beğenilmeme
788 kez görüntülendi

Stratejim 60 dakikalık barda çalışıyor. Sinyal oluştuğunda emir ilk olarak limitli olarak gönderiliyor, 10 dakika içinde gerçekleşmezse kalan miktar piyasa emrine çevriliyor. Yani teoride olması gereken bu. Fakat on order update fonksiyonu limitli emrin gerçekleştiğini viopda yakalayamıyor (bitmexde yakalıyor) ve emir aslında gerçekleşmiş olmasına rağmen 10 dakika sonra tekrar gönderiyor. Bu da aynı yöne iki kat fazla pozisyon açmama neden oluyor.

Konuyla ilgili olabilicek şeyleri aşağıya ekledim.

Stratejide ilgili bölümler:

//kalan, global değişken olarak tanımlı.

                        public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
                        //// işlemler
                    Task.Run(async () =>
                    {
                        await Task.Delay(TimeSpan.FromMinutes(Bekleme_Dakika));
                        if (kalan > 0)
                        {
                            SendCancelOrder(orderID);
                            SendMarketOrder(Symbol, kalan, OrderSide.Sell);
                            Debug("Piyasa fiyatindan gonderilen miktar : " + kalan);
                        }
                    });

        Debug("Bardata Kalan : " + kalan);

 

        public override void OnOrderUpdate(IOrder order)
        {
            kalan = order.LeavesQty;
            Debug("Onupdate Kalan : " + kalan);
        }

 

Debug alanındaki yazılar:

5.11.2020 09:30:00.516  :Bardata Kalan : 0
5.11.2020 10:00:00.396  :Bardata Kalan : 0
5.11.2020 11:00:00.539  :00000063740170800411 id'li 1289,75 fiyattan 2 adet alış emri gönderildi. 10 dakika icerisinde gerceklesmeyen miktar PIYASA emrine donusturulecektir.
5.11.2020 11:00:00.563  :Bardata Kalan : 0
5.11.2020 11:00:05.058  :Onupdate Kalan : 2
5.11.2020 11:00:06.407  :Onupdate Kalan : 2
5.11.2020 11:10:00.523  :Piyasa fiyatindan gonderilen miktar : 2
5.11.2020 11:10:00.952  :Onupdate Kalan : 2
5.11.2020 11:10:02.040  :Onupdate Kalan : 0
5.11.2020 11:10:02.059  :Onupdate Kalan : 0
5.11.2020 12:00:00.005  :Bardata Kalan : 0
5.11.2020 13:00:01.011  :Bardata Kalan : 0

 

Log ekranında yazanlar:

5.11.2020 00:24:59 :Strateji calistirildi
5.11.2020 11:00:00 :Fonksiyon ismi : OnOrderUpdate, Detay :  Emir Gönderildi!
                        Hesap :  Yön : 1 Emir Tipi : LMT
                        Sembol : FXU030N1 Adet : 2 Fiyat : 1289,75 Emir Id :
5.11.2020 11:00:05 :Fonksiyon ismi : OnOrderUpdate, Detay :  Emir Durumu Değişti!
                        Hesap : Yön : 1 Emir Tipi : LMT Emir Durumu : İletilmeyi Bekliyor
                        Sembol : FXU030N1 Adet : 2 Fiyat : 1289.75 Emir Id : 73562777
5.11.2020 11:00:06 :Fonksiyon ismi : OnOrderUpdate, Detay :  Emir Durumu Değişti!
                        Hesap :  Yön : 1 Emir Tipi : LMT Emir Durumu : Bekliyor   //Tam bu noktada emir gerçekleşmiş
                        Sembol : FXU030N1 Adet : 2 Fiyat : 1289.75 Emir Id : 73562777

5.11.2020 11:10:00 :Fonksiyon ismi : OnOrderUpdate, Detay : İptal Emri Gönderildi!
                           Hesap : Yön : 1 Emir Tipi : LMT Sembol : FXU030N1 Adet : 2 Fiyat : 1289,75 Emir Id : 73562777 ClOrdOd : 00000063740170800411
5.11.2020 11:10:00 :Fonksiyon ismi : OnOrderUpdate, Detay :  Emir Gönderildi!
                        Hesap :  Yön : 1 Emir Tipi : PYS
                        Sembol : FXU030N1 Adet : 2 Fiyat : 0 Emir Id :
5.11.2020 11:10:00 :Fonksiyon ismi : OnOrderUpdate, Detay :  Emir Durumu Değişti!
                        Hesap : Yön : 1 Emir Tipi : PYS Emir Durumu : İletilmeyi Bekliyor
                        Sembol : FXU030N1 Adet : 2 Fiyat :  Emir Id : 73563056
5.11.2020 11:10:02 :Fonksiyon ismi : OnOrderUpdate, Detay :  Emir Durumu Değişti!
                        Hesap :  Yön : 1 Emir Tipi : PYS Emir Durumu : Gerçekleşti
                        Sembol : FXU030N1 Adet : 2 Fiyat :  Emir Id : 73563056
5.11.2020 11:10:02 :Fonksiyon ismi : OnOrderUpdate, Detay :  Emir Durumu Değişti!
                        Hesap :  Yön : 1 Emir Tipi : LMT Emir Durumu : Gerçekleşti //Piyasa emri gerçekleşince limitli emrinde gerçekleştiğini burada farkediyor.
                        Sembol : FXU030N1 Adet : 2 Fiyat : 1289.75 Emir Id : 73562777

Hesap gerçekleşen işlemler ekran görüntüsü:

Limitli emir 11.00.06 da gerçekleşmiş. Aracı kurumumu arayıp, oradan da teyit ettim.

Viopda limitli emirin verilen süre içinde gerçekleşip gerçekleşmediğini, gerçekleşmediyse kalan miktarı nasıl öğrenebilirim?

Algoritmik Trading kategorisinde (240 puan) tarafından | 788 kez görüntülendi

1 cevap

2 beğenilme 0 beğenilmeme
Merhaba, Bitmex ve Binance ile kendileri sagladiklari WebSocket baglantimiz mevcut. Bu daha hizli ve saglikli iletisime olanak sagladigindan neredeyse gercek zamanli portfoy guncellemeleri yapilabilmektedir. OnOrderUpdate fonksiyonu da direkt bu guncellemelere dayanmaktadir.

VIOP icin ise kurumunuz (hic bir kurum henuz saglamadi) bize update'leri REST ile gondermektedir. Minimum guncelleme sıklığı 1dk'dir. Bu hizda guncelleme alabilmek icin portfoyunuzun otomatik update ozelligini acmaniz gerekmektedir. 10dk'da icerisinde gerceklesmeyen emri market'e cevirdiginiz icin aslinda bu 1dk'lik sure size yeterli olacaktir.

Portfoyunuzun otomatik update ozelligini portfoy islemleri penceresinde, sag ustte bulunan ikonlar arasinda, ayarlar -> ekranlari otomatik guncelleme ayari ile yapabilirsiniz.
(8,035 puan) tarafından
1 0
Teşekkür ederim. Dediğiniz ayarları yaptım. Akşam seansında kontrol ederim.
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ı