Sayfa 1/40 12311 ... SonSon
Arama sonucu : 320 madde; 1 - 8 arası.

Konu: (Bu başlıkta soru sormayın)İdeal Formülleri (Soru-Cevap için diğer başlığı kullanın!)

  1. #1
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Thumbs up (Bu başlıkta soru sormayın)İdeal Formülleri (Soru-Cevap için diğer başlığı kullanın!)

    Bu konu sadece yazımı tamamlanmış formüller içindir. Idealde kullanılabilecek, faydalı olacağını düşündüğünüz, ufuk açabilecek formülleri paylaşılabilirsiniz.

    Programla ilgili duyurular, bilgilendirmeler, soru-cevaplar İDEAL veri terminalinde /Sistem/İndikatör/Robot başlığında yapılmaktadır.

    Ideal Teknik
    http://indir.platodata.com.tr/teknik/
    Son düzenleme : thebaboli; 07-03-2016 saat: 00:05. Sebep: Konu içeriği vurgulandı :)
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  2. #2
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Esas

    Diğer başlıkta yazılan bazı formülleri alarak başlayayım ;

     Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    manuel girilecek gün sayısına göre fibo seviyesi çizecek bişey yazdım ama acemilikten verdiği hatayı çözemedim.

    /// fibonachi

    var DD = Sistem.Parametreler[0]; // parametre kısmından kullanılacak değeri gir
    var ftepe = Sistem.HHV( DD, "Kapanis");
    var fdip = Sistem.LLV(DD, "Kapanis");
    var forta = Sistem.ftepe+fdip/2;
    var fark = Sistem.ftepe-fdip;

    //
    Sistem.Cizgiler[0].Deger = (ftepe+(fark*0.618));
    Sistem.Cizgiler[1].Deger = ftepe; //
    Sistem.Cizgiler[2].Deger = forta; //
    Sistem.Cizgiler[3].Deger = fdip; //
    Sistem.Cizgiler[4].Deger = (fdip-(fark*0.618));


     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    Düzgün formül ve çıktısı (parametreye 10 girdik) aşağıdadır..

    /// fibonachi

    var DD = Sistem.Parametreler[0]; // parametre kısmından kullanılacak değeri gir

    // hazır sistem hesaplama fonksiyonları liste olarak değer döndürür
    var Tepe = Sistem.HHV(DD, "Kapanis");
    var Dip = Sistem.LLV(DD, "Kapanis");

    // sistem fonksiyonu kullanmadan yapılan hesaplamalarda liste yaratıp, döngü kullanmamız gerekiyor
    var BarSayisi = Tepe.Count; // kolaylık olsun diye grafikteki bar sayısını değişkene aktar
    var Orta = Sistem.Liste(BarSayisi , 0); // boş liste oluştur
    var FiboUst = Sistem.Liste(BarSayisi , 0); // boş liste oluştur
    var FiboAlt = Sistem.Liste(BarSayisi , 0); // boş liste oluştur

    // döngü kullanarak listeleri hesaplat
    for (int i = 0; i < BarSayisi; i++)
    {
    Orta[i] = (Tepe[i] + Dip[i]) / 2;
    FiboAlt[i] = Dip[i] - (Tepe[i] - Dip[i]) * 0.618f; // c# sentaksında ondalık sayıların sonuna f harfi yazmak gerekiyor
    FiboUst[i] = Tepe[i] + (Tepe[i] - Dip[i]) * 0.618f;
    }

    // listeleri çizgilere aktar
    Sistem.Cizgiler[0].Deger = FiboUst;
    Sistem.Cizgiler[1].Deger = Tepe;
    Sistem.Cizgiler[2].Deger = Orta;
    Sistem.Cizgiler[3].Deger = Dip;
    Sistem.Cizgiler[4].Deger = FiboAlt;


    // strateji
    //for (int i = 1; i<BarSayisi; i++)
    //{
    // if ()
    // Sistem.Yon[i] = "A"; // alış
    // if ()
    // Sistem.Yon[i] = "S"; // satış
    //}



    Çıktısı ise böyle;



    parametreler ise;

    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  3. #3
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Esas

    Başka bir alıntı ;

     Alıntı Originally Posted by tkaragoz Yazıyı Oku
    Bu formül error veriyor. Sebebi nedir acaba?
    Standart formülün yanına RSI şartı eklemeye çalıştım ama beceremedim.


    var Sembol = "IMKBH'GARAN";
    var SembolDeger = Sistem.SonFiyat(Sembol);
    var Kapanislar = Sistem.GrafikFiyatOku(Sembol, "Kapanis");
    var RSIDeger = Sistem.RSI(Kapanislar,14);
    // pozisyon tablosundan pozisyon miktarını al
    var Pozisyon = Sistem.PozisyonKontrolOku(Sembol);

    // alış
    if (SembolDeger <= 7.10 && RSIDeger > 45 )
    {
    if (Pozisyon == 0 )
    {
    var Miktar=2;
    Sistem.PozisyonKontrolGuncelle(Sembol, Miktar);
    Sistem.EmirSembol = Sembol;
    Sistem.EmirIslem = "Alış";
    Sistem.EmirMiktari = Miktar;
    Sistem.EmirFiyati = "Aktif"; // aktif fiyat
    Sistem.EmirSuresi = "SEANS"; // SEANS, GUN
    Sistem.EmirTipi = "NORMAL"; // NORMAL, KIE, KPY, AFE/KAFE
    Sistem.EmirGonder();
    }
    }

    // satış
    if (SembolDeger >= 10.50)
    {
    if (Pozisyon > 0)
    {
    var Miktar = Pozisyon;
    Sistem.PozisyonKontrolGuncelle(Sembol, 0);
    Sistem.EmirSembol = Sembol;
    Sistem.EmirIslem = "Satış";
    Sistem.EmirMiktari = Miktar;
    Sistem.EmirFiyati = "Aktif"; // aktif fiyat
    Sistem.EmirSuresi = "SEANS"; // SEANS, GUN
    Sistem.EmirTipi = "NORMAL"; // NORMAL, KIE, KPY, AFE/KAFE
    Sistem.EmirGonder();
    }
    }


     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    Merhabalar;

    1-) RSI okutma bölümü hatalıydı, düzeltildi..

    2-) RSIDeger liste olarak döner, RSI’ın son değeri aşağıdaki gibi kullanılır..
    if (SembolDeger <= 7.10 && RSIDeger[RSIDeger.Count-1] > 45)

    3-) Satış bölümüne EmirSatisTipi parametresinin eklenmesi gerekir..
    satış bölümüme Sistem.EmirSatisTipi = "NORMAL"; // imkb (NORMAL, ACIGA, VIRMANDAN) eklenmesi gerekir

    4-) Satış bölümünde RSI eklenmemiş, gözden mi kaçtı, yoksa bu şekilde kullanım mı tercih edildi..



    var Sembol = "IMKBH'GARAN";
    var SembolDeger = Sistem.SonFiyat(Sembol);

    // RSI değerlerini listeye oku
    var Veriler = Sistem.GrafikVerileriniOku(Sembol, "G");
    var RSIDeger = Sistem.RSI(Veriler, 14);

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

    // alış
    if (SembolDeger <= 7.10 && RSIDeger[RSIDeger.Count-1] > 45)
    {
    if (Pozisyon == 0 )
    {
    var Miktar=2;
    Sistem.PozisyonKontrolGuncelle(Sembol, Miktar);
    Sistem.EmirSembol = Sembol;
    Sistem.EmirIslem = "Alış";
    Sistem.EmirMiktari = Miktar;
    Sistem.EmirFiyati = "Aktif"; // aktif fiyat
    Sistem.EmirSuresi = "SEANS"; // SEANS, GUN
    Sistem.EmirTipi = "NORMAL"; // NORMAL, KIE, KPY, AFE/KAFE
    Sistem.EmirGonder();
    }
    }

    // satış
    if (SembolDeger >= 10.50)
    {
    if (Pozisyon > 0)
    {
    var Miktar = Pozisyon;
    Sistem.PozisyonKontrolGuncelle(Sembol, 0);
    Sistem.EmirSembol = Sembol;
    Sistem.EmirIslem = "Satış";
    Sistem.EmirMiktari = Miktar;
    Sistem.EmirFiyati = "Aktif"; // aktif fiyat
    Sistem.EmirSuresi = "SEANS"; // SEANS, GUN
    Sistem.EmirTipi = "NORMAL"; // NORMAL, KIE, KPY, AFE/KAFE
    Sistem.EmirSatisTipi = "NORMAL"; // imkb (NORMAL, ACIGA, VIRMANDAN)
    Sistem.EmirGonder();
    }
    }
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  4. #4
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Esas

    Robot ile ilgili birkaç bilgi ;

     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    ROBOT ile emir gönderimi için 3 önemli hatırlatma / bilgilendirme;

    1-
    Bir robot 100 milisaniyede bir çalışır. (Tüm istenenler tek robot'a yazılmışsa)
    Yani bir robot saniyede 10 kez çalılır. (10 ayrı Robot yazılırsa her biri 1 saniye içinde 1 kez)
    PozisyonKontrol fonksiyonu ile, işlem yapıldığında pozisyon'a değer atanıp bu değer kontrol ettirilerek, döngüye girmesi ve aynı emri saniyede 10 kez göndermesinin önüne geçilir.(bu kontrol ile denetimler AL-AL-AL-SAT şeklinde ilerlemesi mumkün bir formülasyon varsa pozisyon değer ataması ona göre kontrol edilebilir.)


    2-
    Satış emri gönderileceği zaman mutlaka EmirSatisTipi bilgisi girilmelidir.

    3-
    Robot yazımı tamamlandığındai gerçek hesaba emir gönderecek şekilde robotu çalıştırmadan önce mutlaka "sanal" ortamda çalışıtırıp gözlemlemeniz önerilir. Portföy/Robot sekmesinde yer alan AKSİYON kısmından SANAL seçildiğinde, herhangi bir hesaba login olunmamışsa dahi robot çalışır ve emir gönderilir.
    Hatta aynı sekmedeki POZİSYON yazısına basılarak emirler robot tarafından gönderildikçe, sembol bazında POZISYON değişkeninin kaç olduğu takip edilebilir. Kodun içine gitmeden, pozisyon değişkeni başka bir değere set edilebilir.

    ÖRNEK EMİR GÖNDERİM: Senet değeri 2.50 ise ve pozisyon sıfırdan büyükse (Daha önce AL işlemi yapılmış ve pozisyon > 0 olmuş) SAT örnek kodu..

    if (SembolDeger >= 2.50)
    {
    if (Pozisyon > 0)
    {
    var Miktar = Pozisyon;
    Sistem.PozisyonKontrolGuncelle(Sembol, 0);
    Sistem.EmirSembol = Sembol;
    Sistem.EmirIslem = "Satış";
    Sistem.EmirMiktari = Miktar;
    Sistem.EmirFiyati = "Aktif"; // aktif fiyat
    Sistem.EmirSuresi = "SEANS"; // SEANS, GUN
    Sistem.EmirTipi = "NORMAL"; // NORMAL, KIE, KPY, AFE/KAFE
    Sistem.EmirSatisTipi = "NORMAL"; // imkb (NORMAL, ACIGA, VIRMANDAN)
    Sistem.EmirGonder();
    }
    }
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  5. #5
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Esas

     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    Günaydın.

    Grafikte bir senede ait tarihsel verilelerin kullanımı için "Sistem.GrafikVerileri" fonksiyonu eklenmiştir. Aşağıda, önceki yüksek ve düşüğü indikatör olarak çizen bir sistemin kodları paylaşılmıştır. Bu örnek üzerinden sizler de GrafikVerileri Fonksiyonunu kullanma şeklini inceleyebilirsiniz.
    (NOT: "OrnekOncekiYuksekDusuk" isimli sistem, yayın üzerinden iDeal ekranlarına da gönderilmiştir.

    Kod:
    // önceki yüksek ve düşügü indikatör olarak çizdiren örnek
    
    // Sistem.GrafikVerileri senedin tüm grafik verilerini tutan listedir
    var Veriler = Sistem.GrafikVerileri;
    
    // sistem fonksiyonu kullanmadan yapılan hesaplamalarda liste yaratıp, döngü kullanmamız gerekiyor
    var BarSayisi = Veriler.Count;  // kolaylık olsun diye grafikteki bar sayısını değişkene aktar
    var OncekiYuksek = Sistem.Liste(BarSayisi , 0);   // boş liste oluştur
    var OncekiDusuk = Sistem.Liste(BarSayisi , 0);   // boş liste oluştur
    
    // döngü kullanarak listeleri hesaplat
    for (int i = 1; i < BarSayisi; i++)
    {
       OncekiYuksek[i] = Veriler[i-1].High;
       OncekiDusuk[i] = Veriler[i-1].Low;
    }
    
    // listeleri çizgilere aktar
    Sistem.Cizgiler[0].Deger = OncekiYuksek;
    Sistem.Cizgiler[1].Deger = OncekiDusuk;
    Saygılarımızla
     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    iDeal de sistem yazarken önceki değerlere şu şekilde erişebilirsiniz.

    Kod:
    // döngü kullanarak listeleri hesaplatma
    for (int i = 1; i < BarSayisi; i++)
    {
       OncekiYuksek[i] = Veriler[i-1].High;
       OncekiDusuk[i] = Veriler[i-1].Low;
    }
    Saygılarımızla
    ,,,,,,,,,,
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  6. #6
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Esas

     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    iDeal Kullanıcıları için "Sistem Tester" modülüne bir "örnek indikatör" eklenmiştir ve formülü açık olarak konulmuştur.
    Formülü aşağıda da paylaşılan indikatörün, 5 barlık üssel hareketli ortalamasını yukarı ve aşağı kesmesiyle AL/SAT sinyali ürettirilmiştir.
    Yine aşağıda, XU100 grafiğine uygulanmış ekran görüntüsü de paylaşılmıştır.

    Grafik verilerini okutma
    Bar sayılarını okutma
    Fonksiyonların kullanılması
    Çizgilerin çizdirilmesi, isimlendirilmesi gibi pek çok olay için örnek teşkil edecektir.

    Saygılarımızla

    Kod:
    var Bar = Sistem.GrafikVerileri;   // tüm bar varilerini içeren listeyi Bar değişkenine ata
    var BarSayisi = Sistem.BarSayisi;  // grafikteki bar sayısını değişkene aktar
    
    // hazır sistem hesaplama fonksiyonları liste olarak değer döndürür
    var HHV = Sistem.HHV(13, "Yuksek");
    var LLV = Sistem.LLV(13, "Dusuk");
    
    // sistem fonksiyonu kullanmadan yapılan hesaplamalarda liste yaratıp, döngü kullanmamız gerekiyor
    var Part1 = Sistem.Liste(BarSayisi , 0);   // C - (.5 * ( HHV + LLV)
    var Part2 = Sistem.Liste(BarSayisi , 0);   // HHV - LLV
    
    // döngü kullanarak listeleri hesaplat
    for (int i = 100; i < BarSayisi; i++)
    {
       Part1[i] = Bar[i].Close - 0.5f * (HHV[i] + LLV[i]); // C - (.5 * ( HHV + LLV);
       Part2[i] = HHV[i] - LLV[i] ; // HHV - LLV
    }
    
    // sistem fonksiyonlarını kullanarak hareketli ortalama listelerini oluştur
    var Part1Mov = Sistem.MA(Sistem.MA(Part1, "Exp", 25) , "Exp" , 2);
    var Part2Mov = Sistem.MA(Sistem.MA(Part2, "Exp", 25) , "Exp" , 2);
    
    // boş indikator listesi tanımla ve hesapla
    var IND = Sistem.Liste(BarSayisi , 0);   // boş liste
    for (int i = 100; i < BarSayisi; i++)
    {
       IND[i] = 100 * ( Part1Mov[i] / (0.5f * Part2Mov[i]));
    }
    // indikator ortalama listesi
    var AVR = Sistem.MA(IND ,"Exp", 5);
    
    // listeleri çizgilere aktar
    Sistem.Cizgiler[0].Deger = IND;
    Sistem.Cizgiler[1].Deger = AVR;
    
    // strateji
    Sistem.KesismeTara(IND, AVR);
    Ekran Görüntüsü:



     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    Yukarıdaki örnek sistemin sinyal üretmesiyle otomatik olarak alış ve satış yapması istenen ÖRNEK ROBOT formülü de aşağıdaki gibidir.
    Hisse olarak GARAN, periyot olarak GÜN ve Miktar olarak 1000 kullanılmıştır.
    Açığa Satış yapılmayacağı varsayılmıştır.
    ROBOT üzerinde, SANAL aksiyon seçerek ve mesela 1 dk periyot ayarlayarak sizler de test edebilirsiniz. Sanal olarak robot'a emir göndertmek için bir hesaba bağlanmış olmanız gerekmez...
    giden emirleri, her emir sonrası pozisyonlarının son durumunu (GARAN miktarı emirlerden sonra kaç adet oldu) ROBOT sekmesindeki "pozisyonlar" ve "Emirler" sekmelerinden takip edebilirsiniz.


    Kod:
    var Sembol = "IMKBH'GARAN";
    var Bar = Sistem.GrafikVerileriniOku(Sembol, "G");  // tüm bar varilerini içeren listeyi Bar değişkenine ata
    var BarSayisi = Bar.Count;  // grafikteki bar sayısını değişkene aktar
    
    // hazır sistem hesaplama fonksiyonları liste olarak değer döndürür
    var HHV = Sistem.HHV(Bar, 13, "Yuksek");
    var LLV = Sistem.LLV(Bar, 13, "Dusuk");
    
    // sistem fonksiyonu kullanmadan yapılan hesaplamalarda liste yaratıp, döngü kullanmamız gerekiyor
    var Part1 = Sistem.Liste(BarSayisi , 0);   // C - (.5 * ( HHV + LLV)
    var Part2 = Sistem.Liste(BarSayisi , 0);   // HHV - LLV
    
    // döngü kullanarak listeleri hesaplat
    for (int i = 100; i < BarSayisi; i++)
    {
       Part1[i] = Bar[i].Close - 0.5f * (HHV[i] + LLV[i]); // C - (.5 * ( HHV + LLV);
       Part2[i] = HHV[i] - LLV[i] ; // HHV - LLV
    }
    
    // sistem fonksiyonlarını kullanarak hareketli ortalama listelerini oluştur
    var Part1Mov = Sistem.MA(Sistem.MA(Part1, "Exp", 25) , "Exp" , 2);
    var Part2Mov = Sistem.MA(Sistem.MA(Part2, "Exp", 25) , "Exp" , 2);
    
    // boş indikator listesi tanımla ve hesapla
    var IND = Sistem.Liste(BarSayisi , 0);   // boş liste
    for (int i = 100; i < BarSayisi; i++)
    {
       IND[i] = 100 * ( Part1Mov[i] / (0.5f * Part2Mov[i]));
    }
    // indikator ortalama listesi
    var AVR = Sistem.MA(IND ,"Exp", 5);
    
    // IŞLEM YAP
    // pozisyon tablosundan pozisyon miktarını al
    var Pozisyon = Sistem.PozisyonKontrolOku("ROBOT_001 " + Sembol);
    
    // alış
    if (Sistem.YukariKestiyse(IND, AVR))
    {
       if (Pozisyon == 0)
       {
          var Miktar = 1000;
          Sistem.PozisyonKontrolGuncelle("ROBOT_001 " + Sembol);
          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 (Sistem.AsagiKestiyse(IND, AVR))
    {
       if (Pozisyon > 0)
       {
          var Miktar = Pozisyon;
          Sistem.PozisyonKontrolGuncelle("ROBOT_001 " + 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();
       }
    }
    ,,,,,,,,,,,,,
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  7. #7
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Esas

     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    Bir (A) hisse senedinin son işlem fiyatının, bir başka (B) hisse senedinin son işlem fiyatına oranı "x" olursa 1000 adet A hissesi AL, 1875 adet B hissesi SAT;
    Bu oran "y" olursa 1875 adet B hissesi AL, 1000 adet A hissesi SAT

    Örnek ROBOT kodları aşağıda verilmiştir.

    Bu formülde, son işlem fiyatı yerine herhangi bir başka veri kullanabilirsiniz.
    şart yerine geldiğinde herhangi başka hisse senetlerine emir göndertebilirsiniz.
    Birbirinden farklı hisselerin verilerinden olşturduğunuz şartlar için, yişne başka senetlere robot emir yollatabilirsiniz.

    Tüm bunları tek robot formülü içinde yapmak mümkündür ve başka platformlarda bunu yapmak mümkün değildir.

    KOD

    Kod:
    var SembolHALKB = "IMKBH'HALKB";
    var SonHALKB = Sistem.SonFiyat(SembolHALKB);
    var SembolGARAN = "IMKBH'GARAN";
    var SonGARAN = Sistem.SonFiyat(SembolGARAN);
    
    // zaman kontrolu ( bu saat aralıklarında emir gönderilebilsin )
    if (Sistem.SaatAraligi("09:30", "12:30") || Sistem.SaatAraligi("14:15", "17:30")) 
    {
       // değerler sıfırdan büyük ise çalışsın
       if (SonHALKB > 0 && SonGARAN > 0)
       {
          var Oran = SonHALKB / SonGARAN;
          var Pozisyon = Sistem.PozisyonKontrolOku("Robot002");  // pozisyon kontrolü yap
    
          // HALKB al, GARAN sat
          if (Oran <= 1.70f)
          {
             if (Pozisyon != 1000)  // HALKB pozisyon kontrolu yap, 1000 değil ise işlemi gerçekleştir..
             {
                Sistem.PozisyonKontrolGuncelle("Robot002", 1000);
    
                // HALKB alış emri gönder
                Sistem.EmirSembol = SembolHALKB;
                Sistem.EmirIslem = "Alış";
                Sistem.EmirMiktari = 1000;
                Sistem.EmirFiyati = "Aktif";   // aktif fiyat
                Sistem.EmirSuresi = "SEANS";   // SEANS, GUN
                Sistem.EmirTipi = "NORMAL";    // NORMAL, KIE, KPY, AFE/KAFE
                Sistem.EmirGonder();
    
                // GARAN satış emri gönder
                Sistem.EmirSembol = SembolGARAN;
                Sistem.EmirIslem = "Satış";
                Sistem.EmirMiktari = 1875;
                Sistem.EmirFiyati = "Aktif";   // aktif fiyat
                Sistem.EmirSuresi = "SEANS";   // SEANS, GUN    
                Sistem.EmirTipi = "NORMAL";    // NORMAL, KIE, KPY, AFE/KAFE
                Sistem.EmirSatisTipi = "NORMAL"; // imkb (NORMAL, ACIGA, VIRMANDAN)
                Sistem.EmirGonder();
             }
          }
    
          // HALKB sat, GARAN al
          if (Oran >= 1.99f)
          {
             if (Pozisyon != -1000)
             {
                Sistem.PozisyonKontrolGuncelle("Robot002", -1000);
    
                // HALKB satış emri gönder
                Sistem.EmirSembol = SembolHALKB;
                Sistem.EmirIslem = "Satış";
                Sistem.EmirMiktari = 1000;
                Sistem.EmirFiyati = "Aktif";   // aktif fiyat
                Sistem.EmirSuresi = "SEANS";   // SEANS, GUN    
                Sistem.EmirTipi = "NORMAL";    // NORMAL, KIE, KPY, AFE/KAFE
                Sistem.EmirSatisTipi = "NORMAL"; // imkb (NORMAL, ACIGA, VIRMANDAN)
                Sistem.EmirGonder();
    
                // GARAN alış emri gönder
                Sistem.EmirSembol = SembolGARAN;
                Sistem.EmirIslem = "Alış";
                Sistem.EmirMiktari = 1875;
                Sistem.EmirFiyati = "Aktif";   // aktif fiyat
                Sistem.EmirSuresi = "SEANS";   // SEANS, GUN
                Sistem.EmirTipi = "NORMAL";    // NORMAL, KIE, KPY, AFE/KAFE
                Sistem.EmirGonder();
             }
          }
       }
    }
    *********
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  8. #8
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Esas

     Alıntı Originally Posted by erdem62 Yazıyı Oku
    paylaşımları not alarak takip ediyorum.

    çok teşekkürler...

    Kod:
    // hazır sistem hesaplama fonksiyonları liste olarak değer döndürür
    var H = Sistem.HHV(1, "Yuksek");
    var L = Sistem.LLV(1, "Dusuk");
    var C = Sistem.GrafikFiyatSec("Kapanis");
    
    // sistem fonksiyonu kullanmadan yapılan hesaplamalarda liste yaratıp, döngü kullanmamız gerekiyor
    var BarSayisi = H.Count; // kolaylık olsun diye grafikteki bar sayısını değişkene aktar
    
    var R1 = Sistem.Liste(BarSayisi , 0); // boş liste oluştur
    var R2 = Sistem.Liste(BarSayisi , 0); // boş liste oluştur
    var R3 = Sistem.Liste(BarSayisi , 0); // boş liste oluştur
    var Pivot = Sistem.Liste(BarSayisi , 0); // boş liste oluştur
    var S1 = Sistem.Liste(BarSayisi , 0); // boş liste oluştur
    var S2 = Sistem.Liste(BarSayisi , 0); // boş liste oluştur
    var S3 = Sistem.Liste(BarSayisi , 0); // boş liste oluştur
    
    // döngü kullanarak listeleri hesaplat
    for (int i = 0; i < BarSayisi; i++)
    {
      Pivot[i] = (H[i] + L[i] + C[i]) / 3;
    
      R1[i] = (2 * Pivot[i]) - L[i];
      R2[i] = Pivot[i] + (H[i] - L[i]);
      R3[i] = R1[i] + (H[i] - L[i]);
    
      S1[i] = (2 * Pivot[i]) - H[i];
      S2[i] = Pivot[i] - (H[i] - L[i]);
      S3[i] = S1[i] - (H[i] - L[i]); 
    }
    
    // listeleri çizgilere aktar
    Sistem.Cizgiler[0].Deger = R3;
    Sistem.Cizgiler[1].Deger = R2;
    Sistem.Cizgiler[2].Deger = R1;
    Sistem.Cizgiler[3].Deger = Pivot;
    Sistem.Cizgiler[4].Deger = S1;
    Sistem.Cizgiler[5].Deger = S2;
    Sistem.Cizgiler[6].Deger = S3;
    *********

     Alıntı Originally Posted by i-ked Yazıyı Oku
    Ekran görüntüsü güzelmiş. Başlık hayırlı olsun...
    Teşekkürler görüntüsü gibi işlevide çok güzeldir.
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

Sayfa 1/40 12311 ... 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
  •