Sayfa 8/32 İlkİlk ... 67891018 ... SonSon
Arama sonucu : 256 madde; 57 - 64 arası.

Konu: Yeni İndikatörler

  1.  Alıntı Originally Posted by derborsa Yazıyı Oku
    Orhan hocam bu fonksiyonları tanımladılar uzun zaman oldu.

    ÅŸahsen ben uzun zamandır bu ÅŸekilde canlı bar kullanıyorum.
    Slm/Syg
    rica etsem müsait olduğunuzda bunun mesajını yazabilir misiniz?

    PHP Code:
    try
    {
       var 
    GrafikSistemSistem.SistemGetirCanli("sistem adını yazın""VIP'VIP-X030" "1"); 
       
    Sistem.Mesaj("cillop gibi çalışıyor");
    }
    catch
    {
       
    Sistem.Mesaj("SistemGetirCanli adında bir metod yok");


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

    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
    orhan hocam benim sistem kodundan olduğunu anladım.

    teşekkür ederim...

  3.  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.SistemGetir(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");
        }
    }

    ilk sırada geçen
    var MySistem = Sistem.SistemGetir(SistemAdi , Sembol, Periyot); düzelttim
    şu an tamam

  4.  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");
        }
    }
    kod için teşekkürler/saygılar...

  5.  Alıntı Originally Posted by Orhan AKDOĞAN Yazıyı Oku
    rica etsem müsait olduğunuzda bunun mesajını yazabilir misiniz?

    PHP Code:
    try
    {
       var 
    GrafikSistemSistem.SistemGetirCanli("sistem adını yazın""VIP'VIP-X030" "1"); 
       
    Sistem.Mesaj("cillop gibi çalışıyor");
    }
    catch
    {
       
    Sistem.Mesaj("SistemGetirCanli adında bir metod yok");

    ideal yetkililerinin davet edilmesi gerekecek orhan hocam.



    SistemGetirCanli aslında MySistem.Yon.Count; i++) 'ın aynısı

  6.  Alıntı Originally Posted by derborsa Yazıyı Oku
    ideal yetkililerinin davet edilmesi gerekecek orhan hocam.

    SistemGetirCanli aslında MySistem.Yon.Count; i++) 'ın aynısı
    aslında belirttim bunu da, iki sorun vardı, birisi düzeldi, ikincisi devam ediyor
    tek bir formül test butonu tıklanması sizin kodda 2 kere runsistem yapar, 2 kat yavaşlık demek bu. (sistemgetir + SonYonGetirCanli )
    lib metodunda ise 1 kere runsistem yapar.

    sistemgetir i-1 e bakan kod;
    SonYonGetirCanli ise i e bakan kodtur.

    sistemgetir ile null kontrolü yapılabilir, çünkü sistemi return eder.
    SonYonGetirCanli ile null kontrolü yapılamaz çünkü sistemi değil yönü döndürür.
    sonuç olarak SonYonGetirCanli yıda kullanmak mantıklı olmuyor.

  7.  Alıntı Originally Posted by Orhan AKDOĞAN Yazıyı Oku
    aslında belirttim bunu da, iki sorun vardı, birisi düzeldi, ikincisi devam ediyor
    tek bir formül test butonu tıklanması sizin kodda 2 kere runsistem yapar, 2 kat yavaşlık demek bu. (sistemgetir + SonYonGetirCanli )
    lib metodunda ise 1 kere runsistem yapar.

    sistemgetir i-1 e bakan kod;
    SonYonGetirCanli ise i e bakan kodtur.

    sistemgetir ile null kontrolü yapılabilir, çünkü sistemi return eder.
    SonYonGetirCanli ile null kontrolü yapılamaz çünkü sistemi değil yönü döndürür.
    sonuç olarak SonYonGetirCanli yıda kullanmak mantıklı olmuyor.
    Orhan hocam daha önceki canlı bar kodumun önemli satırı şuydu;
    for (int i = 0; i < MySistem.Yon.Count; i++)
    {
    if (MySistem.Yon[i] != "")
    SonYon = MySistem.Yon[i];
    }
    kodun uzun kısmı ise şöyle;
    Sistem.GrafikVerisiIndir("VIP'VIP-X030", "1");
    var LotSize = 1; //işlem adedi
    var MySistem = Sistem.SistemGetir("SistemAD", "VIP'VIP-X030", "1");

    if (MySistem == null)
    {
    Sistem.Mesaj(Sistem.Name + "Hatalı Çalışıyor !");
    }
    else
    {
    var EmirSembol = Sistem.AktifViopKontrat;
    var Pozisyon = Sistem.PozisyonKontrolOku(Sistem.Name + " , " + EmirSembol);
    var SonYon = "";
    for (int i = 0; i < MySistem.Yon.Count; i++)
    {
    if (MySistem.Yon[i] != "")
    SonYon = MySistem.Yon[i];
    }

    // Emir Miktarını Hesapla
    // bu satır vıop saatleri için
    var Miktar = 0.0;
    if (Sistem.Saat.CompareTo("09:30:00") <= 0 || Sistem.Saat.CompareTo("18:14:59") >= 0)
    {
    }

    //if (Sistem.Saat.CompareTo("14:00:00") <= 0 && Sistem.Saat.CompareTo("13:00:00") >= 0)
    //{
    //}


    // else if (Sistem.Saat.CompareTo("17:59:59") >= 0) // Gün Sonu Pozisyonu 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";
    if (Miktar < 0)
    Islem = "SATIS";
    if (Islem != "")
    {
    var Anahtar = Sistem.Name + " , " + MySistem.GrafikVerileri[MySistem.GrafikVerileri.Count-1].Date.ToString("yyyyMMdd HH:mm");
    var Defa = Sistem.SayiTablosunuOku(Anahtar);
    if (Defa == 0)
    {
    Defa++;
    Sistem.SayiTablosunuGuncelle(Anahtar, Defa);
    Sistem.PozisyonKontrolGuncelle(Sistem.Name + " , " + EmirSembol, Miktar + Pozisyon);
    Sistem.EmirSembol = EmirSembol;
    Sistem.EmirIslem = Islem;
    Sistem.EmirSuresi = "KIE";
    Sistem.EmirTipi = "Piyasa";
    Sistem.EmirMiktari = Math.Abs(Miktar);
    Sistem.EmirGonder();
    }
    }
    }
    .. hülasa, ben defa kontrolüne gerek duymadığım (sistem kodum repaintsiz ve salınımsız geldiği ) için SistemGetirCanli komutunu halen kullanıyorum.
    Yavaşlık gözlemliyor muyum sorunsalına gelince, herhangi bir hızlı robotla deneme şansım olmadı.
    Slm/Syg

  8.  Alıntı Originally Posted by derborsa Yazıyı Oku
    Orhan hocam daha önceki canlı bar kodumun önemli satırı ÅŸuydu;

    kodun uzun kısmı ise ÅŸöyle;

    .. hülasa, ben defa kontrolüne gerek duymadıÄŸım (sistem kodum repaintsiz ve salınımsız geldiÄŸi ) için SistemGetirCanli komutunu halen kullanıyorum.
    YavaÅŸlık gözlemliyor muyum sorunsalına gelince, herhangi bir hızlı robotla deneme ÅŸansım olmadı.
    Slm/Syg

    grafik sisteminin son satırına herhangi bir şarta bağlı olmayan File.AppendAllText ekleyin.
    formul test yapın. 2 kez log attığını görürsünüz. aynı sistemi gereksiz yere 2 kez çağırmak istemiyorsanız SistemGetir ile SistemGetirCanli yi birlikte kullanmayın.

Sayfa 8/32 İlkİlk ... 67891018 ... 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
  •