Sayfa 417/593 İlkİlk ... 317367407415416417418419427467517 ... SonSon
Arama sonucu : 4738 madde; 3,329 - 3,336 arası.

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

  1. Tesekkurler hocam yardım için . Benim denemek istediğim birbirinden iki farklı sey var 1- Eğer algo sat vermesine rağmen, aldığı fiyat-robotun sat verdiği fiyat = ZARAR ise satmasın bu hısseyi portfoyde baska bir dosyada tutsun.
    2-ikinci ayrı senaryo ise eğer algo sat verdiği fiyat, zarar ise satmasın tutsun takii minumum yüzde 2 kar görene kadar. Bu iki ayrı senaryoyu algoya nasıl aktarabiliriz?

    Saygılar...

     Alıntı Originally Posted by 3c1a Yazıyı Oku
    Sistem icerisine islem basina kar zarar takibi yapmanizi saglayacak bazi basit hesaplamalar ekleyip bunu sinyal sartlarina "&&" ile bir filtre gibi baglayabilirsiniz. Kar zarar hesabi ve buna bagli sinyal uretimine eski forumdan bir ornek:


    PHP Code:
    //%5 KAR görürse kar al, %2 zarar görürse zarar durdur örneğidir.
    // kapanış fiyatlarını oku

    var Sistem.GrafikFiyatSec("Kapanis"); 

    // hareketli ortalamaları hesapla
    var MA1 Sistem.MA(C"Exp"50);
    var 
    MA2 Sistem.MA(C"Exp"100);


    // strateji
    var SonYon "";
    double Fiyat 0;
    for (
    int i 1i<Sistem.BarSayisii++)
    {
    if (
    MA1[i-1] < MA2[i-1] && MA1[i] >= MA2[i] && SonYon != "A"// AL
    {
    Sistem.Yon[i] = "A"// alış
    SonYon Sistem.Yon[i];
    Fiyat C[i];
    }
    else if (
    MA1[i-1] > MA2[i-1] && MA1[i] <= MA2[i] && SonYon != "S"// SAT
    {
    Sistem.Yon[i] = "S"// satış
    SonYon Sistem.Yon[i];
    Fiyat C[i];
    }
    else if (
    SonYon == "A" && C[i] > Fiyat 1.10// % 5 kar realizasyonu
    {
    Sistem.Yon[i] = "F"// flat
    SonYon Sistem.Yon[i];
    }
    else if (
    SonYon == "A" && C[i] < Fiyat 0.94// % 2 stop
    {
    Sistem.Yon[i] = "F"// flat
    SonYon Sistem.Yon[i];
    }
    else if (
    SonYon == "S" && C[i] < Fiyat 0.90// % 5 kar realizasyonu
    {
    Sistem.Yon[i] = "F"// flat
    SonYon Sistem.Yon[i];
    }
    else if (
    SonYon == "S" && C[i] > Fiyat 1.04// % 2 stop
    {
    Sistem.Yon[i] = "F"// flat
    SonYon Sistem.Yon[i];
    }


    // hesaplanan verileri çizgilere aktar ve açıklama ekle
    Sistem.Cizgiler[0].Deger MA1;
    Sistem.Cizgiler[1].Deger MA2

  2.  Alıntı Originally Posted by burocktr Yazıyı Oku
    hocam emeğinize sağlık. yapmış olduğunuz kodu birebir girmeme rağmen sizle tarama sonuçlarımız farklı çıktı nedeni ne olabilir acaba?
    Doğru olan sizinki.. Ben tarama öncesi grafik verilerini güncellememiştim
    Biçare gönüller! Ne giden son gemidir bu!
    Hicranlı hayatın ne de son matemidir bu.

  3.  Alıntı Originally Posted by sonli Yazıyı Oku
    Doğru olan sizinki.. Ben tarama öncesi grafik verilerini güncellememiştim
    Çok teşekkür ederim hocam. Emeğinize bilginize sağlık

  4.  Alıntı Originally Posted by burocktr Yazıyı Oku
    Çok teşekkür ederim hocam. Emeğinize bilginize sağlık
    Size de teşekkürler hocam, bahaneyle tarama öncesi verilerin güncel olması hususuna dikkat çekilmiş oldu
    Biçare gönüller! Ne giden son gemidir bu!
    Hicranlı hayatın ne de son matemidir bu.

  5. Merhaba ichimoku indikatörünün grafiğe yansıtılmış halinin kodlarını bilen var mı ?

  6.  Alıntı Originally Posted by serseri26 Yazıyı Oku
    Merhaba ichimoku indikatörünün grafiğe yansıtılmış halinin kodlarını bilen var mı ?
    Sorunuz net değil ama, her bir parçasını ideal içinde hazır fonksiyonlar ile şöyle kullanabilirsiniz:

    PHP Code:
    var IchiMoku Sistem.Ichimoku();

    var 
    Tenkansen IchiMoku.Tenkansen;
    var 
    KijunsenIchiMoku.Kijunsen;
    var 
    cikoIchiMoku.ChikouSpan;
    var 
    SenkouA IchiMoku.SenkouSpanA;
    var 
    SenkouB IchiMoku.SenkouSpanB;

    Sistem.Cizgiler[0].Deger Tenkansen;
    Sistem.Cizgiler[1].Deger Kijunsen;
    Sistem.Cizgiler[2].Deger ciko;
    Sistem.Cizgiler[3].Deger SenkouA ;
    Sistem.Cizgiler[4].Deger SenkouB 
    Sorduğunuz şey açık kodsa(ben yazmadım, ya bir yerden kopyalamışım ya örnek olarak zaten geliyor):

    PHP Code:
    int tenkansen 9;
    int kijunsen 26;
    int chikouspan 26;
    int senkouspan 52;
    int shift 26;

    var 
    bars Sistem.GrafikVerileri;
    var 
    ListeTENKANSEN Sistem.Liste(0);
    var 
    ListeKIJUNSEN Sistem.Liste(0);
    var 
    ListeCHIKOUSPAN Sistem.Liste(0);
    var 
    ListeSENKOUSPANA Sistem.Liste(0);
    var 
    ListeSENKOUSPANB Sistem.Liste(0);


    // TENKAN SEN
    for (int i tenkansenbars.Counti++)
    {
    var 
    hhv bars[i].High;
    var 
    llv bars[i].Low;
    for (
    int j 1tenkansenj++)
    {
    int pos tenkansen;
    hhv Math.Max(hhvbars[pos].High);
    llv Math.Min(llvbars[pos].Low);
    }
    ListeTENKANSEN[i] = (hhv llv) / 2;
    }


    // KIJUN SEN
    for (int i kijunsenbars.Counti++)
    {
    var 
    hhv bars[i].High;
    var 
    llv bars[i].Low;
    for (
    int j 1kijunsenj++)
    {
    int pos kijunsen;
    hhv Math.Max(hhvbars[pos].High);
    llv Math.Min(llvbars[pos].Low);
    }
    ListeKIJUNSEN[i] = (hhv llv) / 2;
    }


    // CHIKOU SPAN
    for (int i chikouspanbars.Counti++)
    {
    ListeCHIKOUSPAN[i-chikouspan+1] = bars[i].Close;
    }
    for (
    int i bars.Count-chikouspan+1bars.Counti++)
    {
    ListeCHIKOUSPAN[i] = bars[bars.Count-1].Close;
    }


    // SENKOU SPAN A
    for (int i shiftbars.Count shifti++)
    {
    ListeSENKOUSPANA[i+shift] = (ListeTENKANSEN[i] + ListeKIJUNSEN[i]) / 2;
    }

    // SENKOU SPAN B
    for (int i senkouspanbars.Counti++)
    {
    var 
    hhv bars[i].High;
    var 
    llv bars[i].Low;
    for (
    int j 1senkouspanj++)
    {
    int pos senkouspan;
    hhv Math.Max(hhvbars[pos].High);
    llv Math.Min(llvbars[pos].Low);
    }
    ListeSENKOUSPANB[i] = (hhv llv) / 2;
    }
    ListeSENKOUSPANB Sistem.Ref(ListeSENKOUSPANB, -shift);



    Sistem.Cizgiler[0].Deger ListeTENKANSEN;
    Sistem.Cizgiler[0].Aciklama "TENKAN SEN";
    Sistem.Cizgiler[1].Deger ListeKIJUNSEN;
    Sistem.Cizgiler[1].Aciklama "KIJUN SEN";
    Sistem.Cizgiler[2].Deger ListeCHIKOUSPAN;
    Sistem.Cizgiler[2].Aciklama "CHIKOU SPAN";
    Sistem.Cizgiler[3].Deger ListeSENKOUSPANA;
    Sistem.Cizgiler[3].Aciklama "SENKOU SPAN A";
    Sistem.Cizgiler[4].Deger ListeSENKOUSPANB;
    Sistem.Cizgiler[4].Aciklama "SENKOU SPAN B";


    // bölge renklendirme
    var Renk1 Sistem.Renk(100,255,0,0);
    var 
    Renk2 Sistem.Renk(100,0,255,0);
    Sistem.DolguEkle(3,4,Renk2,Renk1); 
    Biçare gönüller! Ne giden son gemidir bu!
    Hicranlı hayatın ne de son matemidir bu.

  7.  Alıntı Originally Posted by sonli Yazıyı Oku
    Sorunuz net değil ama, her bir parçasını ideal içinde hazır fonksiyonlar ile şöyle kullanabilirsiniz:

    PHP Code:
    var IchiMoku Sistem.Ichimoku();

    var 
    Tenkansen IchiMoku.Tenkansen;
    var 
    KijunsenIchiMoku.Kijunsen;
    var 
    cikoIchiMoku.ChikouSpan;
    var 
    SenkouA IchiMoku.SenkouSpanA;
    var 
    SenkouB IchiMoku.SenkouSpanB;

    Sistem.Cizgiler[0].Deger Tenkansen;
    Sistem.Cizgiler[1].Deger Kijunsen;
    Sistem.Cizgiler[2].Deger ciko;
    Sistem.Cizgiler[3].Deger SenkouA ;
    Sistem.Cizgiler[4].Deger SenkouB 
    Sorduğunuz şey açık kodsa(ben yazmadım, ya bir yerden kopyalamışım ya örnek olarak zaten geliyor):

    PHP Code:
    int tenkansen 9;
    int kijunsen 26;
    int chikouspan 26;
    int senkouspan 52;
    int shift 26;

    var 
    bars Sistem.GrafikVerileri;
    var 
    ListeTENKANSEN Sistem.Liste(0);
    var 
    ListeKIJUNSEN Sistem.Liste(0);
    var 
    ListeCHIKOUSPAN Sistem.Liste(0);
    var 
    ListeSENKOUSPANA Sistem.Liste(0);
    var 
    ListeSENKOUSPANB Sistem.Liste(0);


    // TENKAN SEN
    for (int i tenkansenbars.Counti++)
    {
    var 
    hhv bars[i].High;
    var 
    llv bars[i].Low;
    for (
    int j 1tenkansenj++)
    {
    int pos tenkansen;
    hhv Math.Max(hhvbars[pos].High);
    llv Math.Min(llvbars[pos].Low);
    }
    ListeTENKANSEN[i] = (hhv llv) / 2;
    }


    // KIJUN SEN
    for (int i kijunsenbars.Counti++)
    {
    var 
    hhv bars[i].High;
    var 
    llv bars[i].Low;
    for (
    int j 1kijunsenj++)
    {
    int pos kijunsen;
    hhv Math.Max(hhvbars[pos].High);
    llv Math.Min(llvbars[pos].Low);
    }
    ListeKIJUNSEN[i] = (hhv llv) / 2;
    }


    // CHIKOU SPAN
    for (int i chikouspanbars.Counti++)
    {
    ListeCHIKOUSPAN[i-chikouspan+1] = bars[i].Close;
    }
    for (
    int i bars.Count-chikouspan+1bars.Counti++)
    {
    ListeCHIKOUSPAN[i] = bars[bars.Count-1].Close;
    }


    // SENKOU SPAN A
    for (int i shiftbars.Count shifti++)
    {
    ListeSENKOUSPANA[i+shift] = (ListeTENKANSEN[i] + ListeKIJUNSEN[i]) / 2;
    }

    // SENKOU SPAN B
    for (int i senkouspanbars.Counti++)
    {
    var 
    hhv bars[i].High;
    var 
    llv bars[i].Low;
    for (
    int j 1senkouspanj++)
    {
    int pos senkouspan;
    hhv Math.Max(hhvbars[pos].High);
    llv Math.Min(llvbars[pos].Low);
    }
    ListeSENKOUSPANB[i] = (hhv llv) / 2;
    }
    ListeSENKOUSPANB Sistem.Ref(ListeSENKOUSPANB, -shift);



    Sistem.Cizgiler[0].Deger ListeTENKANSEN;
    Sistem.Cizgiler[0].Aciklama "TENKAN SEN";
    Sistem.Cizgiler[1].Deger ListeKIJUNSEN;
    Sistem.Cizgiler[1].Aciklama "KIJUN SEN";
    Sistem.Cizgiler[2].Deger ListeCHIKOUSPAN;
    Sistem.Cizgiler[2].Aciklama "CHIKOU SPAN";
    Sistem.Cizgiler[3].Deger ListeSENKOUSPANA;
    Sistem.Cizgiler[3].Aciklama "SENKOU SPAN A";
    Sistem.Cizgiler[4].Deger ListeSENKOUSPANB;
    Sistem.Cizgiler[4].Aciklama "SENKOU SPAN B";


    // bölge renklendirme
    var Renk1 Sistem.Renk(100,255,0,0);
    var 
    Renk2 Sistem.Renk(100,0,255,0);
    Sistem.DolguEkle(3,4,Renk2,Renk1); 
    Teşekkür ederim hocam tam olarak değerlerini değiştirmek için kod içeriği neden gerekiyor onu anlamadım.Neden sistem içinde böyle bir alan yok diğer indicatörler için var.Ayrıca bunların içi dolmuyor sanırım bir bulut gibi gösteremedim.

    https://i.imgyukle.com/2020/05/03/rHewvH.jpg

  8. Mrb,
    RSI(14)>50 olduğu andaki, bar kapanış fiyatını, grafik üzerinde düz bir çizgi olarak sağa doğru çizdirebiliyormuyuz?
    RSI(14)<50 olduğunda ise fiyat çizgisi kalmayacak

Sayfa 417/593 İlkİlk ... 317367407415416417418419427467517 ... 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
  •