
Originally Posted by
musti505
Arkadaşlar merhabalar, tüm sistemlerimde ve robotlarımda kullanmak üzere; robotun çok fazla işlem yapmasına güvenlik araçlı bir kod arıyorum.Yani mesela idealde saniyede 3 işlem diyor ama saniyede 3 işlem yapıyor ve sonra durup devam ediyor.dakikada yine yüzlerce işlem yapmış oluyor.Bunun için kullandığınız bir güvenlik önlemi var mıdır mesela dakikada 10 işlem yaparsa tüm robotları durdur gibi veya portföyüm yüzde şu kadar kayba ulaştığında tüm robotları durdur gibi yardımcı olabilirseniz sevinirim.Teşekkürler.
Arsivden notlarim arasina aldigim ustadlarin ornek olabilecek bazi kodlari:
Alıntı Originally Posted by Bear_Bull
sn Tiberus
return Sistem;
komutu o komuta geldiğinde yazılı olan alttaki komutları pas geçerek sistemi en baştan mı başlatır ?
1
2
3
4 return Sistem; /// 5-6-7-satırları pas geç 1 e dön
5
6
7
doğru mudur? teşekkürler.
pratikteki etkisi öyle oluyor üstad ama gerçekte;
return olduğu yerde kod sonlandırılır sonraki satırlar işlenmez.
100 milisaniye sonra tekrar çalışınca ilk satırdan başlar.
Alıntı Originally Posted by Tiberius Yazıyı Oku
test etmek lazım
PHP Code:
// robot aynı gün sadece 3 kere çalışsın
var DefaKontrol = Sistem.SayiTablosunuOku("DEFA KONTROL, " + Sistem.Name + " , " + DateTime.Now.ToString("yyyyMMdd"));
DefaKontrol++;
Sistem.SayiTablosunuGuncelle("DEFA KONTROL, " + Sistem.Name + " , " + DateTime.Now.ToString("yyyyMMdd"), DefaKontrol);
if (DefaKontrol > 3) return Sistem;
// 1 dakikadan önce yeni emir gönderme
var SureKontrol = Sistem.SayiTablosunuOku("SURE KONTROL, " + Sistem.Name + " , " + DateTime.Now.ToString("yyyyMMdd"));
var SaatDakika = DateTime.Now.Hour * 24 + DateTime.Now.Minute;
if (SureKontrol == 0 || SaatDakika >= SureKontrol + 1)
Sistem.SayiTablosunuGuncelle("SURE KONTROL, " + Sistem.Name + " , " + DateTime.Now.ToString("yyyyMMdd"), SaatDakika);
else
return Sistem;
aşağıdaki örnek bir günde 3 defa emir gönderdikten sonra başka emir göndermez.
kod çalışır ama emir gönderimi olmaz.
test etmedim, sanalda test edin.
PHP Code:
var Anahtar = Sistem.Name + " ; " + DateTime.Today.ToString("yyyyMMdd");
var EmirSayisi = Sistem.SayiTablosunuOku(Anahtar);
if (EmirSayisi < 3)
{
var Islem = Sistem.RobotViopAktif("SISTEM", "VIP'VIP-X030" , Sistem.AktifViopKontrat, "5", 2);
if (Islem != "")
{
EmirSayisi++;
Sistem.SayiTablosunuGuncelle(Anahtar, EmirSayisi);
}
}
Yer İmleri