
Originally Posted by
B_E
Kod:
var Anahtar = Sistem.Name + "_AYNI BAR KONTROL";
var Saniye = Sistem.ZamanKontrolSaniye(Anahtar);
if (Saniye >= 60)
{
Sistem.ZamanKontrolGuncelle(Anahtar);
//Sistem.Mesaj(DateTime.Now.ToString("HH:mm:ss"));
//var Islem = Lib.RobotViopAktifSeviye(Sistem, "SYS_1DK", "VIP'VIP-X030", Sistem.AktifViopKontrat, "1", 1);
//if (Islem != "")
//{
// mail gönder
//}
Lib.RobotViopAktifSeviye(Sistem, "SYS_1DK", "VIP'VIP-X030", Sistem.AktifViopKontrat, "1", 1);
}
orhan hocam,
robot aynı barda birden fazla işlem açmasın diye yukarıdaki şekilde test ediyorum,
ancak sinyal den sonraki barda da işlem açtığı oluyor.
"sinyal barında tek işlem açması için Lib.cs de zaman kontrolu konulabilirmi?"
bir de mail göndermesi için işlem değişkenine atadığımda hata veriyor.
teşekkürler...
Robot aynı barda birden fazla işlem açıyorsa sistem hatalı yazılmış demektir.
Hatalı geliştirme yapmamak için doğru kalıbı kullanmak gerekir.
Seviyeli Sistemler için Doğru Kalıp aşağıdaki gibidir:
PHP Code:
var V = Sistem.GrafikVerileri;
var C = Sistem.GrafikFiyatOku(V, "Kapanis");
var O = Sistem.GrafikFiyatOku(V, "Açılış");
var H = Sistem.GrafikFiyatOku(V, "Yüksek");
var L = Sistem.GrafikFiyatOku(V, "Düşük");
var HH= Sistem.HHV(90,"Yuksek");
var LL = Sistem.LLV(90,"Dusuk");
var VIDYA= Sistem.VIDYA(300,9);
var AS = Sistem.Liste(0); var SS = Sistem.Liste(0);
var SonYon = "";double SonFiyat = 0.0;
for (int i = 200; i < V.Count; i++)
{
AS[i] = new float[] {
O[i]
, VIDYA[i-1]
}.Max();
SS[i] = new float[] {
O[i]
, VIDYA[i-1]
}.Min();
if ( H[i] >= AS[i] && SonYon != "A" )
{
Sistem.Yon[i] = "A";
Sistem.Seviye[i]= AS[i];
SonYon = Sistem.Yon[i];
}
else if ( L[i] <= SS[i] && SonYon != "S" )
{
Sistem.Yon[i] = "S";
Sistem.Seviye[i]= SS[i];
SonYon = Sistem.Yon[i];
}
}
Sistem.Cizgiler[0].Deger = VIDYA;
Yer İmleri