Kütüphaneler: Control_Trade_Sessions
Bunların hepsi saçmalık. Eğer broker, enstrümanın özelliklerini gerçekte gerçekleşen fiyat hareketlerinden farklı şekilde doldurursa, kütüphaneniz de broker gibi açıkça yalan söyleyecektir.
Örneği Finam'da çalıştırabilirsiniz.
sinput'lar aracılığıyla günlere göre seans girişi seçeneği ekleyebilirim.
Artık seans değişimi sırasında, mevcut seansın bitiş zamanının yanı sıra bir sonraki seansın başlangıç zamanını da hesaplıyorum. Sonuç olarak, yine sadece 1 kontrol kalıyor:
if(time < this.NextTradeStart ) { return false; }
). Artık seans değiştiğinde, mevcut seansın bitiş zamanının yanı sıra bir sonraki seansın başlangıç zamanını da hesaplıyorum. Sonuç olarak, yine sadece 1 kontrol kalıyor:
Bu, herhangi bir aralığa girip girmediğini hesaplamak için en doğru yaklaşımdır. Örneğin, işlem saatleri 12:00 ile 15:00 arasında ise, bu tür bir NextTime yaklaşımı kullanılmalıdır.
Üçüncü taraf kodlar arasında bunu sadece sizde gördüm.
Çok dikkatli okumadım ama görünüşe göre mevcut uygulama, seansın kesinlikle bir günün sınırları içinde kalması gerektiğini öngörüyor; bu da saat dilimleri arasında önemli bir fark olduğunda geçerli değil, yani, örneğin, Avrupa seansları Asya'daki bir broker aracılığıyla işlem görüyorsa ya da tam tersi durum söz konusuysa. Yani, datetime'dan tarihi çıkarırsak, To saatinin From saatinden daha erken olduğu durumlar olabilir.
if(!TradeSession.isSessionTrade(TimeCurrent())){Print("Market closed. OnTick return");return;}Bunun yerine
TimeCurrent() Bu arada, istediğiniz herhangi birini ayarlayabilirsiniz.Seans saatleri brokerdan alınır veya manuel olarak ayarlanabilir.
Control_Trade_Sessions:
Ticaret oturumu kontrolü için kütüphane. Başlangıçta, haftanın 7 günü için işlem seanslarının zamanını sayar (Sat ve Sun'da kripto para birimi ticareti olabilir), günde 10 seansa kadar. Daha sonra OnTick() içinde kontroller yapabilir ve işlem seansının dışında bir tik gelirse, daha fazla işlemden çıkabilirsiniz.
Author: Aleksei Kuznetsov