Sayfa 75/618 İlkİlk ... 2565737475767785125175575 ... SonSon
Arama sonucu : 4939 madde; 593 - 600 arası.

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

  1. #593
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    54
    Gönderi
    5,209
     Alıntı Originally Posted by gencparaci Yazıyı Oku
    Benim tek derdim manuel girdiğim emri kar kitleyerek robotun takip etmesi oda olmuyor malesef yıl olmuş 2017 elimde telefonla pozu açayım işime bakarım robot pozu algılasın her 100 puanın 50 puanını izleyen kar al yaparak yoluna devam etsin
     Alıntı Originally Posted by alekss Yazıyı Oku
    sayın gencparaci
    ben de sizin ggibi pozisyonumu kendim açmak istiyorum sonrasında stop u veya karl veya ilerleyen kar al ı robota bırakmak istiyorum ,alış veya satış seviyemi manuel olarak da girebilirim ,
    şu kod daha önce paylaşılmıştı işinize yarayabilir.
    Parametreler kısmını MANUEL doldurmanız gerekmektedir.

    //Pozisyon Kontrol Robotu / Girilen Pozisyonun Otomatik Kontrolünü Sağlar Kontrolsüz Zarar Etmenizi Önler
    //########################################### YAZAN ###### ERDAL KARAKAŞ
    var Sembol_VIP30 = "VIP'VIP-X030";

    //Kontrol Edilecek Pozisyon Bilgileri Parametrelerden Alınır.
    string Pozisyon_Yonu = Sistem.Parametreler[0]; // Girilen pozisyonun yönü belirlenir Örnek: Satış = S Alış = A
    float Lot_Miktari = Convert.ToSingle(Sistem.Parametreler[1]); //Alış/Satış yapılan Aktif Lot Miktarı belirlenir.
    float islem_Fiyati = Convert.ToSingle(Sistem.Parametreler[2]); //Lot Alış/Satış fiyatı belirlenir.
    float Zarar_Limiti = Convert.ToSingle(Sistem.Parametreler[3])/1000; //Pozisyonda maksimum edilecek zarar seviyesi. Örnek: 300 Puan için = 300
    float Kar_Limiti = Convert.ToSingle(Sistem.Parametreler[4]); //Pozisyonda maksimum kar seviyesi belirlenir. Örnek: 1250 Puan için = 1250
    float Kar_Alma_Seviyesi = Convert.ToSingle(Sistem.Parametreler[5]); //Pozisyondan alınacak olan kar seviyesi

    //string HesapAdi = Sistem.Parametreler[8];
    //string AltHesapAdi = Sistem.Parametreler[9];
    string SozlesmeAdi = Sistem.Parametreler[10];

    var Renk_Kirmizi = Sistem.Renk(250, 250, 0, 0); //Kırmızı
    var Renk_Siyah = Sistem.Renk(0, 300, 0, 0); //Siyah
    var Renk_Mavi = Sistem.Renk(250, 50, 50, 250); //Mavi
    var Renk_Mor = Sistem.Renk(250, 191, 62, 255); //Mor
    var Renk_Gri = Sistem.Renk(255, 160, 160, 160); //Gri
    var Renk_Yesil = Sistem.Renk(250, 0, 160, 50); //Yeşil

    //Anlık VIOP değeri alınır.
    float VIP30 = Sistem.SonFiyat(Sembol_VIP30);
    if (VIP30 != 0 )
    {
    //-------------------------------------------------------------------------------------
    // Strateji İşlemleri Yapılır.
    float Kar_Zarar = 0;
    float Stop_Seviyesi = 0;
    var Sinyal = 0; // Al, Sat veya Stop sinyali olduğunda değer 1 olur ve pozisyona göre işlem yapılır.

    if (Pozisyon_Yonu == "A")
    {
    Stop_Seviyesi = islem_Fiyati - Zarar_Limiti; //Stop Seviyesi Hesaplanır.
    Kar_Zarar = Sistem.SayiYuvarla(((VIP30 - islem_Fiyati) * 1000),1); //Anlık Kar Zarar Durumu Hesaplanır ve Virgülden sonrası yuvarlanır.
    }
    if (Pozisyon_Yonu == "S")
    {
    Stop_Seviyesi = islem_Fiyati + Zarar_Limiti; //Stop Seviyesi Hesaplanır.
    Kar_Zarar = Sistem.SayiYuvarla(((islem_Fiyati - VIP30) * 1000),1); //Anlık Kar Zarar Durumu Hesaplanır ve Virgülden sonrası yuvarlanır.
    }
    if ( (Pozisyon_Yonu == "A") || (Pozisyon_Yonu == "S") ) //Robotun Pozisyonda ise hesaplama yapılır.
    {
    if ( (Kar_Zarar >= 150) && (Kar_Alma_Seviyesi < 50) ) { Kar_Alma_Seviyesi = 50; } //50 TL kar alır //Kar Alma Seviyesi Belirlenir.
    if ( (Kar_Zarar >= 200) && (Kar_Alma_Seviyesi < 100) ) { Kar_Alma_Seviyesi = 100; } //100 TL kar alır //Kar Alma Seviyesi Belirlenir.
    if ( (Kar_Zarar >= 300) && (Kar_Alma_Seviyesi < 200) ) { Kar_Alma_Seviyesi = 200; } //200 TL kar alır //Kar Alma Seviyesi Belirlenir.
    if ( (Kar_Zarar >= 500) && (Kar_Alma_Seviyesi < 250) ) { Kar_Alma_Seviyesi = 250; } //250 TL kar alır //Kar Alma Seviyesi Belirlenir.
    }
    //-----------------------------------------------------------------------------------------
    //Stop ve Kar Alma Seviyeleri kontrol edilir. Duruma göre pozisyon kapatılır.
    if (Pozisyon_Yonu == "A") //Pozisyon Alış Yönde ise
    {
    if (VIP30 < Stop_Seviyesi) { Sinyal = 1; } //Stop Seviyesi Geçilmiş ise Pozisyon Kapatılır.
    if (Kar_Zarar >= Kar_Limiti) { Sinyal = 1; } //Maksimum Kar Limitine Gelinmiş ise Pozisyon Kapatılır.
    if ( (Kar_Alma_Seviyesi > 0) && (VIP30 <= (islem_Fiyati + (Kar_Alma_Seviyesi/1000))) ) { Sinyal = 1; } //Kar Alma Seviyesi Geçilmiş ise Pozisyon Kapatılır.
    }
    if (Pozisyon_Yonu == "S") //Pozisyon Satış Yönde ise
    {
    if (VIP30 > Stop_Seviyesi) { Sinyal = 1; } //Stop Seviyesi Geçilmiş ise Pozisyon Kapatılır.
    if (Kar_Zarar >= Kar_Limiti) { Sinyal = 1; } //Maksimum Kar Limitine Gelinmiş ise Pozisyon Kapatılır.
    if ( (Kar_Alma_Seviyesi > 0) && (VIP30 >= (islem_Fiyati - (Kar_Alma_Seviyesi/1000))) ) { Sinyal = 1; } //Kar Alma Seviyesi Geçilmiş ise Pozisyon Kapatılır.
    }
    //Stop ve Kar Alma Seviyeleri kontrol edilir. Duruma göre pozisyon kapatılır. BİTTİ
    //-------------------------------------------------------------------------------------

    // Strateji İşlemleri Yapılır. BİTTİ
    //----------------------------------------------------------------------------------

    //--------------------------------------------------------------------------------
    // AL - SAT İşlemleri Yapılır.
    if (Sistem.HaftaSonu == false) { //Hafta Sonu Kontrolü Yapılır.
    if (Sistem.BaglantiVar == true) { //iDeal Bağlantı Kontrolü Yapılır.
    if (Sistem.SaatAraligi("09:30", "18:14") ) { //Zaman Kontrolü Yapılır, Seans Saatleri

    if ( (Sinyal == 1) && (Lot_Miktari != 0) && (Pozisyon_Yonu != "F")) // Sinyal ve Parametre Kontrolü Yapılır.
    {
    //Sistem.EmirHesapAdi = HesapAdi;
    //Sistem.EmirAltHesap = AltHesapAdi;
    Sistem.EmirSembol = SozlesmeAdi;
    if (Pozisyon_Yonu == "A") { Sistem.EmirIslem = "Satış"; } else { Sistem.EmirIslem = "Alış"; }
    Sistem.EmirMiktari = Lot_Miktari;
    Sistem.EmirSuresi = "GUN"; // GUN, SNS, IKG
    Sistem.EmirTipi = "NORMAL"; // NORMAL, KPY, KIE, GIE, SAR
    Sistem.EmirFiyati = "Aktif";
    Sistem.EmirFiyatTipi = "PYS"; // PYS, LMT, EIF, KAP
    Sistem.EmirGonder();

    Pozisyon_Yonu = "F"; //Pozisyon Kapatıldığı için Parametre Değerine Flat ifadesi atanır.
    Sistem.Parametreler[1] = "0"; //Pozisyon Kapatıldığı için Parametre Değerine 0 atanır.
    Kar_Alma_Seviyesi = 0; //Pozisyon Kapatıldığı için Parametre Değerine 0 atanır.
    } // AL - SAT İşlemleri Yapılır. BİTTİ
    //-----------------------------------------------------------------------------------------------------------------

    }//HaftaSonu
    }//Bağlantı
    }//Saat

    //----------------------------------------------------------------------------------
    // Ekrana Robot ile ilgili Çeşitli Bilgiler Yazılır.
    Sistem.ZeminYazisiEkle("Pozisyon Yönü ", 1, 165, 43, Renk_Siyah, "Tahoma", 7);
    Sistem.ZeminYazisiEkle("Lot miktarı ", 1, 165, 55, Renk_Siyah, "Tahoma", 7);
    Sistem.ZeminYazisiEkle("İşlem Fiyatı ", 1, 165, 67, Renk_Siyah, "Tahoma", 7);
    Sistem.ZeminYazisiEkle("Stop Seviyesi ", 1, 165, 79, Renk_Siyah, "Tahoma", 7);
    Sistem.ZeminYazisiEkle("Kar Alma Seviyesi ", 1, 165, 91, Renk_Siyah, "Tahoma", 7);
    Sistem.ZeminYazisiEkle("Kar-Zarar (Puan) ", 1, 165, 103, Renk_Siyah, "Tahoma", 7);
    Sistem.ZeminYazisiEkle("Kar-Zarar (TL) ", 1, 165, 115, Renk_Siyah, "Tahoma", 7);
    //Sisteme ait Sonuçlar ve Strateji Ekrana Yazılır.
    if (Pozisyon_Yonu == "A") { Sistem.ZeminYazisiEkle(": Alış ", 1, 265, 43, Renk_Mavi, "Tahoma", 7); } //Piyasa Yönü
    if (Pozisyon_Yonu == "S") { Sistem.ZeminYazisiEkle(": Satış ", 1, 265, 43, Renk_Kirmizi, "Tahoma", 7); } //Piyasa Yönü
    if (Pozisyon_Yonu == "F") { Sistem.ZeminYazisiEkle(": Pozisyon Kapalı ", 1, 265, 43, Renk_Mor, "Tahoma", 7); } //Piyasa Yönü
    Sistem.ZeminYazisiEkle(": " + Lot_Miktari.ToString(), 1, 265, 55, Renk_Mor, "Tahoma", 7); //Lot Miktarı
    Sistem.ZeminYazisiEkle(": " + islem_Fiyati.ToString(), 1, 265, 67, Renk_Mor, "Tahoma", 7); //İşlem Fiuyatı
    Sistem.ZeminYazisiEkle(": " + Stop_Seviyesi.ToString(), 1, 265, 79, Renk_Kirmizi, "Tahoma", 7); //Stop Seviyesi
    Sistem.ZeminYazisiEkle(": " + Kar_Alma_Seviyesi.ToString() + " Puan", 1, 265, 91, Renk_Yesil, "Tahoma", 7); //Kar Alma Seviyesi
    if (Kar_Zarar >= 0) { Sistem.ZeminYazisiEkle(": " + Kar_Zarar.ToString() + " Puan", 1, 265, 103, Renk_Yesil, "Tahoma", 7); } //Kar Zarar Durumu Puan +
    if (Kar_Zarar < 0) { Sistem.ZeminYazisiEkle(": " + Kar_Zarar.ToString() + " Puan", 1, 265, 103, Renk_Kirmizi, "Tahoma", 7); } //Kar Zarar Durumu Puan -
    if (Kar_Zarar >= 0) { Sistem.ZeminYazisiEkle(": " + ((Kar_Zarar/10)*Lot_Miktari).ToString() + " TL", 1, 265, 115, Renk_Yesil, "Tahoma", 7); } //Kar Zarar Durumu Puan +
    if (Kar_Zarar < 0) { Sistem.ZeminYazisiEkle(": " + ((Kar_Zarar/10)*Lot_Miktari).ToString() + " TL", 1, 265, 115, Renk_Kirmizi, "Tahoma", 7); } //Kar Zarar Durumu Puan -

    if (Pozisyon_Yonu != "F") // Pozisyon kapalı ise çizgiler kapatılır.
    {
    Sistem.Cizgiler[0].Deger = Sistem.Liste(islem_Fiyati); Sistem.Cizgiler[0].Aciklama = "İşlem Fiyatı"; Sistem.Cizgiler[0].Kalinlik = 2; Sistem.Cizgiler[0].Renk = Renk_Mavi;
    Sistem.Cizgiler[1].Deger = Sistem.Liste(Stop_Seviyesi); Sistem.Cizgiler[1].Aciklama = "Stop Seviyesi"; Sistem.Cizgiler[1].Kalinlik = 2; Sistem.Cizgiler[1].Renk = Renk_Kirmizi;
    //Kar Alma Çizgisi Ekrana Çizdirilir.
    if ( (Pozisyon_Yonu == "A") && (Kar_Alma_Seviyesi >0) ) { Sistem.Cizgiler[2].Deger = Sistem.Liste(islem_Fiyati + (Kar_Alma_Seviyesi/1000)); Sistem.Cizgiler[2].Aciklama = "Kar Seviyesi"; Sistem.Cizgiler[2].Kalinlik = 2; Sistem.Cizgiler[2].Renk = Renk_Yesil; }
    if ( (Pozisyon_Yonu == "S") && (Kar_Alma_Seviyesi >0) ) { Sistem.Cizgiler[2].Deger = Sistem.Liste(islem_Fiyati - (Kar_Alma_Seviyesi/1000)); Sistem.Cizgiler[2].Aciklama = "Kar Seviyesi"; Sistem.Cizgiler[2].Kalinlik = 2; Sistem.Cizgiler[2].Renk = Renk_Yesil; }
    }
    // Ekrana Robot ile ilgili Çeşitli Bilgiler Yazılır. BİTTİ
    //---------------------------------------------------------------------------------------

    } //VIP30 Değişkeni 0 Sıfır kontrolü

    //Kontrol Edilecek YENİ Pozisyon Bilgileri Parametrelere Aktarılır.
    Sistem.Parametreler[0] = Pozisyon_Yonu; // Girilen pozisyonun yönü belirlenir Örnek: Satış = S Alış = A
    Sistem.Parametreler[2] = islem_Fiyati.ToString(); //Lot Alış/Satış fiyatı belirlenir.
    Sistem.Parametreler[5] = Kar_Alma_Seviyesi.ToString(); //Pozisyondan alınacak olan kar seviyesi. Örnek: 300 Puan için = 300
    Bear_Bull
    @BearBull26

  2. Sayın Bearbull ben bunu dahada geliştirmiştim ama olmuyor idealden de destek aldım gerçek hesap okuma sorunu yüzünden olmuyor

  3.  Alıntı Originally Posted by gencparaci Yazıyı Oku
    Sayın Bearbull ben bunu dahada geliştirmiştim ama olmuyor idealden de destek aldım gerçek hesap okuma sorunu yüzünden olmuyor
    pozisyonu pozisyonkontrole atarsanız manuel olarak olmaması için sebep yok . 10 larca hissede pozisyon açarım derseniz hesap okuma gerekli olabilir. ama onda da sorun yok hesap okuyup her hisse için poz alır kapamayı çalıştırırsınız .

  4. #596
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    54
    Gönderi
    5,209
     Alıntı Originally Posted by gencparaci Yazıyı Oku
    Sayın Bearbull ben bunu dahada geliştirmiştim ama olmuyor idealden de destek aldım gerçek hesap okuma sorunu yüzünden olmuyor
    Açık kod olarak kimseyle paylaşmadığım bir şey bu aşağıdaki.

    kendime yazmıştım 1 zamanlar.

    poz yokken belli aralıklarla işlem yapacak mısın diye soruyor
    ALIŞ
    veya
    SATIŞ
    lot
    fiyat
    kar limiti
    zarar limiti
    hepsini yazıp bırakıyordum
    işlem herhangi bir sebeple FLAT olduğunda
    en başa dönüp tekrar işlem yapacakmısın diye sormaya başlıyordu.

    tek dezavantajı ekranda SORU sorup cevaplamazsan arkada çalışan tüm robot kodları devre dışı kalıyor.
    tek robot bunu kullandığımda herhangi bir sorun çıkmıyordu.

    Bear_Bull
    @BearBull26

  5. bahsedilen yöntem daha özelleştirilebilir bir biçimde programımda mevcut.

    mesela biraz önce kar alma türü ekledim. 1. tür örnek ismini verdim.

    kar 1000 puana ulastıgında gerçek hesapta 800 puana stoploss koyuyor.

    kar 1500 e ulastıgında 1000 puana stop vesaire şeklinde gidiyor elle istediğiniz noktayı gordugunde istediğiniz yere stopu çekmesini girebiliyorsunuz. aynı zamanda kar limitii max puan girdiğiniz kar toplamda 5000 e ulasırsa tamamen kapan flata geçiyor manuel işleminiz. yani stop olmadan 5000 e giderse pozu anında nakıte geçiriyor.

    bunları kaydediyorsunuz ömür boyu kullanım için tek tıklamayla oluşturdugunuz kar alma serisini aktifleştirebiliyorsunuz.

    her seferınde tek tek birdaha birdaha girmenize gerek kalmadan.

    ;)

    Senin almaya cesaret edemediğin riskleri alanlar, senin yaşamak istediğin hayatı yaşarlar..
    Sokrates twit @erhanacikgoz1

  6. #598
    Duhul
    Feb 2017
    İkamet
    afyonkarahisar
    Gönderi
    794
    ben bir ideal çalışanı olsaydım yapacagım ilk iş bu olurdu
    ideal kullanıcılqrın en çok ihtiyaç duydukları grafik üzerinden stop emri , hareketli stop ,a take profit hareketli take profit emri girebilmeyi yapardım ve bu bir robot olmamalı aracı kurumu robot anlaşması olmayan bir sürü kullanıcı var , grafik üzerinde girmiş oldugum stop ,hareketli stop take profit hareketli take profit emnirlerini grafik üzerinden sürükle bırak yapabilmeliyim

    aynı metatrader deki gibi - stop veya take profit emri girmek , girilen stop veya take profit emirlerinde değişiklik yapmak çok kolay olmalı

  7.  Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    tek dezavantajı ekranda SORU sorup cevaplamazsan arkada çalışan tüm robot kodları devre dışı kalıyor.
    tek robot bunu kullandığımda herhangi bir sorun çıkmıyordu.
    DialogBox lar yanıt alana kadar tüm sistemi durdururlar hocam.
    Ama bunun aslında basit bir çözümü var
    DialogBoxları asenkron açmak..
    dialog yine anlık çıksın, soru sorulduktan sonra işleyiş kesilmeden devam etsin.
    fakat emir işlemleri için işleyişden bağımsız bir timer yapın robot içinde.
    3 saniyede bir sorulan soruya cevabı alınıp işlenmemiş bir emir varmı diye kontrol edip, varsa emirleri giren...

    if (Sistem.ZamanKontrolSaniye("EmirIslemleri") >= 3)
    {
    //dosyadan yanıtları okuyan ve gerekeni yapan kodlar...
    }

    gibi..

    PHP Code:
    //Lib.cs Using:

    using System.Threading.Tasks;
    using System.Windows.Forms;

    //Libc.cs Method:

        
    public void AsycBox(string Messagestring Title)
            {   
                
    Task.Run(() =>
                        {                    
                        var 
    dialogResult=  MessageBox.Show(MessageTitleMessageBoxButtons.OKCancel);
                            if (
    dialogResult == System.Windows.Forms.DialogResult.OK)
                                
    MessageBox.Show("OK tıklandı"); //Buraya dosyaya alınan yanıtı yazan birşeyler...
                            
    else
                                
    MessageBox.Show("iptal tıklandı");//Buraya dosyaya alınan yanıtı yazan birşeyler...
                        
    });           
            }

    //ideal Sistem içinden kullanım örneği:

    Lib.AsycBox("islem yapılsınmı","dikkat"); 
    Keçiyi yardan uçuran bir tutam ottur..

  8. #600
    Duhul
    Feb 2017
    İkamet
    afyonkarahisar
    Gönderi
    794
     Alıntı Originally Posted by Keçi Yazıyı Oku
    DialogBox lar yanıt alana kadar tüm sistemi durdururlar hocam.
    Ama bunun aslında basit bir çözümü var
    DialogBoxları asenkron açmak..
    dialog yine anlık çıksın, soru sorulduktan sonra işleyiş kesilmeden devam etsin.
    fakat emir işlemleri için işleyişden bağımsız bir timer yapın robot içinde.
    3 saniyede bir sorulan soruya cevabı alınıp işlenmemiş bir emir varmı diye kontrol edip, varsa emirleri giren...

    if (Sistem.ZamanKontrolSaniye("EmirIslemleri") >= 3)
    {
    //dosyadan yanıtları okuyan ve gerekeni yapan kodlar...
    }

    gibi..

    PHP Code:
    //Lib.cs Using:

    using System.Threading.Tasks;
    using System.Windows.Forms;

    //Libc.cs Method:

        
    public void AsycBox(string Messagestring Title)
            {   
                
    Task.Run(() =>
                        {                    
                        var 
    dialogResult=  MessageBox.Show(MessageTitleMessageBoxButtons.OKCancel);
                            if (
    dialogResult == System.Windows.Forms.DialogResult.OK)
                                
    MessageBox.Show("OK tıklandı"); //Buraya dosyaya alınan yanıtı yazan birşeyler...
                            
    else
                                
    MessageBox.Show("iptal tıklandı");//Buraya dosyaya alınan yanıtı yazan birşeyler...
                        
    });           
            }

    //ideal Sistem içinden kullanım örneği:

    Lib.AsycBox("islem yapılsınmı","dikkat"); 
    ---------
    sayın keçi yardımcı olma sansınız olursa seviniriz

    Bullish Engulfing ve Bearish Engulfing
    ideal formullerini paylaşabilecek arkadaş olursa seviniriz


    ben bir ideal çalışanı olsaydım yapacagım ilk iş bu olurdu
    ideal kullanıcılqrın en çok ihtiyaç duydukları grafik üzerinden stop emri , hareketli stop ,a take profit hareketli take profit emri girebilmeyi yapardım ve bu bir robot olmamalı aracı kurumu robot anlaşması olmayan bir sürü kullanıcı var , grafik üzerinde girmiş oldugum stop ,hareketli stop take profit hareketli take profit emnirlerini grafik üzerinden sürükle bırak yapabilmeliyim

    aynı metatrader deki gibi - stop veya take profit emri girmek , girilen stop veya take profit emirlerinde değişiklik yapmak çok kolay olmalı

Sayfa 75/618 İlkİlk ... 2565737475767785125175575 ... 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
  •