0 beğenilme 0 beğenilmeme
783 kez görüntülendi
MatriksIQ 1 haftadır test ediyorum  her şey çok güzel. Strateji kurdum kodla eklemeler yaptım. Çalıştırdım kendime server kurdum ama şöyle bir sıkıntım var.

İster istemez serverda olsa açıp kapamak zorunda kalıyoruz veya strateji aldığımızda vs vs matriksi yeniden açmamız gerekiyor veya evimden buluta gönderidiğim kayıtları serverda açmam gerekiyor gibi gibi....

Bu tip durumlarda stratejilerin hepsi kapanıyor... Kapanması da önemli değil ama stratejiler kaldığı yerden devam etmiyor...
Tekrar çalışırdığımızda al emri üzerine sat gelirse satmıyor. Bu durumu aşamıyorum.

Eğer stratejiye önce hangi emir gelirse onunla başla dersem bu sefer hem backtestler hatalı çıkıyor hem de strateji düzgün çalışmıyor.

Bu konuda çözüme ihtiyacım var.
Algoritmik Trading kategorisinde (14 puan) tarafından
tarafından yeniden gösterildi | 783 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme
Stratejilerinizi yeniden baslatmak icin nasil bir yöntem uyguluyorsunuz? orn. teker teker baslatma, toplu baslatma vs. detayi onemli, buna gore bir cozum yolu izleyebiliriz.
(8,035 puan) tarafından
0 0
Örnek veriyorum.

X miktarda Y coin strateji başlattım... Coini aldım ve stop cüzdanımda duruyor. Serveri kapatıp açtım. Stratejiyi tekrar çalıştırdığım zaman sat sinyalinden devam etmesini istiyorum... Ama strateji sat sinyali gelirse satmıyor. Al emrini bekliyor. Dolayısıyla Y malı elimde kalmış oluyor.
0 0
SendOrderSequential(true, Side.All);

Yukarıdakini kopyalayarak kodunuzda ilgili alana yapıştırırsanız sorununuz çözülür gibi geldi bana. Side.All komutu ile hangi sinyal önce gelirse o sinyalle başlamasını söylemiş oluyorsunuz.
0 0
İsterseniz "

System.IO.File.WriteAllText(FilePath, Contents);

" kodunu kullanarak robotun en son hangi işlemi aldığını text dosyasına yazdırabilirsiniz bu kodu isterseniz emri gönderdiğiniz bağlam ( {} ) içerisine yazıp direk kaydedebilir isterseniz de " public override OnStopped() " metodunun içine yazıp strateji durduğunda kaydedebilirsiniz. Daha sonrada OnİnitCompleted Metodu içersine "

var RobotShortIslemdemi = System.IO.File.ReadAllText(FilePath);

" Yazdıktan sonra Hemen ardına "

if (RobotShortIslemdemi == true)
{
Bu kısma short robotun işlemde olduğunu kaydeden metodu çağırın
}

Yazarsanız Sorununuz muhtemelen çözülecektir.

string FilePath = @"C:\(Dosyanın yolu)";

string Content = "true" yazmayıda unutmayın.
8,636 soru
8,590 cevap
4,821 yorum
19,785 kullanıcı