Periyod ekleme, kalıcı sinyal ile çalışma, geçmiş data ekleme ve limit emir üzerine
- Soruldu
- Kategori
- Algoritmik Trading
- Görüntülenme
- 1.281 görüntülenme
- Durum
- Çözüldü
Matriks IQ ile çok yalın bir strateji oluşturmaya çalışıyorum fakat karşıma çıkan birkaç soruna burada değinmek istedim,
Oluşturmak istediğim strateji basitçe;
Herhangi bir Binance Futures paritesi için “20 periyot ve 3 std sapmalık Bollinger band” ve “34 EMA”eklendikten sonra (kod tamamlandığında bu indikatörlerin girdileri backtest optimizasyonuna tabi tutulacak, o konuya ayrıca değineceğim) 45 dakikalık grafikte o anki fiyat (kapanış değil) değerine göre long/short pozisyonlar tanımlamak istiyorum.
Fiyat Bollinger bandın lower limitine dokunduğunda market long girecek
Bu long pozisyonu fiyat 34 ema dokunduğu an market kapatılacak
Fiyat BB upper limitine dokunduğunda market short girecek
Bu short pozisyonu fiyat 34 ema dokunduğu an market kapatılacak
Aslında çok basit tanımlı olmasına rağmen bu stratejiyi oluştururken karşıma bazı problemler çıktı;
1. Öncelikle Matriks IQ’da grafik açtığımda 45 dakikalık periyot eklenebiliyor (9x5dk olarak ekliyor onu da) fakat stratejiler için 45 dakikalık periyotta çalışmak için ne yapılabilir?
* Stratejiyi geçmiş bir dönemde backtest yapmak için (örneğin 2018-2019 yılı arasında 5000 barlık bir kesit dönemde) büyük bir data da manuel ekleme yapılabilir mi?
2. Stratejide fiyatın kapanış değeri yerine fiyatın o anki değerinin BB ya da EMA dokunduğu anda open/close yapılması için “kalıcı sinyalle çalış“ seçeceği kapatıldığında farklı başka bir problem doğmuş oluyor
* “Kalıcı sinyalle çalış” kapatılması bu strateji için aynı bar içinde çok fazla pozisyon açılmasına sebebiyet verebileceği için önlem amaçlı “sıralı emir gönder” seçeneğine başvurmayı düşündüm. Fakat o zaman da örneğin fiyat aşağı BB’de long açıp EMA 34 dokunduğunda pozisyonu kapattığı zaman (sistem bu pozisyon kapamayı short olarak sayacaktır) bir sonraki trigger upper BB’den short tetiklediğinde oradan short girmeyecek (çünkü sıralı emir aktive durumda ve son pozisyon kapama emiri short sayıldı)
* Bu probleme buradaki soru/cevaplarda değinildiğini gördüm fakat emin olamadım, stratejiyi 2 ayrı hesaba bölüp short/long olarak bölmek daha mı garanti olacaktır?
3. “Kalıcı sinyalle çalış” aktive etmenin doğurduğu başka bir problem de, backtest/backtest optimizasyonu yaparken pozisyona giriş/çıkış emirleri için yine de fiyatın BB/EMA dokunduğu yerlerden pozisyonu simule etmek yerine fiyat kapanış/düşük/yüksek gibi değerleri seçtirip bunlar üzerinden backtest yapıyor. Bu da değinilen strateji için BB veya EMA girdilerini optimize edebilmek için doğru sonuçlar doğurmuyor, çünkü stratejinin canlıda çalışacağı şekillerde pozisyona girmiyor. Bunu nasıl çözebilirim?
* Geçmiş datayı fiyatın ve dolayısıyla indikatörlerin kapanış değerleriyle içeri yüklediğimiz için, o 45 dakikalık bar içinde fiyatın BB limitine dokunduğu an BB’nin değerinin kaç olduğunu simule edemeyebilir, ama en azından backtestte pozisyon emirlerini bar data kapanış/yüksek/düşük değerleri yerine kapanış BB limit değerlerinden kabul edebilirse daha doğru backtest sonuçları gözlemlenebilir. Bunu mümkün kılabilir miyiz?
4. Piyasadan emir girmek yerine limit order ile bu stratejiyi çalıştırmak nasıl mümkün olur?
Birden çok soru oldu farkındayım, fakat kendim biraz kurcalayıp biriken sorularımı tek seferde sunmanın daha uygun olacağını düşündüm
Aslında daha aklıma takılan birçok soru daha var ama birçoğu stratejiyi makjaylama üzerine olduğu için temel sorunları önceliklendirip onları çözüme ulaştırmak daha iyi olacaktır.
Şimdiden teşekkürler


