0 beğenilme 0 beğenilmeme
76 kez görüntülendi
Merhaba,

Kendi gridbotumu yapıyorum.  Gün sonunda stratejiyi duraklatıyorum.  Ertesi gün, önceki günden kalan satış emirlerinin gönderilmesini nasıl sağlayabilirim.  

Başka bir sorum da şu; strateji duraklatığında çalışan bir fonksiyon var mı?  OnStopped benzeri, OnPause gibi.
Algoritmik Trading kategorisinde (43 puan) tarafından | 76 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme
En İyi Cevap

Merhaba,

Gönderilen tüm emirleri bir dictionary tutup ihtiyaç duyulduğunda bu dictionary ulaşıp emir göndermeyi deneyebilirsiniz. burada çok fazla kontrol mekanizması gerekebilir dikkat olunuz.

strateji durdur ya da duraklatıldığında OnStopped() metodu tetiklenir burada durdur mu yoksa duraklatılmamı olup olmadığını anlamak için IsPaused değişkenini aşağıdaki örnekte olduğu gibi kullanabilirsiniz.

public override void OnStopped()
{
    if (IsPaused)
    {
        Debug("Strateji Duraklatıldı.");
    }else
    {
        Debug("Strateji Durduruldu");
    }
}

 

(16,022 puan) tarafından
tarafından seçilmiş
0 0
@Kripex Tekrar merhaba,

dictionary ye ertesi gün nasıl erişeceğim?  Ertesi gün OnInit içinden çağırınca boş geliyor.  

Bir de OnInitCompleted i soracağım.  Hangi durumlarda kullanılıyor, ne zaman ihtiyaç olabiliyor.
1 0

Merhaba,

Stratejiler durdur/duraklat yapıldığında stratejide tüm değişkenlerin değerleri sıfırlanır değişken değerlerini raporda saklamak için RestoreLastValueOnResume özelliğini kullanmanız gerekir.

[RestoreLastValueOnResume]
Dictionary<string,string> Emirler=new Dictionary<string,string>();

OnInitCompleted  metodu strateji çalıştırıldığında OnInit() metodundan hemen sonra bir kez tetiklenir burada stratejinin işleyişine göre bir kez çalışmasını istediğimiz yapılar varsa burada kurgulanabilir

8,967 soru
8,920 cevap
4,966 yorum
23,261 kullanıcı