Sayfa 87/594 İlkİlk ... 3777858687888997137187587 ... SonSon
Arama sonucu : 4752 madde; 689 - 696 arası.

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

  1. #689
     Alıntı Originally Posted by Caglar Yazıyı Oku
    Bildiğim kadarıyla yok.
    Ben User.dll'e yazdım ve User.ZLEMA(list, period) şeklinde kullanıyorum.
    benbunu nasıl kullanabilirim.

    yeni versiyonu indirdim ancak zlag yok malesef.
    Ateşleri ateşlere katarak gel.. denizleri denizlere katarak.

  2.  Alıntı Originally Posted by EMLAK Yazıyı Oku
    benbunu nasıl kullanabilirim.

    yeni versiyonu indirdim ancak zlag yok malesef.
    Lib.cs veya user.dll ile yapabilirsiniz. Ben user.dll kullanıyorum.

    Kod:
    /// <summary> Zero Lag Exponential Moving Average </summary>
    public List<float> ZLEMA(List<float> data, int period)
    {
        var x = new List<float>();
    
        try
        {
            if (data == null || data.Count == 0) throw new ArgumentNullException("data is null or empty");
            x = List(0f, data.Count);
            if (period == 0) throw new ArgumentException("period is zero");
            var ema1 = EMA(data, period);
            var ema2 = EMA(ema1, period);
    
            for (int i = 0; i < data.Count; i++)
            {
                x[i] = 2 * ema1[i] - ema2[i];
            }
    
            x = EMA(x, period);
        }
        catch (System.Threading.ThreadAbortException)
        {
            // Ignore...
        }
        catch (Exception ex)
        {
            Log("### {0}: {1}", MethodBase.GetCurrentMethod().Name, ex);
        }
    
        return x;
    }
    
    /// <summary>Exponential Moving Average</summary>
    public List<float> EMA(List<float> data, int period)
    {
        if (period == 1) return data;
        var x = new List<float> { 0 };
    
        try
        {
            if (data == null || data.Count == 0) throw new ArgumentNullException("data is null or empty");
            x = List(0f, data.Count);
            if (period <= 0) throw new ArgumentException("period cannot be equal or less than 0");
    
            x[0] = data[0];
            var k = 2f / (period + 1f);
    
            for (int i = 1; i < data.Count; i++)
            {
                x[i] = data[i] * k + x[i - 1] * (1 - k); // todaysPrice * k + EMAYesterday * (1 – k);
            }
        }
        catch (System.Threading.ThreadAbortException)
        {
            // Ignore...
        }
        catch (Exception ex)
        {
            Log("### {0}: {1}", MethodBase.GetCurrentMethod().Name, ex);
        }
    
        return x;
    }
    
    public List<T> List<T>(T value, int count)
    {
        return Enumerable.Repeat(value, count).ToList();
    }
    Log ile belirttiğim yeri //Log şeklinde yazarsanız derlenir. Ben hataları tutmak amacıyla bir dosyaya yazıyorum. Gönderdiğim metotlar (ZLEMA, EMA, List) sistem referansı almadığından Sistem.Mesaj gibi bir iDeal metodu kullanamıyoruz.

  3.  Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    versiyon 5,09 olarak güncellenmiş bilginize




    DirectFN Finansal Veri ve Teknoloji Hizmetleri

    iDeal Veri Terminali

    En Son Versiyon DeÄŸiÅŸiklikleri (5.07)



    · Sistem Modülüne Yeni Fonksiyonlar eklendi

    · Tip1 Emir penceresi için daha küçük boyutlu görünüm seçeneği eklendi.

    · Tip3 Emir Penceresine Açığa Satış seçeneği eklendi

    · Tüm İşlemler Penceresine CSV Dosya Aktarım imkanı eklendi.

    · Tüm İşlemler Penceresine (PITE lisansı olan kullanıcılar için) Kurum filtresi eklendi.

    · VIOP Yüzeysel Filtre Penceresine Tüm Dayanak Varlıklar bazında filtre imkanı eklendi.

    · VIOP-BISTECH geçiÅŸi sonrası Uzlaşı Fiyatının Borsa tarafından 1’er saat aralıklarla yayınlanması nedeniyle, Portföy Penceresinde Anlık Son Fiyata göre KZ hesaplanıp gösterilmeye baÅŸlandı.

    · PITE (Eş Anlı Alıcı Satıcı Taraf Bilgisi) Yayını için aşağıdaki 4 analiz TAKAS ANALİZ penceresine eklendi.

    o PITE Senet (Senet Bazında Anlık Aracı Kurum Dağılımı)

    o PITE Kurum (Kurum Bazında Anlık Aracı Kurum Dağılımı)

    o PITE PGÇ (Anlık Para Giriş Çıkış Analizi)

    o PITE Hacim (Anlık Kurumsal Bazda Net Hacim Analizi)

    · VIOP BISTECH Yayın yapısı değiştirildi.

    · VIOP için yeni emir tipleri emir penceresine uyarlandı.

    · 2-3-4 ve 8 dakikalık grafikler eklendi.

    · Alıcılar/Satıcılar (Para Giriş Çıkış) Analizi Eklendi

    · Ekonomik Takvim Eklendi (Ana Menüde)

    · Grafiksel Getiri Analizi Eklendi (Ana Menüde)

    · Varant Analizi eklendi (BIST Menüsünde)

    · BIST için yeni pratik bir emir penceresi (Tip 3) eklendi.

    · Bilanço Tablosundaki Rasyolar Sekmesi güncellendi.

    · PAY piyasasında 10 kademe derinlik yayınlarına uyumlu esnek kademe sayısı suna Derinlik penceresi sunulmuştur.

    · Kullanıcı sayfalarında bozulma olmaması için başlangıçta derinlikler 5 kademeli olarak ekrana gelecektir.

    Dileyen kullanıcılar, saÄŸ klik-Ã*özellikler satırı altından kademe sayısını deÄŸiÅŸtirip, bunu bir patern olarak kaydedebilir. KaydedilmiÅŸ bu paterni ekranda açık olan diÄŸer tüm derinliklere uygulatabilir.

    · iDeal Robot Modülüne, Tekstil Yatırım, Burgan Yatırım, Ata Yatırım, Ata Online ve Gedik Yatırım kurumlarının entegrasyonu yapılmıştır.

    · Robot modülüne, gerçek hesap bilgilerine erişim fonksiyonları eklenmiştir.

    · Grafiklerde maksimum bar sayısı limiti 1 milyon bar olarak güncellenmiştir.

    · Bilgisayarda tutulan bar sayısı kaç olursa olsun, grafiklerin istenilen kadar bar sayısı göstermesi imkanı eklenmiştir.

    · Grafiklerin içinde çift tıklama yapılarak açılan menüden, grafik barlarının istenilen bir dönemi göstermesi imkanı sunulmuştur.

    · Kademeli Emir Penceresinin (KEP) Yeni emir tipleri ve süreleriyle kullanımına izin verildi.

    · iDeal Robot modülüne Yapı Kredi Yatırım’ın da entegrasyonu yapıldı

    · 10 kademe derinlik altyapısı uyarlandı. (borsa devreye aldığı zaman yayında olacak)

    · Tek fiyatla işlem dönemlerine ait aşağıdaki veri tipleri yeni veri başlıkları olarak eklenmiştir. (bu başlıkları hem sayfadaki fiyat penceresine, hem derinlik penceresi üst kısmına eklenebilir.)

    o Denge Fiyatı (Dng.Fyt)

    o Denge Lot (Dng.Lot)

    o Alıştan Kalan Miktar (Denge Al.K)

    o Satıştan Kalan Miktar (Denge Sat.K)

    · ALGO/SİSTEM/ROBOT Modülüne 30 civarında yeni fonksiyon eklendi

    o Sistemlerin altına pozisyon,işlem,gün,hafta,ay,yıl bazında getiri eğrileri

    o Sistemlerin getirileri, karlılık oranları, net kar gibi verilerini değer olarak okuma ve grafik zeminlerine yazdırma

    o İki tarih arası optimizasyon yapabilme

    o Sistemlerin MaxDD deÄŸerlerini analiz ve fonksiyon olarak alabilme ve optimizasyon yaparken de MaxDD hesaplatabilme

    o Tek satırda, grafik üzerindeki sistemleri, Robota çevirme

    o Sistem sinyal ürettiği zaman, emrin bar kapanışına X Saniye kala gönderilebilmesi imkânı

    o Ve daha pek çok yararlı fonksiyon ve özellik eklenmiştir.
    Yeni eklenen fonksiyonlari arayip bulacaz sanirim

  4. #692
    Duhul
    Feb 2017
    İkamet
    afyonkarahisar
    Gönderi
    791
    arkadaşlar merhaba
    ideal yetkilerinden uzun zamandır grafik üzzerine çizmiş oldugumuz tren çizgilerine , fiyatın bu treend cizgilerini aşagı ve yukarı kırması durumunda sesli ve pop-up lu alarm kurulabilmesini talep etmişttimm ,sezai beyle bu konuyu görüştüğümde bu tür bir alarm eklenebilmesiningrafik arayüzü bakımından mumkun olmadıgını söyledi

    arkadaşlşar daha çnce görmiştüm eski forumda bir arkadaş formül paylaşmıstı otomatik destek direnç çizdiriyordu

    otomatik olarak grafik üzerine otomatik trend çizdirebilen bir formulasyon varmıdır
    var ise paylaşırsanız seviniriz
    matriks te vardı otomatik trend çizimi

  5.  Alıntı Originally Posted by Caglar Yazıyı Oku
    Ben de tam olarak 3 diziyi nasıl bir araya getirmek istiyorsunuz diye sormuştum aslında. Siz bana excel örneğini gönderin ben size iDeal kodunu gönderiyim.
    Ekte ki dizede ki her iki median2ın degeri aynı.Aralarında ki fark sizinde göreceği gibi ilki 3 farklı dize olarak formüle edilmiş, ikincisi ise tek dize olarak.Yani excelde ki gibi idealin 3 dizeyi tek dize gibi görmesini sağlamak lazım.Şimdiden teşekkürler.


  6.  Alıntı Originally Posted by vVvendetta Yazıyı Oku
    Ekte ki dizede ki her iki median2ın degeri aynı.Aralarında ki fark sizinde göreceği gibi ilki 3 farklı dize olarak formüle edilmiş, ikincisi ise tek dize olarak.Yani excelde ki gibi idealin 3 dizeyi tek dize gibi görmesini sağlamak lazım.Şimdiden teşekkürler.

    Merhaba vVvendetta.
    Lib.cs veya User.dll'de kullanabileceğiniz bir metod yazdım.

    Kod:
    public float Median(List<float> data, params List<float>[] others)
    {
        if (data == null || others.Any(o => o == null)) return 0f;
    
        var allValues = others.SelectMany(o => o).Concat(data).OrderBy(v => v);
        var count = allValues.Count();
    
        if (count == 0) return 0f;
        if (count == 1) return allValues.First();
    
        var mid = count / 2;
    
        if (count % 2 == 0)
        {
            var median1 = allValues.ElementAt(mid - 1);
            var median2 = allValues.ElementAt(mid);
            return (median1 + median2) / 2;
        }
    
        return allValues.ElementAt(mid);
    }
    Hızlı bir şekilde ve özenmeden yazdım. Kullanmadan önce mutlaka test etmenizi öneriyorum.

  7.  Alıntı Originally Posted by Caglar Yazıyı Oku
    Merhaba vVvendetta.
    Lib.cs veya User.dll'de kullanabileceğiniz bir metod yazdım.

    Kod:
    public float Median(List<float> data, params List<float>[] others)
    {
        if (data == null || others.Any(o => o == null)) return 0f;
    
        var allValues = others.SelectMany(o => o).Concat(data).OrderBy(v => v);
        var count = allValues.Count();
    
        if (count == 0) return 0f;
        if (count == 1) return allValues.First();
    
        var mid = count / 2;
    
        if (count % 2 == 0)
        {
            var median1 = allValues.ElementAt(mid - 1);
            var median2 = allValues.ElementAt(mid);
            return (median1 + median2) / 2;
        }
    
        return allValues.ElementAt(mid);
    }
    Hızlı bir şekilde ve özenmeden yazdım. Kullanmadan önce mutlaka test etmenizi öneriyorum.
    Sayın Çağlar,
    Kullanırken Sistem.Median(H,L,C,periyod) şeklinde sonuç verecek. Doğru mudur ? Yani benim başından beri istediğim 3 farklı dizeyi (H,L,C) istenilen periyodda Median ile kullanmak.Yukarıda ki excel'de benim anlataya çalıştığım excelin çalışma mantığı idi.Yani 3 farklı dizeyi kullanarak median bulmak ile aynı 3 dizenin arka arkaya sıralanıp medianın alınması aynı sonuç veriyor.Excelin mantığı böyle çalışıyor'u göstermeye çalıştım yukarıda umarım bir karışıklığa sebep vermemişimdir.

  8.  Alıntı Originally Posted by vVvendetta Yazıyı Oku
    Sayın Çağlar,
    Kullanırken Sistem.Median(H,L,C,periyod) şeklinde sonuç verecek. Doğru mudur ? Yani benim başından beri istediğim 3 farklı dizeyi (H,L,C) istenilen periyodda Median ile kullanmak.Yukarıda ki excel'de benim anlataya çalıştığım excelin çalışma mantığı idi.Yani 3 farklı dizeyi kullanarak median bulmak ile aynı 3 dizenin arka arkaya sıralanıp medianın alınması aynı sonuç veriyor.Excelin mantığı böyle çalışıyor'u göstermeye çalıştım yukarıda umarım bir karışıklığa sebep vermemişimdir.
    Malesef o şekilde kullanamazsınız. Nedenleri:

    1- Öncelikle bu bir Sistem metodu değil. iDeal'de olmayan bir metod yazdık. Ben user.dll kullanıyorum, dolayısıyla benim için User.Median(H, C, L) şeklinde kullanımı.
    2- Metod için period tanımlamadım. Listenin bütün elemanlarını birleştirip median hesaplar. Belli bir period için hesaplasın istiyorsanız verileri bir listeye ekleyip bu metodu çağırabilirsiniz.

Sayfa 87/594 İlkİlk ... 3777858687888997137187587 ... 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
  •