Sayfa 339/593 İlkİlk ... 239289329337338339340341349389439 ... SonSon
Arama sonucu : 4738 madde; 2,705 - 2,712 arası.

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

  1.  Alıntı Originally Posted by Santi78 Yazıyı Oku
    ıdeal ın demosunda yaptıgınız robotlar test edılebiliyor mu? sanal testte olsa pıyasanın açık olduğu zamanlarda mı test edilmeli?

    tesekkurler
    Merhaba,
    Kullanci adi olmadan gecmis grafik verileri ile sistem tasarlanip optimize edilebiliyor. Ancak robot calistirilabiliyor mu bilmiyorum. Robotun calisip calismadigi piyasa kapaliyken de anlasilabilir. Ancak tam anlamiyla tasarladiginiz sekilde islem yapip yapmadigini piyasa acikken, yani veri akisi varken test etmelisiniz. Veri almaniz ancak ideale kullanci adinizla bagliysaniz mumkun olur.

  2.  Alıntı Originally Posted by 3c1a Yazıyı Oku
    Merhaba,

    Once VIOP icin sisteminizi olusturunuz. Daha sonra bu sistemi canli barda islem yapan bir robota baglayabilirsiniz; eski forumdan notlarim arasina aldigim asagidaki Tiberius ustadin robot kodu istediginiz senaryoya gore kurgulanabilir. Sanal modda test etmeden gercek hesaba baglamayiniz.

    Ideale yeni baslayanlara eski formu muhakkak okumalarini tavsiye ederim.
    tesekkür ederim

  3.  Alıntı Originally Posted by 3c1a Yazıyı Oku
    Merhaba,
    Kullanci adi olmadan gecmis grafik verileri ile sistem tasarlanip optimize edilebiliyor. Ancak robot calistirilabiliyor mu bilmiyorum. Robotun calisip calismadigi piyasa kapaliyken de anlasilabilir. Ancak tam anlamiyla tasarladiginiz sekilde islem yapip yapmadigini piyasa acikken, yani veri akisi varken test etmelisiniz. Veri almaniz ancak ideale kullanci adinizla bagliysaniz mumkun olur.
    Sagolun cevap icin..bır robot sıstemının repaint yapıp yapmadıgını nasıl anlarız?

  4.  Alıntı Originally Posted by Santi78 Yazıyı Oku
    Sagolun cevap icin..bır robot sıstemının repaint yapıp yapmadıgını nasıl anlarız?
    Sisteminiz kapanis fiyatini baz alan hesaplamalarla sinyal uretiyorsa canli barda rapaint kacinilmazdir; zaman zaman sistem yonunun 1 kademe yukardan islem gectiginde ALIS, 1 kademe asagidan islem gectiginde SATIS olarak degistigini ekrani izleyerek kolaylikla yakalayabilirsiniz. Bar kapanisini beklerseniz sinyal kesinlesecegi icin sisteminiz bir sonraki sinyale kadar fikir degistirmeyecektir.

    Canli barda islem yapilamaz demiyorum, pek tabii yapilabilir. Bunun icin repaint olmayan bir sistem tasarlayabilir ya da repaint riskine onlem alabilirsiniz. Islem sayisi sinirlamasi ve sinyalin kalici olmamasina karsi bir nevi sigorta mekanizmasi olusturup sisteminizin dogru yone donmesini saglayabilirsiniz.

  5. Selam arkadaşlar,

    Sırf öğrenme amaçlı aşağıdaki gibi yazıp denemek istedim ama robot çalışıyor gibi ama ne alım nede satım yapıyor nede bir hata veriyor?

    Nerde hata yapıyorum?

    var SistemAdi = "ROBOYKTOMA10adx";
    var MySistem = Sistem.SistemGetir("SistemAdi", Sembol , "1");
    if (MySistem == null)
    {
    Sistem.Mesaj(Sistem.Name + "Hatalı Çalışıyor !");
    }
    else
    {
    var Veriler = Sistem.GrafikVerileriniOku(Sembol , "1");
    var ADX = Sistem.ADX(Veriler, 10);
    var Kapanıslar1 = Sistem.GrafikFiyatOku(Sembol, "1", "Kapanıs") ;
    var Kapanıslar2 = Sistem.GrafikFiyatOku(Sembol, "1", "Kapanıs") ;
    var Kapanıslar3 = Sistem.GrafikFiyatOku(Sembol, "1", "Kapanıs") ;
    // hareketli ortalamaları hesapla
    var MA1 = Sistem.MA(Kapanislar1, "Exp", 3);
    var MA2 = Sistem.MA(Kapanislar2, "Exp", 10);
    var MA3 = Sistem.MA(Kapanislar3, "Exp", 10);
    var SonYon = "";

    // pozisyon tablosundan pozisyon miktarını al
    var Pozisyon = Sistem.PozisyonKontrolOku(Sembol);


    // strateji
    for (int i = 1; i<Sistem.BarSayisi; i++)
    {
    if (MA1[i-1] < MA3[i-1] && MA1[i] > MA3[i] && SonYon != "A" && ADX[i] > 20) // 1.ortalama 2.ortalamanın üstüne çıkarsa
    Sistem.Yon[i] = SonYon = "A"; // alış

    {
    if (Pozisyon == 0)
    {
    var Miktar = 1;
    Sistem.PozisyonKontrolGuncelle(Sembol, Miktar);
    Sistem.EmirSembol = Sembol;
    Sistem.EmirIslem = "Alış";
    Sistem.EmirMiktari = Miktar;
    Sistem.EmirFiyati = "Aktif";
    Sistem.EmirSuresi = "SEANS"; // SEANS, GUN
    Sistem.EmirTipi = "NORMAL"; // NORMAL, KIE, KPY, AFE/KAFE
    Sistem.EmirGonder();
    }
    }

    // satış
    if (MA1[i-1] > MA2[i-1] && MA1[i] < MA2[i] && SonYon != "S") // 1.ortalama 2.ortalamanın altına inerse
    Sistem.Yon[i] = SonYon = "S"; // satış
    {
    if (Pozisyon > 0)
    {
    var Miktar = Pozisyon;
    Sistem.PozisyonKontrolGuncelle(Sembol, 0);
    Sistem.EmirSembol = Sembol;
    Sistem.EmirIslem = "Satış";
    Sistem.EmirMiktari = Miktar;
    Sistem.EmirFiyati = "Aktif";
    Sistem.EmirSuresi = "SEANS"; // SEANS, GUN
    Sistem.EmirTipi = "NORMAL"; // NORMAL, KIE, KPY, AFE/KAFE
    Sistem.EmirSatisTipi = "NORMAL"; // imkb (NORMAL, ACIGA, VIRMANDAN)
    Sistem.EmirGonder();
    }
    }

    }

    }


    Sistem.Cizgiler[0].Deger = MA1;
    Sistem.Cizgiler[1].Deger = MA2;
    Sistem.Cizgiler[2].Deger = MA3;

  6. Hissenin günlük değişimini robot tanıyıp işlem yapabilirmi. Mesela hissenin sadece artı olduğu günlerde hisse alım yapacak, gün sonunda yada sinyal üretince yada her şartta eksi günlük değişime geçince eldekini çıkaracak.

  7.  Alıntı Originally Posted by Santi78 Yazıyı Oku
    Selam arkadaşlar,

    Sırf öğrenme amaçlı aşağıdaki gibi yazıp denemek istedim ama robot çalışıyor gibi ama ne alım nede satım yapıyor nede bir hata veriyor?

    Nerde hata yapıyorum?

    var SistemAdi = "ROBOYKTOMA10adx";
    var MySistem = Sistem.SistemGetir("SistemAdi", Sembol , "1");
    if (MySistem == null)
    {
    Sistem.Mesaj(Sistem.Name + "Hatalı Çalışıyor !");
    }
    else
    {
    var Veriler = Sistem.GrafikVerileriniOku(Sembol , "1");
    var ADX = Sistem.ADX(Veriler, 10);
    var Kapanıslar1 = Sistem.GrafikFiyatOku(Sembol, "1", "Kapanıs") ;
    var Kapanıslar2 = Sistem.GrafikFiyatOku(Sembol, "1", "Kapanıs") ;
    var Kapanıslar3 = Sistem.GrafikFiyatOku(Sembol, "1", "Kapanıs") ;
    // hareketli ortalamaları hesapla
    var MA1 = Sistem.MA(Kapanislar1, "Exp", 3);
    var MA2 = Sistem.MA(Kapanislar2, "Exp", 10);
    var MA3 = Sistem.MA(Kapanislar3, "Exp", 10);
    var SonYon = "";

    // pozisyon tablosundan pozisyon miktarını al
    var Pozisyon = Sistem.PozisyonKontrolOku(Sembol);


    // strateji
    for (int i = 1; i<Sistem.BarSayisi; i++)
    {
    if (MA1[i-1] < MA3[i-1] && MA1[i] > MA3[i] && SonYon != "A" && ADX[i] > 20) // 1.ortalama 2.ortalamanın üstüne çıkarsa
    Sistem.Yon[i] = SonYon = "A"; // alış

    {
    if (Pozisyon == 0)
    {
    var Miktar = 1;
    Sistem.PozisyonKontrolGuncelle(Sembol, Miktar);
    Sistem.EmirSembol = Sembol;
    Sistem.EmirIslem = "Alış";
    Sistem.EmirMiktari = Miktar;
    Sistem.EmirFiyati = "Aktif";
    Sistem.EmirSuresi = "SEANS"; // SEANS, GUN
    Sistem.EmirTipi = "NORMAL"; // NORMAL, KIE, KPY, AFE/KAFE
    Sistem.EmirGonder();
    }
    }

    // satış
    if (MA1[i-1] > MA2[i-1] && MA1[i] < MA2[i] && SonYon != "S") // 1.ortalama 2.ortalamanın altına inerse
    Sistem.Yon[i] = SonYon = "S"; // satış
    {
    if (Pozisyon > 0)
    {
    var Miktar = Pozisyon;
    Sistem.PozisyonKontrolGuncelle(Sembol, 0);
    Sistem.EmirSembol = Sembol;
    Sistem.EmirIslem = "Satış";
    Sistem.EmirMiktari = Miktar;
    Sistem.EmirFiyati = "Aktif";
    Sistem.EmirSuresi = "SEANS"; // SEANS, GUN
    Sistem.EmirTipi = "NORMAL"; // NORMAL, KIE, KPY, AFE/KAFE
    Sistem.EmirSatisTipi = "NORMAL"; // imkb (NORMAL, ACIGA, VIRMANDAN)
    Sistem.EmirGonder();
    }
    }

    }

    }


    Sistem.Cizgiler[0].Deger = MA1;
    Sistem.Cizgiler[1].Deger = MA2;
    Sistem.Cizgiler[2].Deger = MA3;
    Merhaba,
    Sanirim Robot sabolunu uzerine sisteminizi ekleyerek tek kod icerisinde sistem+robot olusturmak istemissiniz. Sistem ve Robotu tek kod icerisinde olmasi tavsiye edilmiyor. Dongu icersinde emir gonderim kodlari kullanmak gecmis her bir sinyal icin emir iletimine neden olabilecegi icin kullanilmamali.

    Sistem dedigimiz, grafik uzerinde gorsel al sat oklarinin gosterilmesini, barlarin yesil/kirmizi renklendirilmesi ve getiri egrisini hesaplamimizi saglayan koddur. Robot ise bu sistemi kullanarak sadece son kapanis barindaki Yone gore emir gonderen koddur diyebiliriz.

    Siz once sistemi olusturmaya/optimize etmeye yogunlasin. Sistemi robota baglamak "tek satirlik robot kodu" ile cok kolay yapilabilir.

    Gereksiz bolumleri silinmis ve hatalari duzeltilmis kodunuzu asagi kopyaladim. ilk kod sadece sembol olarak atanan grafik uzerinde calisir. Ikincisi ise grafigi acilan herhangi baska bir enstruman uzerinde de calisacaktir. Bu kodu sistem olarak "deneme" olarak kaydebilirsiniz. En altta robot kodunu da deneme_robot olarak kaydederseniz, sisteminiz 1 dk lik VIOP yakin vade uzerinde robot olarak kullanima hazir olacaktir.

    Sadece "F_XU0300819" grafigi uzerinde calisan sistem kodu:
    PHP Code:
    var Sembol "VIP'F_XU0300819";
    var 
    Veriler Sistem.GrafikVerileriniOku(Sembol "1");
    var 
    Kapanislar Sistem.GrafikFiyatOku(Sembol"1""Kapanis");
    var 
    ADX Sistem.ADX(Veriler10);
    // hareketli ortalamaları hesapla 
    var MA1 Sistem.MA(Kapanislar"Exp"3); 
    var 
    MA2 Sistem.MA(Kapanislar"Exp"10); 
    var 
    MA3 Sistem.MA(Kapanislar"Exp"10); 
    var 
    SonYon ""

    // strateji 
    for (int i 1i<Sistem.BarSayisii++)
    {
    if (
    MA1[i-1] < MA3[i-1] && MA1[i] > MA3[i] && SonYon != "A" && ADX[i] > 20// 1.ortalama 2.ortalamanın üstüne çıkarsa
    Sistem.Yon[i] = "A";
    SonYon "A"// alış

    // satış
    if (MA1[i-1] > MA2[i-1] && MA1[i] < MA2[i] && SonYon != "S"// 1.ortalama 2.ortalamanın altına inerse
    Sistem.Yon[i] = "S";
    SonYon "S"// satış

    }

    Sistem.Cizgiler[0].Deger MA1
    Sistem.Cizgiler[1].Deger MA2;
    Sistem.Cizgiler[2].Deger MA3
    Tum enstrumanlar uzerinde calisabilen sistem kodu, "deneme" adiyla kaydediniz:
    PHP Code:
    var Veriler Sistem.GrafikVerileri 
    var 
    Kapanislar Sistem.GrafikFiyatOku(Veriler"Kapanis");
    var 
    ADX Sistem.ADX(10);
    // hareketli ortalamaları hesapla 
    var MA1 Sistem.MA(Kapanislar"Exp"3); 
    var 
    MA2 Sistem.MA(Kapanislar"Exp"10); 
    var 
    MA3 Sistem.MA(Kapanislar"Exp"10); 
    var 
    SonYon ""

    // strateji 
    for (int i 1i<Sistem.BarSayisii++)
    {
    if (
    MA1[i-1] < MA3[i-1] && MA1[i] > MA3[i] && SonYon != "A" && ADX[i] > 20// 1.ortalama 2.ortalamanın üstüne çıkarsa
    Sistem.Yon[i] = "A";
    SonYon "A"// alış


    // satış
    if (MA1[i-1] > MA2[i-1] && MA1[i] < MA2[i] && SonYon != "S"// 1.ortalama 2.ortalamanın altına inerse
    Sistem.Yon[i] = "S";
    SonYon "S"// satış

    }


    Sistem.Cizgiler[0].Deger MA1
    Sistem.Cizgiler[1].Deger MA2;
    Sistem.Cizgiler[2].Deger MA3
    "deneme_robot" olarak kaydedilip, ROBOT bolumu altinda sanal modda calistirilabilir:
    PHP Code:
    var Islem =Sistem.RobotViopAktif("deneme""VIP'VIP-X030"Sistem.AktifViopKontrat,"1"1); 
    Son düzenleme : 3c1a; 24-07-2019 saat: 20:04.

  8. #2712
    sercanfx Guest
    [QUOTE=Bear_Bull;3614610]if (Sistem.SaatAraligi("09:30", "09:31") || Sistem.SaatAraligi("09:50", "09:51") || istediğiniz saatler arası için hepsini yazarsınız )



    merhaba, yazılmak istenen saatler çok uzun olunca yatayda ekrana sığmıyor, aşağı enter yapınca örnek asağıdaki gibi hata veriyor. alt alta yazabiliyor muyuz ? araya formül işaret noktalı virgül vs birşey mi koymam lazım..

    çok teşekkür ederim

    if (Sistem.SaatAraligi("11:17","11:17") ||Sistem.SaatAraligi("11:31","11:31") ||Sistem.SaatAraligi("11:38","11:38")||Sistem.Saat Araligi("11:47","11:47")||Sistem.SaatAraligi("11:5 9","11:59")||Sistem.SaatAraligi("12:31","12:31")|| Sistem.SaatAraligi("17:24","17:24"))

Sayfa 339/593 İlkİlk ... 239289329337338339340341349389439 ... SonSon

Yer İmleri

Yer İmleri

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
  •