Sayfa 461/593 İlkİlk ... 361411451459460461462463471511561 ... SonSon
Arama sonucu : 4738 madde; 3,681 - 3,688 arası.

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

  1. super trendden yapılmış indikatör bir türlü ceviremedim yardımcı olabilirmisiniz



    Kod:
    period:=input("ATR periodu",1,500,10);
    coeff:=input("coeff",0,20,3);
    MovPeriod:=input("Mov Periodu",1,500,10);
    K:=MOV((H+L)/2,MovPeriod,E);
    OFFSET:=coeff*ATRe(period);
    STR:=K+OFFSET;
    STS:=K-OFFSET;
    FUB:=IF(STR<PREV OR REF(K,-1)>PREV,STR,PREV);
    FLB:=IF(STS>PREV OR REF(K,-1)<PREV,STS,PREV);
    PMax:=IF(PREV=REF(FUB,-1) AND K<FUB,FUB,IF(PREV=REF(FUB,-1) AND K>FUB,FLB,IF(PREV=REF(FLB,-1) AND K>FLB,FLB,IF(PREV=REF(FLB,-1) AND K<FLB,FUB,FUB))));
    PMax;
    K
    Kod:
    var Factor = 3f;
    
    var Pd = 10;
    var MP = Sistem.GrafikFiyatSec("OrtaNokta"); // OrtaNokta
    var K= Sistem.MA(10, "Exp", "OrtaNokta");
    var ATRX = Sistem.AverageTrueRange(1);
    
    var ATR = Sistem.MA(ATRX, "Simple", Pd);
    
    var C = Sistem.GrafikFiyatSec("OrtaNokta");
    
    var STR = Sistem.Liste(0);
    
    var STS = Sistem.Liste(0);
    
    var FUB = Sistem.Liste(0);
    
    var FLB = Sistem.Liste(0);
    
    var ST = Sistem.Liste(0);
    
    var SuperTrend = Sistem.Liste(0);
    
    for (int i=1; i < Sistem.BarSayisi; i++)
    
    {
    
       STR[i] = K[i] + (Factor*ATR[i]);
    
       STS[i] = K[i] - (Factor*ATR[i]);
    
       FUB[i] = (STR[i] < FUB[i-1] || K[i-1] > FUB[i-1]) ? STR[i] : FUB[i-1];
    
       FLB[i] = (STS[i] > FLB[i-1] || K[i-1] < FLB[i-1]) ? STS[i] : FLB[i-1];
    
       ST[i] = (ST[i-1] == FUB[i-1] && K[i] < FUB[i]) ? FUB[i] : (ST[i-1] == FUB[i-1] && K[i] > FUB[i]) ? FLB[i] : (ST[i-1] == FLB[i-1] && K[i] > FLB[i]) ? FLB[i] : (ST[i-1] == FLB[i-1] && K[i] < FLB[i] ? FUB[i] : FUB[i]);
    
    }
    
    Sistem.Cizgiler[0].Deger = ST;

  2. Merhaba idealde stop ve kar al seviyeleri için bar kapanışını beklemeden emir göneremini kodlayabilecek kimseyi bulamadım ne twitterde ne de bu sistede. Siz yazabiliyor musunuz acaba?

  3. mesala bu sistemde sabit stop, iz süren stop, kar al tetiklendiğinde bar kapanışını beklemeden emir gönderimini nasıl yazabiliriz?

    var V = Sistem.GrafikVerileri;

    var C = Sistem.GrafikFiyatOku(V, "Kapanis");

    var STOSK = Sistem.MA(Sistem.StochasticFast(220, 1), "Variable", 170);

    var STOSD = Sistem.MA(STOSK, "Variable", 30);

    var STOSK2 = Sistem.MA(Sistem.StochasticFast(300, 1), "Variable", 90);

    var STOSD2 = Sistem.MA(STOSK2, "Variable", 100);

    var STOSK3 = Sistem.MA(Sistem.StochasticFast(210, 1), "Variable", 140);

    var STOSD3 = Sistem.MA(STOSK3, "Variable", 110);

    var STOSK4 = Sistem.MA(Sistem.StochasticFast(80, 1), "Variable", 40);

    var STOSD4 = Sistem.MA(STOSK4, "Variable", 50);

    var TILL = Sistem.TillsonT3(C, 35, 1.2);

    var TILL2 = Sistem.TillsonT3(C, 135, 0.7);

    var TILL3 = Sistem.TillsonT3(C, 60, 1.5);

    var TILL4 = Sistem.TillsonT3(C, 100, 0.2);



    var MOST = Sistem.TOMA(3, 2, "Variable");

    var RSI = Sistem.RSI(C,10);

    var SartAL = false;

    var SartSAT = false;



    var SonYon = "";

    var IZLEYENSTOP = Sistem.Liste(0);

    var KARAL = Sistem.Liste(0);

    var Fiyat = 0.0f;



    for(int i=1; i < Sistem.BarSayisi;i++)

    {

    IZLEYENSTOP[i] = Sistem.IzleyenStopYuzde(3,i);

    if (IZLEYENSTOP[i] == 0) IZLEYENSTOP[i] = C[i];



    KARAL[i] = Sistem.KarAlYuzde(22.8,i);

    if (KARAL[i] == 0) KARAL[i] = C[i];



    SartAL = C[i] > MOST[i] ? TILL[i] > TILL[i-1] && RSI[i] < 40 && STOSK[i] > STOSD[i] : TILL2[i] > TILL2[i-1] && RSI[i] < 30 && STOSK2[i] > STOSD2[i];

    SartSAT = C[i] > MOST[i] ? TILL3[i] < TILL3[i-1] && STOSK3[i] < STOSD3[i] : TILL4[i] < TILL4[i-1] && STOSK4[i] < STOSD4[i];

    if(SartAL && SonYon != "A")

    {

    SonYon = "A";

    Sistem.Yon[i] = "A";

    Fiyat = C[i];

    }

    else if(SartSAT && SonYon != "F")

    {

    SonYon = "F";

    Sistem.Yon[i] = "F";

    }

    else if ((C[i] < IZLEYENSTOP[i] || C[i] >= KARAL[i]) && SonYon == "A") // alıştan flate

    {

    SonYon = "F";

    Sistem.Yon[i] = "F";

    }

    else if(C[i] < Fiyat * 0.99F && SonYon == "A")
    {

    SonYon = "F";

    Sistem.Yon[i] = "F";


    }

    }

  4.  Alıntı Originally Posted by erdem86 Yazıyı Oku
    mesala bu sistemde sabit stop, iz süren stop, kar al tetiklendiğinde bar kapanışını beklemeden emir gönderimini nasıl yazabiliriz?

    var V = Sistem.GrafikVerileri;

    var C = Sistem.GrafikFiyatOku(V, "Kapanis");

    var STOSK = Sistem.MA(Sistem.StochasticFast(220, 1), "Variable", 170);

    var STOSD = Sistem.MA(STOSK, "Variable", 30);

    var STOSK2 = Sistem.MA(Sistem.StochasticFast(300, 1), "Variable", 90);

    var STOSD2 = Sistem.MA(STOSK2, "Variable", 100);

    var STOSK3 = Sistem.MA(Sistem.StochasticFast(210, 1), "Variable", 140);

    var STOSD3 = Sistem.MA(STOSK3, "Variable", 110);

    var STOSK4 = Sistem.MA(Sistem.StochasticFast(80, 1), "Variable", 40);

    var STOSD4 = Sistem.MA(STOSK4, "Variable", 50);

    var TILL = Sistem.TillsonT3(C, 35, 1.2);

    var TILL2 = Sistem.TillsonT3(C, 135, 0.7);

    var TILL3 = Sistem.TillsonT3(C, 60, 1.5);

    var TILL4 = Sistem.TillsonT3(C, 100, 0.2);



    var MOST = Sistem.TOMA(3, 2, "Variable");

    var RSI = Sistem.RSI(C,10);

    var SartAL = false;

    var SartSAT = false;



    var SonYon = "";

    var IZLEYENSTOP = Sistem.Liste(0);

    var KARAL = Sistem.Liste(0);

    var Fiyat = 0.0f;



    for(int i=1; i < Sistem.BarSayisi;i++)

    {

    IZLEYENSTOP[i] = Sistem.IzleyenStopYuzde(3,i);

    if (IZLEYENSTOP[i] == 0) IZLEYENSTOP[i] = C[i];



    KARAL[i] = Sistem.KarAlYuzde(22.8,i);

    if (KARAL[i] == 0) KARAL[i] = C[i];



    SartAL = C[i] > MOST[i] ? TILL[i] > TILL[i-1] && RSI[i] < 40 && STOSK[i] > STOSD[i] : TILL2[i] > TILL2[i-1] && RSI[i] < 30 && STOSK2[i] > STOSD2[i];

    SartSAT = C[i] > MOST[i] ? TILL3[i] < TILL3[i-1] && STOSK3[i] < STOSD3[i] : TILL4[i] < TILL4[i-1] && STOSK4[i] < STOSD4[i];

    if(SartAL && SonYon != "A")

    {

    SonYon = "A";

    Sistem.Yon[i] = "A";

    Fiyat = C[i];

    }

    else if(SartSAT && SonYon != "F")

    {

    SonYon = "F";

    Sistem.Yon[i] = "F";

    }

    else if ((C[i] < IZLEYENSTOP[i] || C[i] >= KARAL[i]) && SonYon == "A") // alıştan flate

    {

    SonYon = "F";

    Sistem.Yon[i] = "F";

    }

    else if(C[i] < Fiyat * 0.99F && SonYon == "A")
    {

    SonYon = "F";

    Sistem.Yon[i] = "F";


    }

    }

    var C = Sistem.GrafikFiyatOku(V, "Kapanis"); satırının altına şunu ekleyiniz:

    var sonfiyat = Sistem.SonFiyat(Sistem.Sembol);

    Sonra alım satımda canlı fiyat kullanmak istediğiniz yere "C[i]" yerine "sonfiyat" değişkenini koyun.. Ancak bunu sanalda iyi test etmelisiniz, çünkü 1-2 kademe değişiminde sistemi al-sat döngüsüne sokabilirsiniz..
    Biçare gönüller! Ne giden son gemidir bu!
    Hicranlı hayatın ne de son matemidir bu.

  5.  Alıntı Originally Posted by Maximusix Yazıyı Oku
    super trendden yapılmış indikatör bir türlü ceviremedim yardımcı olabilirmisiniz



    Kod:
    period:=input("ATR periodu",1,500,10);
    coeff:=input("coeff",0,20,3);
    MovPeriod:=input("Mov Periodu",1,500,10);
    K:=MOV((H+L)/2,MovPeriod,E);
    OFFSET:=coeff*ATRe(period);
    STR:=K+OFFSET;
    STS:=K-OFFSET;
    FUB:=IF(STR<PREV OR REF(K,-1)>PREV,STR,PREV);
    FLB:=IF(STS>PREV OR REF(K,-1)<PREV,STS,PREV);
    PMax:=IF(PREV=REF(FUB,-1) AND K<FUB,FUB,IF(PREV=REF(FUB,-1) AND K>FUB,FLB,IF(PREV=REF(FLB,-1) AND K>FLB,FLB,IF(PREV=REF(FLB,-1) AND K<FLB,FUB,FUB))));
    PMax;
    K
    Hocam arşivimde şöyle bir supertrend kodu var, bir de bunun üzerinden deneyin isterseniz...

    PHP Code:
    var Sistem.GrafikVerileri ;
    var 
    Sistem.GrafikFiyatOku(V"Acilis" ) ;
    var 
    Sistem.GrafikFiyatOku(V"Yuksek" ) ;
    var 
    Sistem.GrafikFiyatOku(V"Dusuk" ) ;
    var 
    Sistem.GrafikFiyatOku(V"Acilis" ) ;


    var 
    Length 60 
    var 
    mult 5.0f ;

    var 
    avgTR Sistem.AverageTrueRange(VLength) ;

    var 
    newshortband Sistem.Liste(V.Count0) ; 
    var 
    newlongband Sistem.Liste(V.Count0) ; 
    var 
    shortband Sistem.Liste(V.Count0) ; 
    var 
    longband Sistem.Liste(V.Count0) ; 
    var 
    trend Sistem.Liste(V.Count0) ; 
    var 
    supt Sistem.Liste(V.Count0) ; 

    for (
    int i 1V.Counti++) 
    {
    newshortband[i] = ( H[i] + L[i] ) / avgTR[i] * mult ;
    newlongband[i] = ( H[i] + L[i] ) / avgTR[i] * mult ;

    if( 
    C[i-1] > longband[i-1] ) longband[i] = Math.Max(newlongband[i], longband[i-1]) ; else longband[i] = newlongband[i] ;
    if( 
    C[i-1] < shortband[i-1] ) shortband[i] = Math.Min(newshortband[i], shortband[i-1]) ; else shortband[i] = newshortband[i] ;
    {
    if( 
    C[i] > shortband[i-1] ) trend[i] = ; else if ( C[i] < longband[i-1] ) trend[i] = -; else trend[i]= trend[i-1] ;
    }
    if( 
    trend[i] == supt[i] = longband[i] ; else supt[i] = shortband[i] ;
    }

    Sistem.Cizgiler[0].Deger supt// panel 1 
    Biçare gönüller! Ne giden son gemidir bu!
    Hicranlı hayatın ne de son matemidir bu.

  6.  Alıntı Originally Posted by sonli Yazıyı Oku
    var C = Sistem.GrafikFiyatOku(V, "Kapanis"); satırının altına şunu ekleyiniz:

    var sonfiyat = Sistem.SonFiyat(Sistem.Sembol);

    Sonra alım satımda canlı fiyat kullanmak istediğiniz yere "C[i]" yerine "sonfiyat" değişkenini koyun.. Ancak bunu sanalda iyi test etmelisiniz, çünkü 1-2 kademe değişiminde sistemi al-sat döngüsüne sokabilirsiniz..

    Sonra alım satımda canlı fiyat kullanmak istediğiniz yere "C[i]" yerine "sonfiyat" değişkenini koyun dediğiniz yere
    if (IZLEYENSTOP[i] == 0) IZLEYENSTOP[i] = C[i]; yerine var sonfiyat = Sistem.SonFiyat(Sistem.Sembol); böyle bir şey mi yazacağım, pek anlayamadım açıkcası

  7.  Alıntı Originally Posted by mesuteryilmaz Yazıyı Oku
    üstad selam
    çok zaman önce yazdığın bu paylaşıma denk geldim.
    malesef verdiğiniz link artık çalışmıyor.
    tekrar paylaşabilirseniz çok memnun olurum.

    Selamlar. Aşağıdaki linkin işinize yarayacağını düşünüyorum:
    https://twitter.com/caglarmenguc/sta...991489538?s=20

  8.  Alıntı Originally Posted by erdem86 Yazıyı Oku
    Sonra alım satımda canlı fiyat kullanmak istediğiniz yere "C[i]" yerine "sonfiyat" değişkenini koyun dediğiniz yere
    if (IZLEYENSTOP[i] == 0) IZLEYENSTOP[i] = C[i]; yerine var sonfiyat = Sistem.SonFiyat(Sistem.Sembol); böyle bir şey mi yazacağım, pek anlayamadım açıkcası
    Yazdığınız yer emir tetikleyen değil, izleyen stop seviyesini belirleyen yer gibi duruyor...
    Uyarı: Backtest te bu durumu test edemezsiniz, seans esnasında sanalda test edebilirsiniz. Grafiğe sistemi attığınızda geçmişteki görüntü hatalı olur; çünkü sonfiyat sebebiyle geçmişte işlem olmuş yerleri olmamış yada işlem olmamış yerleri olmuş gibi görürsünüz. Bugünkü "son fiyat" geçmiş için de hep son fiyattır.. C[i] ise i numaralı barın kapanış fiyatıdır, yani her bar için ayrı bir değerdir. Ayrıca kâr al, stop vs kullanıyorsanız ve bu durum tetiklendiğinde al şartınız hala geçerliyse, sattığı gibi tekrar alacaktır!!! Bu durumu iyi kodlamanız gerekir.. Örneğin ema50 yukarı kesince al yapan ve %5 de kâr alan bir sistem olsun. İyi kodlanmazsa; %5 kâr aldığı noktada yine ema50 üzerinde olacağından sattığı gibi geri alacaktır..
    Kodu alta sadece örnek olsun diye koyuyorum; test etmediğimden doğru çalışacağını garanti edemem ve gerçek işlemde kullanmayınız!!

    PHP Code:
    var Sistem.GrafikVerileri;

    var 
    Sistem.GrafikFiyatOku(V"Kapanis");
    var 
    sonfiyat Sistem.SonFiyat(Sistem.Sembol);

    var 
    STOSK Sistem.MA(Sistem.StochasticFast(2201), "Variable"170);

    var 
    STOSD Sistem.MA(STOSK"Variable"30);

    var 
    STOSK2 Sistem.MA(Sistem.StochasticFast(3001), "Variable"90);

    var 
    STOSD2 Sistem.MA(STOSK2"Variable"100);

    var 
    STOSK3 Sistem.MA(Sistem.StochasticFast(2101), "Variable"140);

    var 
    STOSD3 Sistem.MA(STOSK3"Variable"110);

    var 
    STOSK4 Sistem.MA(Sistem.StochasticFast(801), "Variable"40);

    var 
    STOSD4 Sistem.MA(STOSK4"Variable"50);

    var 
    TILL Sistem.TillsonT3(C351.2);

    var 
    TILL2 Sistem.TillsonT3(C1350.7);

    var 
    TILL3 Sistem.TillsonT3(C601.5);

    var 
    TILL4 Sistem.TillsonT3(C1000.2);



    var 
    MOST Sistem.TOMA(32"Variable");

    var 
    RSI Sistem.RSI(C,10);

    var 
    SartAL false;

    var 
    SartSAT false;



    var 
    SonYon "";

    var 
    IZLEYENSTOP Sistem.Liste(0);

    var 
    KARAL Sistem.Liste(0);

    var 
    Fiyat 0.0f;



    for(
    int i=1Sistem.BarSayisi;i++)

    {

    IZLEYENSTOP[i] = Sistem.IzleyenStopYuzde(3,i);

    if (
    IZLEYENSTOP[i] == 0IZLEYENSTOP[i] = C[i];



    KARAL[i] = Sistem.KarAlYuzde(22.8,i);

    if (
    KARAL[i] == 0KARAL[i] = C[i];



    SartAL C[i] > MOST[i] ? TILL[i] > TILL[i-1] && RSI[i] < 40 && STOSK[i] > STOSD[i] : TILL2[i] > TILL2[i-1] && RSI[i] < 30 && STOSK2[i] > STOSD2[i];

    SartSAT C[i] > MOST[i] ? TILL3[i] < TILL3[i-1] && STOSK3[i] < STOSD3[i] : TILL4[i] < TILL4[i-1] && STOSK4[i] < STOSD4[i];

    if(
    SartAL && SonYon != "A")

    {

    SonYon "A";

    Sistem.Yon[i] = "A";

    Fiyat C[i];

    }

    else if(
    SartSAT && SonYon != "F")

    {

    SonYon "F";

    Sistem.Yon[i] = "F";

    }

    else if ( 
    SonYon == "A" && ( (sonfiyat IZLEYENSTOP[i] || sonfiyat >= KARAL[i]) || (C[i] < IZLEYENSTOP[i] || C[i] >= KARAL[i]) )  ) // alıştan flate

    {

    SonYon "F";

    Sistem.Yon[i] = "F";

    }

    else if( 
    SonYon == "A" && ( sonfiyat Fiyat*0.99F || C[i] < Fiyat*0.99F) )
    {

    SonYon "F";

    Sistem.Yon[i] = "F";


    }


    Biçare gönüller! Ne giden son gemidir bu!
    Hicranlı hayatın ne de son matemidir bu.

Sayfa 461/593 İlkİlk ... 361411451459460461462463471511561 ... 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
  •