Sayfa 937/1154 İlkİlk ... 4378378879279359369379389399479871037 ... SonSon
Arama sonucu : 9231 madde; 7,489 - 7,496 arası.

Konu: İDEAL veri terminalinde /Sistem/İndikatör/Robot

  1. #7489

    Esas

     Alıntı Originally Posted by ykoc Yazıyı Oku
    O satiri komple silmeniz lazim. Optimizasyonu da o satir olmadan yapin bence.
    Sorun çözüldü,Teşekkürler sayın ykoc

  2. #7490
    Duhul
    Feb 2004
    Yaş
    63
    Gönderi
    3,801
    Blog Yazıları
    6

    Esas

    tek satırlık robot altına;
    var GerceklesenList = Sistem.ViopHesapGerceklesenEmirler();
    if (GerceklesenList != null)
    {
    if (GerceklesenList.Count > 5)
    {
    // döngüye yakalandım, robotu durdur
    Sistem.RobotStop();

    // sms veya email gönder

    }
    }
    ekledim. en son versiyon yüklü iken aşağıdaki mesajı alıyorum.


    'ideal.cxSistem' does not contain a definition for 'ViopHesapGerceklesenEmirler'

  3. #7491
    Duhul
    Feb 2004
    Yaş
    63
    Gönderi
    3,801
    Blog Yazıları
    6

    Esas

    üstteki ile bu iş çözülmüyor. viophesapgerceklesenemirleri tanımadı. daha önce viop bilgilerini okutmak gerekiyormuş.
    var MaksGunlukEmirMiktari = 5; //5ten fazla emir gerçekleşirse robotu durdur


    var Hesap = Sistem.ViopHesapOku(); //Hesabı okutuyoruz. Hesap 5 snde 1 okunuyor, aradaki saniyelerde null(boş) değer döndürür
    if(Hesap != null)
    {
    var GerceklesenEmirler = Hesap.GerceklesenEmirler; //gerçekleşen emirleri okutuyoruz
    int AktifKontratEmirSay = 0; //eğer aktif viop kontratı haricinde başka şeylerde alıp satıyorsanız, o emirler ile bu robotun karışmaması için sadece gerçekleşen viop emirlerini saydıracağız
    for (int i=0; i<GerceklesenEmirler.Count; i++) //ger. emirler listesini döngüye sokuyoruz
    if (GerceklesenEmirler[i].Symbol == Sistem.AktifViopKontrat) //sadece aktif viop kontratı emirlerini ayıklıyoruz
    AktifKontratEmirSay++; //ve sayıyoruz
    if(AktifKontratEmirSay >= MaksGunlukEmirMiktari) //eğer günlük emir miktarımızı aşarsa
    {
    Sistem.Mesaj("Maksimum günlük emir miktarı aşıldı. Robot Durduruldu!!"); //burada zihninizi açık tutun farklı işlerde yaptırabilirsiniz
    Sistem.RobotStop(); //ve robot duruyor.
    }
    }
    //buraya kadar olan kodlar yeni fonksiyonları içeriyordu burdan sonrası tek satır robot kodu
    bunu exfake nin daha önce vermiş. toplam poz miktarını da kontrol ediyordu, oradan ayırdım, umarım doğru ayırmışımdır.
    kafama takılan bazı soru işaretleri var. hesabı niye okutuyoruz. robottan ayrı yaptığım işlemlerde var karışır mı? 2-3 robot kullanıyorum, toplamının ürettiği işlemleri mi, yoksa tek bir robotun(kendi sisteminin) işlem sayısını mı sayacak?

  4. Esas

     Alıntı Originally Posted by şef Yazıyı Oku
    üstteki ile bu iş çözülmüyor. viophesapgerceklesenemirleri tanımadı. daha önce viop bilgilerini okutmak gerekiyormuş.

    bunu exfake nin daha önce vermiş. toplam poz miktarını da kontrol ediyordu, oradan ayırdım, umarım doğru ayırmışımdır.
    kafama takılan bazı soru işaretleri var. hesabı niye okutuyoruz. robottan ayrı yaptığım işlemlerde var karışır mı? 2-3 robot kullanıyorum, toplamının ürettiği işlemleri mi, yoksa tek bir robotun(kendi sisteminin) işlem sayısını mı sayacak?
    o gün kaç emir gönderilmişse hepsini sayacak manuel yada robot emirleri farketmez. her emiri "1" olarak sayar. 3 robot 3 er emir gönderdi etti 9, 2 de manuel yaptın eder 11 vb.

  5. #7493
    Duhul
    Feb 2004
    Yaş
    63
    Gönderi
    3,801
    Blog Yazıları
    6

    Esas

     Alıntı Originally Posted by modidedo Yazıyı Oku
    o gün kaç emir gönderilmişse hepsini sayacak manuel yada robot emirleri farketmez. her emiri "1" olarak sayar. 3 robot 3 er emir gönderdi etti 9, 2 de manuel yaptın eder 11 vb.
    o halde bu şekilde işimizi görmeyecek. bir sistem için emir sayısı 5 i geçtiğinde robotu durdurmak istiyoruz, nasıl dizayn edeceğiz?

  6. Esas

     Alıntı Originally Posted by şef Yazıyı Oku
    o halde bu şekilde işimizi görmeyecek. bir sistem için emir sayısı 5 i geçtiğinde robotu durdurmak istiyoruz, nasıl dizayn edeceğiz?
    Sistem.RobotStop() kodu herhangi bir robotunuzda çalıştıysa tüm robotları durduruyor. dolayısıyla gerçek hesap bilgilerini ve Sistem.RobotStop() kullanarak mevcut sistemle tek robotu durdurmak zaten mümkün değil.

    Eğer tek bir robotunuzu durdurmak istiyorsanız robot kodunun başına bir sayaç koyabilirsiniz (if bloğunda sayaç yer alacak ve tüm robot kodunu içine alacak), ve emir bloklarında da bu sayacı bir arttırırsınız her seferinde. (Sistem.SayiTablosunuOku() ve Sistem.SayiTablosunuGuncelle() kullnacaksınız yada user.dll) sayac 5 in üzerine çıktığında da robot bloğuna hiç girmeyecek.

    bu tabi normal robot kodunda olur. tek satırlık kodda nasıl yapılır yapılır mı bilmiyorum.

  7. #7495
    Duhul
    Feb 2004
    Yaş
    63
    Gönderi
    3,801
    Blog Yazıları
    6

    Esas

    bizim onu yazacak kod bilgimiz maalesef yok. bu konuda, yani tek sistemi durduracak tek satırlık robot kodu için nasıl yaparız?
    birde robot durdu, tekrar aynı gün çalışması için ne yapıyoruz?

  8. #7496

    Esas

    iz süren stop için Algo kodu yazabiliyor muyuz?

    mesela 1dk grafikte 50 MA üzerinde/altında 2 kapanış gerçekleşirse 3. barda emiri iletsin.

Sayfa 937/1154 İlkİlk ... 4378378879279359369379389399479871037 ... SonSon

Gönderi Kuralları

  • Yeni konu açamazsınız
  • Konulara cevap yazamazsınız
  • Yazılara ek gönderemezsiniz
  • Yazılarınızı değiştiremezsiniz
  •