Sayfa 6/32 İlkİlk ... 4567816 ... SonSon
Arama sonucu : 255 madde; 41 - 48 arası.

Konu: Yeni İndikatörler

  1. Deviation Scaled Moving Average with Fisher Transform

    Deviation Scaled Moving Average with Fisher Transform as published in the October 2018 article titled "Probability-Probably A Good Thing To Know" by John F. Ehlers

    PHP Code:
    //Deviation Scaled Moving Average with Fisher Transform

    //Ayarlar
    int Period300;

    //Veriler
    var Sistem.GrafikVerileri
    var 
    Sistem.GrafikFiyatSec("Kapanis");
    var 
    Sistem.GrafikFiyatSec("YUksek");
    var 
    Sistem.GrafikFiyatSec("Dusuk");
    var 
    Sistem.GrafikFiyatSec("Açılış");

    double a1b1c1c2c3;
    var 
    FiltSistem.Liste(0);
    var 
    ZerosSistem.Liste(0);
    var 
    DSMAPDFISHERSistem.Liste(0); 
                
    a1 Math.Exp(-1.414 3.14159 / (0.5 * (double)Period));
    b1 a1 Math.Cos((1.414 *180 /(0.5 * (double)Period)) * (3.14159 180));
    c2 b1c3 = -a1*a1c1=1-c2-c3;

    for (
    int j 300C.Countj++) 

        
    double ScaledFilt 0RMS 0alpha1 0FisherFilt 0
        
    Zeros[0] = C[j] - C[j-2];
        
    Filt[j] = (float) (c1 * (Zeros[0] + Zeros[1]) / c2 Filt[j-1] + c3 Filt[j-2]);
        for (
    int i 0<= Period-1i++) RMS RMS Filt[j-i] * Filt[j-i];
        
    RMS Math.Sqrt(RMS / (double)Period);
        
    ScaledFilt Filt[j] / RMS;
        if (
    Math.Abs(ScaledFilt) < 2)
            
    FisherFilt 0.5 Math.Log((ScaledFilt 2) / (ScaledFilt 2));
        
    DSMAPDFISHER[j] = (float) FisherFilt;
        for (
    int i Period0i--) Filt[i] = Filt[i];  
        
    Zeros[1] = (float) Zeros[0];
    }

    Sistem.Cizgiler[0].Deger  DSMAPDFISHER

    https://prnt.sc/ln0ki9

  2. Ehlers Dominant Cycle

     Alıntı Originally Posted by stradivarius Yazıyı Oku
    dsma . bu son olan epeyce yeni , konu basligina uygun olmus.

    eliniz degmisken su formulude cevirmeniz mumkun mu. ben ugrastim ancak bi sonuc cikmadi, buyuk ihtimla biseyleri yanlis yaptim.

    PHP Code:
    Price((H+L)/2);
    Vars:
    delta(0.1),
    gamma(0),
    alpha(0),
    beta(0),
    N(0),
    Period(0),
    MaxAmpl(0),
    Num(0),
    Denom(0),
    DC(0),
    DomCyc(0),
    Color1(0),
    Color2(0),
    alpha1(0),
    HP(0),
    SmoothHP(0);
    Arrays:
    I[50](0),
    OldI[50](0),
    OlderI[50](0),
    Q[50](0),
    OldQ[50](0),
    OlderQ[50](0),
    Real[50](0),
    OldReal[50](0),
    OlderReal[50](0),
    Imag[50](0),
    OldImag[50](0),
    OlderImag[50](0),
    Ampl[50](0),
    OldAmpl[50](0),
    DB[50](0);
    alpha1 = (Sine (360 40)) / Cosine(360 40);
    HP .5*(alpha1)*(Price Price[1]) + alpha1*HP[1];
    SmoothHP = (HP 2*HP[1] + 3*HP[2] + 3*HP[3] + 2*HP[4] + HP[5]) / 12;
    IF 
    CurrentBar 7 Then SmoothHP Price Price[1];
    IF 
    CurrentBar 1 THEN SmoothHP 0;
    delta = -.015*CurrentBar .5;
    If 
    delta .15 then delta .15;
    If 
    CurrentBar 6 Then Begin
    For 8 to 50 Begin
    beta 
    Cosine(360 N);
    gamma Cosine(720*delta N);
    alpha gamma SquareRoot(gamma*gamma 1);
    Q[N] = (6.283185)*(SmoothHP SmoothHP[1]);
    I[N] = SmoothHP;
    Real[N] = .5*(alpha)*(I[N] - OlderI[N]) + beta*(alpha)*OldReal[N] -
    alpha*OlderReal[N];
    Imag[N] = .5*(alpha)*(Q[N] - OlderQ[N]) + beta*(alpha)*OldImag[N]
    alpha*OlderImag[N];
    Ampl[N] = (Real[N]*Real[N] + Imag[N]*Imag[N]);
    End;
    End;
    For 
    8 to 50 Begin
    OlderI
    [N] = OldI[N];
    OldI[N] = I[N];
    OlderQ[N] = OldQ[N];
    OldQ[N] = Q[N];
    OlderReal[N] = OldReal[N];
    OldReal[N] = Real[N];
    OlderImag[N] = OldImag[N];
    OldImag[N] = Imag[N];
    OldAmpl[N] = Ampl[N];
    End;
    MaxAmpl Ampl[10];
    For 
    8 to 50 Begin
    If Ampl[N] > MaxAmpl then MaxAmpl Ampl[N];
    End;
    For 
    8 to 50 Begin
    IF MaxAmpl <> AND (Ampl[N] / MaxAmpl) > 0 THEN DB[N] = -10*Log(.01 / (-
    .99*Ampl[N] / MaxAmpl)) / Log(10);
    If 
    DB[N] > 20 then DB[N] = 20;
    End;
    Num 0;
    Denom 0;
    For 
    10 to 50 Begin
    If DB[N] <= 3 Then Begin
    Num 
    Num N*(20 DB[N]);
    Denom Denom + (20 DB[N]);
    End;
    If 
    Denom <> 0 Then DC Num Denom;
    End;
    DomCyc Median(DC10);
    If 
    DomCyc 8 Then DomCyc 20;
    beta Cosine(360 DomCyc);
    gamma Cosine(720*delta DomCyc);
    alpha gamma SquareRoot(gamma*gamma 1);
    Value1 .5*(alpha)*(SmoothHP SmoothHP[1]) + beta*(alpha)*Value1[1] -
    alpha*Value1[2];
    Value2 = (DomCyc 6.28)*(Value1 Value1[1]); 
    fiyat döngüsünün uzunluğunu tahmin etmek için kullanıyorlarmış.
    bence yapamamışlar

    http://traders.com/documentation/FEE...rs/ehlers.html

    http://traders.com/documentation/fee...adersTips.html

    PHP Code:
    //Ehlers Dominant Cycle -Dominant Cycle Tuned Bypass Filter




    //Veriler
    var Sistem.GrafikVerileri
    var 
    Sistem.GrafikFiyatSec("Kapanis"); 
    var 
    Sistem.GrafikFiyatSec("YUksek");
    var 
    Sistem.GrafikFiyatSec("Dusuk");
    var 
    Sistem.GrafikFiyatSec("Açılış");  


    var 
    Median Sistem.Median(C14);

    var 
    DCTBF1Sistem.Liste(0f);
    var 
    DCTBF2Sistem.Liste(0f);

    int N 0;
    double Color1;
    double Color2;
    double alpha1

    List<
    doubleHP= new List<double>(new double[C.Count]);
    List<
    doubleSmoothHP= new List<double>(new double[C.Count]);
    List<
    doubledelta= new List<double>(new double[C.Count]);
    List<
    doublegamma= new List<double>(new double[C.Count]);
    List<
    doublealpha= new List<double>(new double[C.Count]);
    List<
    doublebeta= new List<double>(new double[C.Count]);
    List<
    doublePeriod= new List<double>(new double[C.Count]);
    List<
    doubleMaxAmpl= new List<double>(new double[C.Count]);
    List<
    doubleNum= new List<double>(new double[C.Count]);
    List<
    doubleDenom= new List<double>(new double[C.Count]);
    List<
    doubleDC= new List<double>(new double[C.Count]);
    List<
    doubleDomCyc= new List<double>(new double[C.Count]);


    var 
    I           = new double[51];
    var 
    OldI        = new double[51];
    var 
    OlderI      = new double[51];
    var 
    Q           = new double[51];
    var 
    OldQ        = new double[51];
    var 
    OlderQ      = new double[51];
    var 
    Real        = new double[51];
    var 
    OldReal     = new double[51];
    var 
    OlderReal   = new double[51];
    var 
    Imag        = new double[51];
    var 
    OldImag     = new double[51];
    var 
    OlderImag   = new double[51];
    var 
    Ampl        = new double[51];
    var 
    OldAmpl     = new double[51];
    var 
    DB          = new double[51];

    for (
    int j 300C.Countj++) 

                 
    alpha1 = (Math.Sin((360 40 * (Math.PI 180)))) / Math.Cos((360 40) * (Math.PI 180));


                
    HP[j] =  0.5 * (alpha1) * (Median[j] - Median[j-1]) + alpha1 HP[j-1];


                
    SmoothHP[j] = (HP[j] + HP[j-1] + HP[j-2] + HP[j-3] + HP[j-4] + HP[j-5]) / 12;


                
    delta[j] = -0.015 0.5;


                if (
    delta[j] < 0.15)  delta[j] = 0.15;


                for (
    8<= 50; ++N)
                {
                    
    beta[j] = Math.Cos((360 N)* (Math.PI 180));
                    
    gamma[j] = Math.Cos((720 delta[j] / N)* (Math.PI 180));
                    
    alpha[j] = gamma[j] - Math.Sqrt(gamma[j] * gamma[j] - 1);
                    
    Q[N] = (6.283185) * (SmoothHP[j] - SmoothHP[j-1]);
                    
    I[N] = SmoothHP[j];
                    
    Real[N] = .5 * (alpha[j]) * (I[N] - OlderI[N]) + beta[j] * (alpha[j]) * OldReal[N] - alpha[j] * OlderReal[N];
                    
    Imag[N] = .5 * (alpha[j]) * (Q[N] - OlderQ[N]) + beta[j] * (alpha[j]) * OldImag[N] - alpha[j] * OlderImag[N];
                    
    Ampl[N] = (Real[N] * Real[N] + Imag[N] * Imag[N]);
                }


                for (
    8<= 50; ++N)
                {
                    
    OlderI[N] = OldI[N]; 
                    
    OldI[N] = I[N];
                    
    OlderQ[N] = OldQ[N];
                    
    OldQ[N] = Q[N];
                    
    OlderReal[N] = OldReal[N];
                    
    OldReal[N] = Real[N];
                    
    OlderImag[N] = OldImag[N];
                    
    OldImag[N] = Imag[N];
                    
    OldAmpl[N] = Ampl[N];
                }

                
    MaxAmpl[j] = Ampl[10];

                for (
    8<= 50; ++N)
                {
                    if (
    Ampl[N] > MaxAmpl[j])
                    {
                        
    MaxAmpl[j] = Ampl[N];
                    }
                }


                for (
    8<= 50; ++N)
                {
                    if (
    MaxAmpl[j] != && (Ampl[N] / MaxAmpl[j]) > 0)
                    {
                        
    DB[N] = -10 Math.Log(.01 / (.99 Ampl[N] / MaxAmpl[j])) / Math.Log(10.0);
                    }


                    if (
    DB[N] > 20)
                    {
                        
    DB[N] = 20;
                    }
                }


                
    Num[j] = 0;
                
    Denom[j] = 0;


                for (
    8<= 50; ++N)
                {
                    if (
    DB[N] <= 3)
                    {
                        
    Num[j] = Num[j] + * (20 DB[N]);
                        
    Denom[j] = Denom[j] + (20 DB[N]);
                    }

                    if (
    Denom[j] != 0)
                    {
                        
    DC[j] = Num[j] / Denom[j];
                    }
                }
    }


    var 
    DCmedianSistem.Median(DC.ConvertAll(=> (float)x), 10);

    for (
    int j 300C.Countj++) 

                
    DomCyc[j] = DCmedian[j];
                if(
    DomCyc[j] < 8)
                {
                    
    DomCyc[j] = 20;
                }


                
    beta[j] = Math.Cos((360 DomCyc[j])* (Math.PI 180));


                
    gamma[j] = Math.Cos((720 delta[j] / DomCyc[j])* (Math.PI 180));


                
    alpha[j] = gamma[j] - Math.Sqrt(gamma[j] * gamma[j] - 1);


                
    DCTBF1[j] = (float)(0.5 * (alpha[j]) * (SmoothHP[j] - SmoothHP[j-1]) + beta[j] * (+alpha[j]) * DCTBF1[j-1] - alpha[j] * DCTBF1[j-2]);
                
    DCTBF2[j] = (float)((DomCyc[j] / 6.28) * (DCTBF1[j] - DCTBF1[j-1]));

    }

    Sistem.Cizgiler[0].Deger  DCTBF1
    Sistem.Cizgiler[1].Deger  DCTBF2

    https://prnt.sc/ln66c3
    Son düzenleme : Orhan AKDOĞAN; 26-11-2018 saat: 17:51.

  3.  Alıntı Originally Posted by Orhan AKDOĞAN Yazıyı Oku
    fiyat döngüsünün uzunluğunu tahmin etmek için kullanıyorlarmış.
    bence yapamamışlar

    http://traders.com/documentation/FEE...rs/ehlers.html

    http://traders.com/documentation/fee...adersTips.html

    PHP Code:
    //Ehlers Dominant Cycle -Dominant Cycle Tuned Bypass Filter




    //Veriler
    var Sistem.GrafikVerileri
    var 
    Sistem.GrafikFiyatSec("Kapanis"); 
    var 
    Sistem.GrafikFiyatSec("YUksek");
    var 
    Sistem.GrafikFiyatSec("Dusuk");
    var 
    Sistem.GrafikFiyatSec("Açılış");  


    var 
    Median Sistem.Median(C14);

    var 
    DCTBF1Sistem.Liste(0f);
    var 
    DCTBF2Sistem.Liste(0f);

    int N 0;
    double Color1;
    double Color2;
    double alpha1

    List<
    doubleHP= new List<double>(new double[C.Count]);
    List<
    doubleSmoothHP= new List<double>(new double[C.Count]);
    List<
    doubledelta= new List<double>(new double[C.Count]);
    List<
    doublegamma= new List<double>(new double[C.Count]);
    List<
    doublealpha= new List<double>(new double[C.Count]);
    List<
    doublebeta= new List<double>(new double[C.Count]);
    List<
    doublePeriod= new List<double>(new double[C.Count]);
    List<
    doubleMaxAmpl= new List<double>(new double[C.Count]);
    List<
    doubleNum= new List<double>(new double[C.Count]);
    List<
    doubleDenom= new List<double>(new double[C.Count]);
    List<
    doubleDC= new List<double>(new double[C.Count]);
    List<
    doubleDomCyc= new List<double>(new double[C.Count]);


    var 
    I           = new double[51];
    var 
    OldI        = new double[51];
    var 
    OlderI      = new double[51];
    var 
    Q           = new double[51];
    var 
    OldQ        = new double[51];
    var 
    OlderQ      = new double[51];
    var 
    Real        = new double[51];
    var 
    OldReal     = new double[51];
    var 
    OlderReal   = new double[51];
    var 
    Imag        = new double[51];
    var 
    OldImag     = new double[51];
    var 
    OlderImag   = new double[51];
    var 
    Ampl        = new double[51];
    var 
    OldAmpl     = new double[51];
    var 
    DB          = new double[51];

    for (
    int j 300C.Countj++) 

                 
    alpha1 = (Math.Sin((360 40 * (Math.PI 180)))) / Math.Cos((360 40) * (Math.PI 180));


                
    HP[j] =  0.5 * (alpha1) * (Median[j] - Median[j-1]) + alpha1 HP[j-1];


                
    SmoothHP[j] = (HP[j] + HP[j-1] + HP[j-2] + HP[j-3] + HP[j-4] + HP[j-5]) / 12;


                
    delta[j] = -0.015 0.5;


                if (
    delta[j] < 0.15)  delta[j] = 0.15;


                for (
    8<= 50; ++N)
                {
                    
    beta[j] = Math.Cos((360 N)* (Math.PI 180));
                    
    gamma[j] = Math.Cos((720 delta[j] / N)* (Math.PI 180));
                    
    alpha[j] = gamma[j] - Math.Sqrt(gamma[j] * gamma[j] - 1);
                    
    Q[N] = (6.283185) * (SmoothHP[j] - SmoothHP[j-1]);
                    
    I[N] = SmoothHP[j];
                    
    Real[N] = .5 * (alpha[j]) * (I[N] - OlderI[N]) + beta[j] * (alpha[j]) * OldReal[N] - alpha[j] * OlderReal[N];
                    
    Imag[N] = .5 * (alpha[j]) * (Q[N] - OlderQ[N]) + beta[j] * (alpha[j]) * OldImag[N] - alpha[j] * OlderImag[N];
                    
    Ampl[N] = (Real[N] * Real[N] + Imag[N] * Imag[N]);
                }


                for (
    8<= 50; ++N)
                {
                    
    OlderI[N] = OldI[N]; 
                    
    OldI[N] = I[N];
                    
    OlderQ[N] = OldQ[N];
                    
    OldQ[N] = Q[N];
                    
    OlderReal[N] = OldReal[N];
                    
    OldReal[N] = Real[N];
                    
    OlderImag[N] = OldImag[N];
                    
    OldImag[N] = Imag[N];
                    
    OldAmpl[N] = Ampl[N];
                }

                
    MaxAmpl[j] = Ampl[10];

                for (
    8<= 50; ++N)
                {
                    if (
    Ampl[N] > MaxAmpl[j])
                    {
                        
    MaxAmpl[j] = Ampl[N];
                    }
                }


                for (
    8<= 50; ++N)
                {
                    if (
    MaxAmpl[j] != && (Ampl[N] / MaxAmpl[j]) > 0)
                    {
                        
    DB[N] = -10 Math.Log(.01 / (.99 Ampl[N] / MaxAmpl[j])) / Math.Log(10.0);
                    }


                    if (
    DB[N] > 20)
                    {
                        
    DB[N] = 20;
                    }
                }


                
    Num[j] = 0;
                
    Denom[j] = 0;


                for (
    8<= 50; ++N)
                {
                    if (
    DB[N] <= 3)
                    {
                        
    Num[j] = Num[j] + * (20 DB[N]);
                        
    Denom[j] = Denom[j] + (20 DB[N]);
                    }

                    if (
    Denom[j] != 0)
                    {
                        
    DC[j] = Num[j] / Denom[j];
                    }
                }
    }


    var 
    DCmedianSistem.Median(DC.ConvertAll(=> (float)x), 10);

    for (
    int j 300C.Countj++) 

                
    DomCyc[j] = DCmedian[j];
                if(
    DomCyc[j] < 8)
                {
                    
    DomCyc[j] = 20;
                }


                
    beta[j] = Math.Cos((360 DomCyc[j])* (Math.PI 180));


                
    gamma[j] = Math.Cos((720 delta[j] / DomCyc[j])* (Math.PI 180));


                
    alpha[j] = gamma[j] - Math.Sqrt(gamma[j] * gamma[j] - 1);


                
    DCTBF1[j] = (float)(0.5 * (alpha[j]) * (SmoothHP[j] - SmoothHP[j-1]) + beta[j] * (+alpha[j]) * DCTBF1[j-1] - alpha[j] * DCTBF1[j-2]);
                
    DCTBF2[j] = (float)((DomCyc[j] / 6.28) * (DCTBF1[j] - DCTBF1[j-1]));

    }

    Sistem.Cizgiler[0].Deger  DCTBF1
    Sistem.Cizgiler[1].Deger  DCTBF2

    https://prnt.sc/ln66c3
    Sizce nasil olurdu
    bang bang you shot me down..

  4.  Alıntı Originally Posted by stradivarius Yazıyı Oku
    Sizce nasil olurdu

    https://prnt.sc/ln7uvy

  5.  Alıntı Originally Posted by Orhan AKDOĞAN Yazıyı Oku
    Evet tam da oydu )) ancak delta dongusunu 0-50 calistirmmistim ben. Diger turlu 0.15 e yapismaz mi ustat.
    bang bang you shot me down..

  6. Bugün bende John F. Ehlers'in kitaplarını anlamaya çalışıyordum sizde indikatörleri paylaşmışsınız. Çoğu ... filterlerin ne işe yaradığını anlayabilmiş değilim pratikte hareketli ortalamadan daha iyi sonuç veriyor mu? Ben verdirtemedim Formüllerde baya NASA matematiği

  7.  Alıntı Originally Posted by cashhflow Yazıyı Oku
    Bugün bende John F. Ehlers'in kitaplarını anlamaya çalışıyordum sizde indikatörleri paylaşmışsınız. Çoğu ... filterlerin ne işe yaradığını anlayabilmiş değilim pratikte hareketli ortalamadan daha iyi sonuç veriyor mu? Ben verdirtemedim Formüllerde baya NASA matematiği
    Benim anladigim indikatordrn cok konsept olusturmak fark yaratiyor. Konsept icin de indikatorlerin hareket tarzini kavramis olmak gerekli.
    bang bang you shot me down..

  8.  Alıntı Originally Posted by Orhan AKDOĞAN Yazıyı Oku
    neredeyse tüm indikatörler trende çalışıyor, nedir tam olarak istediğiniz?
    Bir Sembolun günlük olarak trendinin ne yönde olduğunu trendin düşüş ise nerede kırılacağı yukarı ve aşağı trendlerin kırılma noktaları çalışma mantıkları vs gibi bir sunum olursa benim gibi bu konuda bilgisiz arkadaşlarında işine yarayacağını düşünüyorum.

Sayfa 6/32 İlkİlk ... 4567816 ... 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
  •