Sayfa 7/32 ÝlkÝlk ... 5678917 ... SonSon
Arama sonucu : 255 madde; 49 - 56 arasý.

Konu: Yeni Ýndikatörler

  1.  Alýntý Originally Posted by stradivarius Yazýyý Oku
    Evet tam da oydu )) ancak delta dongusunu 0-50 calistirmmistim ben. Diger turlu 0.15 e yapismaz mi ustat.
    Periyoda göre deðer aralýðý deðiþiyor, Günlük de 0.5 ler de bizim kod.


    https://prnt.sc/lng0jz




    https://prnt.sc/lnfyol

  2. 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...

  3.  Alýntý Originally Posted by B_E Yazýyý Oku
    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 Sistem.GrafikVerileri;
    var 
    Sistem.GrafikFiyatOku(V"Kapanis");
    var 
    Sistem.GrafikFiyatOku(V"Açýlýþ");
    var 
    Sistem.GrafikFiyatOku(V"Yüksek");
    var 
    Sistem.GrafikFiyatOku(V"Düþük");
    var 
    HHSistem.HHV(90,"Yuksek");
    var 
    LL Sistem.LLV(90,"Dusuk");
    var 
    VIDYASistem.VIDYA(300,9);


    var AS = 
    Sistem.Liste(0); var SS Sistem.Liste(0);
    var 
    SonYon "";double SonFiyat 0.0;
     
         for (
    int i 200V.Counti++)
         {

            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

  4.  Alýntý Originally Posted by Orhan AKDOÐAN Yazýyý Oku
    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:

    Seviyeli Sistemlerde En Çok Yapýlan 4 yanlýþ:

    1- "O[i]" Açýlýþ deðerini listeye koymamak. bunu opsiyonel zannetmek.

    2- Yön kalýbýnda Else yi koymamak. Seviyeli Sistemlerde bunu koymazsanýz repaint yapar ve 1 dk timer kullanma ihtiyacýnýz olduðunu zannedersiniz, sistemin ayný barda karar deðiþtirdiðini ve bunun yöntemin doðal bir hatasý olduðunu düþünürsünüz, kapanýþ bekleyen sistemlerde else olmamasý önemsizdir.

    3- Örnek de "VIDYA[i-1]" e tekabül eden opsiyonel deðerlerde "i-1" yerine i kullanmak.

    4- Yön kalýbýnda (if lerin içinde ) "i" geçen deðerleri "i-1" þeklinde yaparak düzelttiðini zannetmek.

  5. Super BandPass Filter - John Ehlers, Temmuz 2016 Tarihinde yayýnlandý.


    PHP Code:
    //Super BandPass Filter - John Ehlers, Temmuz 2016 Tarihinde yayýnlandý.


    //Veriler
    var Sistem.GrafikVerileri
    var 
    Sistem.GrafikFiyatSec("Kapanis");
    var 
    Sistem.GrafikFiyatSec("YUksek");
    var 
    Sistem.GrafikFiyatSec("Dusuk"); 
    var 
    Sistem.GrafikFiyatSec("Açýlýþ");


    int count 30;
    int fastbarcount 20;
    int slowbarcount 30;


    double a1 Convert.ToDouble(fastbarcount ); 
    double a2 Convert.ToDouble(slowbarcount );
    var 
    SuperPassBandFilterSistem.Liste(0); 
    var 
    RMSposSistem.Liste(0); 
    var 
    RMSnegSistem.Liste(0); 
    double RMS;
    double[] = new double[C.Count];


    for (
    int i C.Counti++) 
    {     
       
    x[i] = (a1 a2) * C[i] + (a2*(a1) - a1*(1-a2)) * C[i-1] + ((a1) + (a2)) * x[i-1] - (a1) * (a2) * x[i-2];


       
    SuperPassBandFilter[i] = (float)x[i];
       
    RMS 0;


       if(
    count )
       for (
    int j count-1>= 0j--)
       {
         
    RMS += x[i-j] * x[i-j];
       }
       
       
    RMSpos[i] = (float) Math.Sqrt(RMS/50);
       
    RMSneg[i] = (float)-RMSpos[i];
    }


    Sistem.Cizgiler[0].Deger  SuperPassBandFilter;
    Sistem.Cizgiler[1].Deger  RMSpos;
    Sistem.Cizgiler[2].Deger  RMSneg


    https://prnt.sc/lnj137

  6. Bar kapanışını beklemeyen robot kodu

     Alýntý Originally Posted by B_E Yazýyý Oku
    orhan hocam, bir de bar kapanýþýný beklemeyen robot kodu paylaþabilir misin?

    teþekkürler...
    Soru orhan hocaya sorulmuş ama bende şöyle bir kod var.
    Belki işinize yarar.

    Selamlar / Saygılar


    Kod:
    // BAR KAPANIŞINI BEKLEMEDEN İŞLEM YAPAN ROBOT KODU
    // BU KODU KULLANMAK İÇİN SİSTEMİNİZİN REPAİNT YAPAN KODLARDAN ARINDIRILMASI GEREKİR
    // BU KODU KULLANMAK TEHLİKELİ SONUÇLARA YOL AÇABİLİR
    // KOD KONUSUNDA UZMAN DEĞİLSENİZ KULLANMAYIN
    var LotSize = 1; //işlem adedi
    var Sembol = "VIP'VIP-THYAO"; // ÖRNEK SEMBOL KODU
    var Periyot = "1"; //1 dklık grafik
    var SistemAdi = "CANLIBARDAISLEMYAPANROBOTKODU"; //sistem adını buraya girin çift tırnak içinde
    
    // CANLI BARDA İŞLEM YAPAN FONKSİYON Sistem.SistemGetirCanli(SistemAdi , Sembol, Periyot); 
    var MySistem = Sistem.SistemGetirCanli(SistemAdi , Sembol, Periyot); //sistemin adı, grafik sembolü, grafiğin periyodu
    if (MySistem == null) 
    {
       Sistem.Mesaj(Sistem.Name + "Hatalı Çalışıyor !");
    }
    else
    {
       var EmirSembol =  "VIP'F_THYAO1118"; // BURAYA SEMBOLÜNÜZÜN AÇIK YAZILIŞI
       var SonFiyat = Sistem.SonFiyat(EmirSembol);
       var Anahtar = Sistem.Name + "," + EmirSembol;
       double IslemFiyat = 0;
       DateTime IslemTarih;
       var Miktar = 0.0;
       var Rezerv = "";
       var Pozisyon = Sistem.PozisyonKontrolOku(Anahtar, out IslemFiyat, out IslemTarih);
    
    // CANLI BARDA İŞLEM YAPAN FONKSİYON Sistem.SistemGetirCanli(SistemAdi , Sembol, Periyot); 
       var SonYon = Sistem.SonYonGetirCanli(SistemAdi, Sembol, Periyot);
       if (Sistem.Saat.CompareTo("10:00:00") <= 0 || Sistem.Saat.CompareTo("17:59:59") >= 0)  // seans yok işlem yapma
       {
       }
    //her günün sonunda poz varsa kapansın, ertesi sabah tekrar aynı yönde poz açılsın istenirse
    //   else if (Sistem.Saat.CompareTo("16:30:00") >= 0)  // Gün Sonu Kapat
    //   {
    //      if (Pozisyon != 0)
    //         Miktar = -Pozisyon;
    //   }
       else if (SonYon == "F" && Pozisyon != 0)  // Flata Geç
          Miktar = -Pozisyon;
       else if (SonYon == "A" && Pozisyon != LotSize)  // Al
          Miktar = LotSize - Pozisyon;
       else if (SonYon == "S" && Pozisyon != -LotSize)  // Sat
          Miktar = -LotSize - Pozisyon;
        // Emir Gönder
        var Islem = "";
        if (Miktar > 0) {Islem = "ALIS"; Rezerv = "ALIŞ YAPILDI";}
        if (Miktar < 0) {Islem = "SATIS"; Rezerv = "SATIŞ YAPILDI";}
        if (Islem != "")
        {
            Sistem.PozisyonKontrolGuncelle(Anahtar, Miktar + Pozisyon, SonFiyat, Rezerv);
            Sistem.EmirSembol = EmirSembol ;
            Sistem.EmirIslem = Islem;
            Sistem.EmirSuresi = "KIE"; // GUN, KIE, IKG
            Sistem.EmirTipi = "Piyasa"; // Piyasa, Limitli, Piyasadan Limite
            Sistem.EmirMiktari = Math.Abs(Miktar);
            Sistem.EmirGonder();
    // BURAYDA ROBOTUN İŞLEMLERİNİ ANLIK OLARAK TEXT'E YAZAN LOG TUTAN KOD VAR
    //SANALDA TEST EDERKEN İNANILMAZ BİR KOLAYLIK SAĞLAR
            File.AppendAllText( "C:\\ideal\\CANLIBARDAISLEMYAPANROBOTKODU.txt"  , Sistem.Name + "-----" + EmirSembol + "-----" + DateTime.Now.ToString("HH:mm:ss") +  Sistem.EmirIslem + "------ " + "Fiyat =" + SonFiyat.ToString() + "-----" + "Marj = " + "\r\n");
        }
    }

  7.  Alýntý Originally Posted by derborsa Yazýyý Oku
    Soru orhan hocaya sorulmuÅŸ ama bende ÅŸöyle bir kod var.
    Belki iÅŸinize yarar.

    Selamlar / Saygılar


    Kod:
    // BAR KAPANIÅžINI BEKLEMEDEN Ä°ÅžLEM YAPAN ROBOT KODU
    // BU KODU KULLANMAK Ä°ÇÄ°N SÄ°STEMÄ°NÄ°ZÄ°N REPAÄ°NT YAPAN KODLARDAN ARINDIRILMASI GEREKÄ°R
    // BU KODU KULLANMAK TEHLÄ°KELÄ° SONUÇLARA YOL AÇABÄ°LÄ°R
    // KOD KONUSUNDA UZMAN DEĞİLSENİZ KULLANMAYIN
    var LotSize = 1; //iÅŸlem adedi
    var Sembol = "VIP'VIP-THYAO"; // ÖRNEK SEMBOL KODU
    var Periyot = "1"; //1 dklık grafik
    var SistemAdi = "CANLIBARDAISLEMYAPANROBOTKODU"; //sistem adını buraya girin çift tırnak içinde
    
    // CANLI BARDA Ä°ÅžLEM YAPAN FONKSÄ°YON Sistem.SistemGetirCanli(SistemAdi , Sembol, Periyot); 
    var MySistem = Sistem.SistemGetirCanli(SistemAdi , Sembol, Periyot); //sistemin adı, grafik sembolü, grafiÄŸin periyodu
    if (MySistem == null) 
    {
       Sistem.Mesaj(Sistem.Name + "Hatalı ÇalıÅŸıyor !");
    }
    else
    {
       var EmirSembol =  "VIP'F_THYAO1118"; // BURAYA SEMBOLÜNÜZÜN AÇIK YAZILIÅžI
       var SonFiyat = Sistem.SonFiyat(EmirSembol);
       var Anahtar = Sistem.Name + "," + EmirSembol;
       double IslemFiyat = 0;
       DateTime IslemTarih;
       var Miktar = 0.0;
       var Rezerv = "";
       var Pozisyon = Sistem.PozisyonKontrolOku(Anahtar, out IslemFiyat, out IslemTarih);
    
    // CANLI BARDA Ä°ÅžLEM YAPAN FONKSÄ°YON Sistem.SistemGetirCanli(SistemAdi , Sembol, Periyot); 
       var SonYon = Sistem.SonYonGetirCanli(SistemAdi, Sembol, Periyot);
       if (Sistem.Saat.CompareTo("10:00:00") <= 0 || Sistem.Saat.CompareTo("17:59:59") >= 0)  // seans yok iÅŸlem yapma
       {
       }
    //her günün sonunda poz varsa kapansın, ertesi sabah tekrar aynı yönde poz açılsın istenirse
    //   else if (Sistem.Saat.CompareTo("16:30:00") >= 0)  // Gün Sonu Kapat
    //   {
    //      if (Pozisyon != 0)
    //         Miktar = -Pozisyon;
    //   }
       else if (SonYon == "F" && Pozisyon != 0)  // Flata Geç
          Miktar = -Pozisyon;
       else if (SonYon == "A" && Pozisyon != LotSize)  // Al
          Miktar = LotSize - Pozisyon;
       else if (SonYon == "S" && Pozisyon != -LotSize)  // Sat
          Miktar = -LotSize - Pozisyon;
        // Emir Gönder
        var Islem = "";
        if (Miktar > 0) {Islem = "ALIS"; Rezerv = "ALIÅž YAPILDI";}
        if (Miktar < 0) {Islem = "SATIS"; Rezerv = "SATIÅž YAPILDI";}
        if (Islem != "")
        {
            Sistem.PozisyonKontrolGuncelle(Anahtar, Miktar + Pozisyon, SonFiyat, Rezerv);
            Sistem.EmirSembol = EmirSembol ;
            Sistem.EmirIslem = Islem;
            Sistem.EmirSuresi = "KIE"; // GUN, KIE, IKG
            Sistem.EmirTipi = "Piyasa"; // Piyasa, Limitli, Piyasadan Limite
            Sistem.EmirMiktari = Math.Abs(Miktar);
            Sistem.EmirGonder();
    // BURAYDA ROBOTUN Ä°ÅžLEMLERÄ°NÄ° ANLIK OLARAK TEXT'E YAZAN LOG TUTAN KOD VAR
    //SANALDA TEST EDERKEN Ä°NANILMAZ BÄ°R KOLAYLIK SAÄžLAR
            File.AppendAllText( "C:\\ideal\\CANLIBARDAISLEMYAPANROBOTKODU.txt"  , Sistem.Name + "-----" + EmirSembol + "-----" + DateTime.Now.ToString("HH:mm:ss") +  Sistem.EmirIslem + "------ " + "Fiyat =" + SonFiyat.ToString() + "-----" + "Marj = " + "\r\n");
        }
    }

    abi,
    var SonYon = Sistem.SonYonGetirCanli(SistemAdi, Sembol, Periyot);

    kodu

    var GrafikSistem= Sistem.SistemGetir(SistemAdi, Sembol, Periyot);
    var SonYon = GrafikSistem.Yon[GrafikSistem.GetLastYonNo()];

    kodlarýnýn (Lib.cs de geçen ) muadilidir. bu ok.

    Fakat kodda geçen

    var MySistem = Sistem.SistemGetirCanli(SistemAdi , Sembol, Periyot);

    kullanýmý hatalý. çünkü SistemGetirCanli diye bir metod idealde henüz yok.
    Eðer henüz yayýnlanmamýþ beta bir sürümü kullanýyorsanýz SistemGetirCanli içerisinde RunSistem yapýlmamasýný rica edin yoksa gereksiz yere 2 kez sistem çalýþýr. (SistemGetirCanli +SonYonGetirCanli)

  8.  Alýntý Originally Posted by Orhan AKDOÐAN Yazýyý Oku
    abi,
    var SonYon = Sistem.SonYonGetirCanli(SistemAdi, Sembol, Periyot);

    kodu

    var GrafikSistem= Sistem.SistemGetir(SistemAdi, Sembol, Periyot);
    var SonYon = GrafikSistem.Yon[GrafikSistem.GetLastYonNo()];

    kodlarýnýn (Lib.cs de geçen ) muadilidir. bu ok.

    Fakat kodda geçen

    var MySistem = Sistem.SistemGetirCanli(SistemAdi , Sembol, Periyot);

    kullanýmý hatalý. çünkü SistemGetirCanli diye bir metod idealde henüz yok.
    Eðer henüz yayýnlanmamýþ beta bir sürümü kullanýyorsanýz SistemGetirCanli içerisinde RunSistem yapýlmamasýný rica edin yoksa gereksiz yere 2 kez sistem çalýþýr. (SistemGetirCanli +SonYonGetirCanli)
    Orhan hocam bu fonksiyonları tanımladılar uzun zaman oldu.

    şahsen ben uzun zamandır bu şekilde canlı bar kullanıyorum.
    Slm/Syg

Sayfa 7/32 ÝlkÝlk ... 5678917 ... 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
  •