Merhabalar,
Bir önceki sorunun cevabı ile sizin kullandığınız yapı farklıdır.
Eğer bu tarz (fonksiyon içeren) bir yapı kullanmak istiyorsanız önce zaman aralığı eklemeniz gerekiyor. Bu eklemeyi yaptıktan sonra da yukarıdaki kalıbı ekleyebilirsiniz.
// Gerekli zaman aralığı
[Parameter("09:36:00")]
public string Baslangic;
[Parameter("17:58:00")]
public string Bitis;
public bool FX_ZamanindaMI(DateTime zaman)
{
var bas = TimeSpan.Parse(Baslangic);
var bit = TimeSpan.Parse(Bitis);
return (zaman.TimeOfDay >= bas && zaman.TimeOfDay <= bit);
}
Daha sonra ise OnDataUpdate() içerisinde bu fonksiyonu kullanmalısınız.
public override void OnDataUpdate(BarDataEventArgs barData)
{
var zamanKontrolu = FX_ZamanindaMI(barData.BarData.Dtime);
Bütün olay sadece bununla kalmıyor, bilgilerinize. Devamında ise burada yer alan zamanKontrolu değişkenini koşullarınıza eklemeniz gerekmektedir.
Aşağıdaki gibi..
if (Satış Koşulu && zamanKontrolu)
{
SendMarketOrder(Symbol1, OrderQuantity1, OrderSide.Sell, includeAfterSession:false);
}
Ayrıca son olarak sizinle bir ekran görüntüsü paylaşıyorum. Ben bu şekilde yaptığımda ekran görüntüsünden de göreceğiniz üzere backtestte de doğru sonuçlar elde ediyorum.
Dilerseniz bir kontrol sağlayın tarif ettiğim şekilde, hala sorun yaşarsanız yardımcı olmaya çalışalım.
İyi çalışmalar.