Sayfa 1/32 12311 ... SonSon
Arama sonucu : 255 madde; 1 - 8 arası.

Konu: Yeni İndikatörler

  1. Yeni İndikatörler

    Bu başlıkta yeni indikatörleri paylaşabiliriz.Başlangıcı "Oynak İndikatörü" ile yapıyorum.

    Oynak İndikatörü: Parametre olarak verilen bar sayısındaki, Ortalama yüzde değişimin 100 katını döndürür.

    Bu indikatör piyasa hareketliliğini ölçmek için 1970'lerin sonunda J. Welles Wilder tarafından geliştirilmiş olan ATR(Average True Range) İndikatörünün muadili olarak, ATR nin olumsuz yanlarını kapatmak amacıyla yazıldı.
    ATR farklı fiyatların "farkları" alınarak hesaplanıyor, "fiyat seviyesine" duyarlı olduğu için aynı kriter örneğin fiyatın 50 olduğu zaman diliminde farklı 120 olduğu dönemlerde iken ise çok daha farklı anlamlara gelir.
    Aynı zamanda diğer sembollerde yine fiyat nedeniyle çok farklı değerlere dönüşür.Haliyle bir RSI da olduğu gibi 30 da al 80 sat denilemez.
    Elbette kendi ortalaması ile kıyaslamak gibi yöntemler söz konusudur fakat bu istenilen sonucu almak için yetersizdir, yalnızca oynaklığın artıyormu azalıyormu olduğunu bulursunuz, oynaklığı ölçemezsiniz.
    ATR'nin hesaplanışını aşağıda bulabilirsiniz:
    https://www.tradingview.com/wiki/Ave...ue_Range_(ATR)

    "Oynak İndikatörü" nü yazarken ATR nin aynısını puan yerine yüzde şeklinde hesaplayacaktım fakat algo trade için biraz daha farklılaştırdım. ATR orjinal hesaplamasını oran yöntemiyle hesaplamak da bir alternatif olabilirdi.
    Anlık işlem yapan robot geliştiriyor olsamda Robot Sistemleri genelde bar kapanışlı tercih ediliyor.
    Haliyle Bar içindeki yüksek ve düşükten ziyade kapanış fiyatı daha önemli bu tip sistemlerde.
    Bundan dolayı "Oynak İndikatörü" değişimi yalnızca bar kapanışı ile önceki bar kapanışı farkı üzerinden hesaplıyor.
    Bir diğer farklılık ise sayıların kullanıcı dostu olması için sonucun 100 ile çarpılmasıdır.Yani görülen değerler aslında 10.000 de X olan değişimlerdir.
    Grafik görüntüsü ise ATR indikatörüne çok benzerdir.

    OYNAK vs ATR
    -Oynak İndikatörü önceki bar kapanışı üzerinden bar değişimini "oranlayarak" piyasa hareketliliğini ölçer. ATR ise yüksek-düşük, yüksek-kapanış, düşük-kapanış "farklarını" kullanarak piyasa hareketliliğini ölçer.
    -Oynak İndikatörü bar kapanışlı intraday algoritmik sistemler için uygundur, sembole yada fiyata göre anlam kayması yaşanmaz, evrenseldir. ATR evrensel değildir, ATR ile uzun süre geçerliliğini koruyan bir algoritmik sistem geliştiremessiniz. Fiyat seviyeleri değiştikçe kriterlerin anlamı değişir.
    -Farklı Sembollerin Oynak değerleri kıyaslanarak hangilerinin daha oynak olduğunu gösteren sorgu sistem yazmak mümkündür.Fakat ATR ile bunu yapamazsınız, çünkü sonuçlar standart bir metrik de değildirler.

    Oynak İndikatörü iDeal için Açık Kodu:
    PHP Code:
    /*
      Oynak İndikatörü: Parametre olarak verilen bar sayısındaki, Ortalama yüzde değişimin 100 katını döndürür.
    */

    //Veriler
    var Sistem.GrafikFiyatSec("Kapanis");

    //Oynak İndikatörü---------------------------------------------------------------------------------------------------
    int ParamOynakBar15
    var 
    Oynak Sistem.Liste(0); 
    for (
    int i ParamOynakBarC.Counti++)

      
    double MutlakYuzdeToplamlari=0f
      for (
    int j 0ParamOynakBarj++)
      { 
        
    MutlakYuzdeToplamlari += Math.Abs( ( C[i-j] / C[i-j-1] ) - ) * 100 100;
        if(
    == ParamOynakBar-1Oynak[i] =  (float)(MutlakYuzdeToplamlari ParamOynakBar); 
      }
    }
    //--------------------------------------------------------------------------------------------------------------------
    Sistem.Cizgiler[0].Deger =Oynak ;  //Panel 2
    Sistem.Cizgiler[1].Deger =Sistem.AverageTrueRange(ParamOynakBar);  //Panel 3 
    Aşağıdaki resimde THYAO nun OYNAK ve ATR kıyaslamasını görebilirsiniz.
    2017 ocakda de ATR değerleri 0.9 dan 0.1 e 9 kat düşüyorken, OYNAK değerleri hala 200 lerde seyrediyor.Oynak İndikatöründe değişim gerçekten oynaklık değişimidir.
    ATR ise fiyat seviyesinden etkilendiği için kriter verilerek kullanılamayacak başarısız bir indikatördür.
    Yazdıklarım her türlü eleştiriye açıktır
    fırsat buldukça yeni indikatörler paylaşmaya devam edeceğim.




    https://prnt.sc/lkj1mv

  2. #2
    Duhul
    Feb 2017
    İkamet
    Karadeniz
    Yaş
    52
    Gönderi
    179
    Yeni başlık hayırlı olsun,inşallah faydalanan çok sistemci olur

  3. ciddi manada fark varmış gerçekten yeni konu başlığın hayırlı olsun.
    Senin almaya cesaret edemediğin riskleri alanlar, senin yaşamak istediğin hayatı yaşarlar..
    Sokrates twit @erhanacikgoz1

  4. Yeni başlık hayırlı olsun

    SM-N910C cihazımdan hisse.net mobile app kullanarak gönderildi.

  5. elinize sağlık... bu tip destekler bizi hedefe götürür.

  6. "Orhan %R" İndikatörü: Kapanış Fiyatlarının, Parametre olarak verilen periyottaki En Düşük veya En Yüksek fiyatlara Yüzdesel uzaklığını döndürür.Periyot ve Ortalama Alınacak Bar Sayısı şeklinde iki parametre alır.

    L.Williams tarafından geliştirilen "Williams %R" ve George Lane tarafından geliştirilen "Stochastic" indikatörlerinin birleştirilmesi ve her yönde daha doğru ve simetrik şekilde ölçeklendirilmesi ile meydana gelmiştir.

    Williams %R Nasıl Hesaplanıyor: https://www.investopedia.com/terms/w/williamsr.asp
    Stochastic Oscillator Nasıl Hesaplanıyor: https://www.investopedia.com/terms/s...oscillator.asp

    Orhan%R, Williams%R, StochasticOsc ve StochasticFast indikatörleri aynı işi yaparlar, grafik çıktılar nerdeyse aynıdır fakat ölçekleme şekilleri ile biribirinden ayrılırlar.
    Orhan %R değeri sıfırın üzerindeki değerleri StochasticOsc ile birebir aynıdır.
    Orhan %R değeri sıfırın altındaki değerleri Williams%R ile birebir aynıdır.

    Aşağıdaki Resimde özellik kıyaslamaları görünmektedir.
    Orhan %R İndikatörü diğerlerinden daha hassas ve simetrik değer aralığına sahip ve salınımları yumuşatmak için parametre almaktadır.




    https://prnt.sc/llgei3

    "Orhan %R" iDeal Sistem Kodu
    PHP Code:
    Sistem.Cizgiler[0].Deger  Lib.OrhanR(Sistem,14,5);      //Panel 2
    Sistem.Cizgiler[1].Deger  Sistem.WilliamsR(14);         //Panel 3
    Sistem.Cizgiler[2].Deger  Sistem.StochasticOsc(145);  //Panel 4     
    Sistem.Cizgiler[3].Deger  Sistem.StochasticFast(141); //Panel 5  (ikinci parametre işlevsizdir.) 

    "Orhan %R" iDeal Lib.cs Kodu
    PHP Code:
    using System;
    using System.IO;
    using System.Collections.Generic;
    using System.Data;
    using System.Net;
    using System.Text;
    using System.Text.RegularExpressions;
    using System.Data.OleDb;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Collections.Specialized;
    using System.Runtime.InteropServices;
    using System.ComponentModel;
    using System.Linq;

    namespace 
    ideal
    {
        public class 
    Lib
        
    {

            public List<
    floatOrhanR(dynamic Sistemint pRangeCountint MAPeriod)
            {
                List<
    floatSistem.GrafikFiyatSec("Kapanis");
                List<
    floatSistem.GrafikFiyatSec("Yuksek");
                List<
    floatSistem.GrafikFiyatSec("Dusuk");
                var 
    orhanR Sistem.Liste(0);
                for (
    int i pRangeCountC.Counti++)
                {
                    
    float HMAXH.GetRange(pRangeCount 1pRangeCount).Max();
                    
    float LMINL.GetRange(pRangeCount 1pRangeCount).Min();
                    
    float HMAXCHMAX C[i];
                    
    float HMINCC[i] - LMIN;
                    
    orhanR[i] = (HMINC>HMAXC HMINC/(HMINC+HMAXC)*100 HMAXC/(HMINC+HMAXC)*100*-);
                }   
               return 
    MAPeriod<=orhanR Sistem.MA(orhanR,"Simple",MAPeriod);
            }

        }




    https://prnt.sc/llgez2

  7. #7
    Elinize sağlık Orhan Bey,
    Yeni başlıkta hayırlı olsun...

  8.  Alıntı Originally Posted by Orhan AKDOĞAN Yazıyı Oku
    "Orhan %R" İndikatörü: Kapanış Fiyatlarının, Parametre olarak verilen periyottaki En Düşük veya En Yüksek fiyatlara Yüzdesel uzaklığını döndürür.Periyot ve Ortalama Alınacak Bar Sayısı şeklinde iki parametre alır.

    L.Williams tarafından geliştirilen "Williams %R" ve George Lane tarafından geliştirilen "Stochastic" indikatörlerinin birleştirilmesi ve her yönde daha doğru ve simetrik şekilde ölçeklendirilmesi ile meydana gelmiştir.

    Williams %R Nasıl Hesaplanıyor: https://www.investopedia.com/terms/w/williamsr.asp
    Stochastic Oscillator Nasıl Hesaplanıyor: https://www.investopedia.com/terms/s...oscillator.asp

    Orhan%R, Williams%R, StochasticOsc ve StochasticFast indikatörleri aynı işi yaparlar, grafik çıktılar nerdeyse aynıdır fakat ölçekleme şekilleri ile biribirinden ayrılırlar.
    Orhan %R değeri sıfırın üzerindeki değerleri StochasticOsc ile birebir aynıdır.
    Orhan %R değeri sıfırın altındaki değerleri Williams%R ile birebir aynıdır.

    Aşağıdaki Resimde özellik kıyaslamaları görünmektedir.
    Orhan %R İndikatörü diğerlerinden daha hassas ve simetrik değer aralığına sahip ve salınımları yumuşatmak için parametre almaktadır.




    https://prnt.sc/llgei3

    "Orhan %R" iDeal Sistem Kodu
    PHP Code:
    Sistem.Cizgiler[0].Deger  Lib.OrhanR(Sistem,14,5);      //Panel 2
    Sistem.Cizgiler[1].Deger  Sistem.WilliamsR(14);         //Panel 3
    Sistem.Cizgiler[2].Deger  Sistem.StochasticOsc(145);  //Panel 4     
    Sistem.Cizgiler[3].Deger  Sistem.StochasticFast(141); //Panel 5  (ikinci parametre işlevsizdir.) 

    "Orhan %R" iDeal Lib.cs Kodu
    PHP Code:
    using System;
    using System.IO;
    using System.Collections.Generic;
    using System.Data;
    using System.Net;
    using System.Text;
    using System.Text.RegularExpressions;
    using System.Data.OleDb;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Collections.Specialized;
    using System.Runtime.InteropServices;
    using System.ComponentModel;
    using System.Linq;

    namespace 
    ideal
    {
        public class 
    Lib
        
    {

            public List<
    floatOrhanR(dynamic Sistemint pRangeCountint MAPeriod)
            {
                List<
    floatSistem.GrafikFiyatSec("Kapanis");
                List<
    floatSistem.GrafikFiyatSec("Yuksek");
                List<
    floatSistem.GrafikFiyatSec("Dusuk");
                var 
    orhanR Sistem.Liste(0);
                for (
    int i pRangeCountC.Counti++)
                {
                    
    float HMAXH.GetRange(pRangeCount 1pRangeCount).Max();
                    
    float LMINL.GetRange(pRangeCount 1pRangeCount).Min();
                    
    float HMAXCHMAX C[i];
                    
    float HMINCC[i] - LMIN;
                    
    orhanR[i] = (HMINC>HMAXC HMINC/(HMINC+HMAXC)*100 HMAXC/(HMINC+HMAXC)*100*-);
                }   
               return 
    MAPeriod<=orhanR Sistem.MA(orhanR,"Simple",MAPeriod);
            }

        }




    https://prnt.sc/llgez2
    konu cok yararli olacaga benziyor. eline saglik hocam.
    bang bang you shot me down..

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