Special Days Image
Sayfa 379/593 İlkİlk ... 279329369377378379380381389429479 ... SonSon
Arama sonucu : 4738 madde; 3,025 - 3,032 arası.

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

  1. #3025
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    53
    Gönderi
    4,629
    var RSI = Sistem.RSI(15);
    var dunRSI = Sistem.Ref(RSI,-1);
    Bear_Bull
    @BearBull26

  2.  Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    var RSI = Sistem.RSI(15);
    var dunRSI = Sistem.Ref(RSI,-1);
    Çok teşekkür ederim Sayın Bear_Bull
    Yatırım tavsiyesi değildir kendimce bir şeyler karalıyorum.

  3.  Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    var RSI = Sistem.RSI(15);
    var dunRSI = Sistem.Ref(RSI,-1);
    Sayın Bear_Bull,

    Bir ufak yardım daha rica edeceğim,
    Kodu ekledim ancak ref() fonksiyonu sorgu özelliğinin alt kodunu mu bozuyor acaba, idealin sitesinde sorgu kodu örneklerinde SonRSI şeklinde bir kod konmuş, bu bir önceki günkü rsi ı referans almayı sağlıyor mu? Sorgu koduna ref i eklediğim anda kodda hata vermese de sorgu komple boş dönmeye başlıyor.

    var RSI = Sistem.RSI(14);
    var SonRSI = RSI[Sistem.BarSayisi-1];

    Yardımlarınız için teşekkürler

  4. #3028
    Selam;
    Sizden fazla kod bilgim yok ama
    SonRSI bir değişken eşitliğin sağına yazıdınız kodun dönüşünü referans alır. tanımlı bir fonksiyon değildir.
    SonuncuRSIDegeri olarak tanımlarsak da bir farkı yok.

     Alıntı Originally Posted by Payrıt Yazıyı Oku
    Sayın Bear_Bull,

    Bir ufak yardım daha rica edeceğim,
    Kodu ekledim ancak ref() fonksiyonu sorgu özelliğinin alt kodunu mu bozuyor acaba, idealin sitesinde sorgu kodu örneklerinde SonRSI şeklinde bir kod konmuş, bu bir önceki günkü rsi ı referans almayı sağlıyor mu? Sorgu koduna ref i eklediğim anda kodda hata vermese de sorgu komple boş dönmeye başlıyor.

    var RSI = Sistem.RSI(14);
    var SonRSI = RSI[Sistem.BarSayisi-1];

    Yardımlarınız için teşekkürler

  5.  Alıntı Originally Posted by netkit Yazıyı Oku
    Selam;
    Sizden fazla kod bilgim yok ama
    SonRSI bir değişken eşitliğin sağına yazıdınız kodun dönüşünü referans alır. tanımlı bir fonksiyon değildir.
    SonuncuRSIDegeri olarak tanımlarsak da bir farkı yok.
    Sayın netkit yardımlarınız için çok teşekkürler.

    Ben aslında şunu sormak istiyorum sorgu kodunda hisseler, periyot, açıklama gibi bazı sütunlar ve onlar otomatik geliyor, demek ki bir alt kodu daha var bu bölümün çünkü ben bunları kodlama sırasında tanımlamasam da geliyorlar. Ve yukarıda Sayın Bear_Bull un paylaştığı şekilde Sistem.Ref(RSI,-1); yazarak dünün 15 günlük rsi verisi ile bugünün verisini kıyaslamak istediğimde kodda bir sıkıntı gözükmezken hesaplama yaptırdığımda sorgu hiç dönmüyor.

    İdeal in sitesinde örnek sorgular var orada da en son rsi ı çekmek için RSI[Sistem.BarSayisi-1]; şeklinde kod yazılmış, ben de diyorum ki acaba referans şeklinde tanımladığımız bir önceki günün 15 günlük rsi değerini bu kodu diyelim RSI[Sistem.BarSayisi-2]; yaparak çekmek mümkün mü? Çünkü ref() fonksiyonu sorguyu bozuyor herşey onu sildiğimde çalışıyor ama tabi haliyle istediğim sorgulamayı yapmıyor, bu barsayisi-1 in de tam ne olduğunu çözemedim bir önceki günün mü o günün mü verisini veriyor, kafamda deli sorular anlayacağınız yeni olunca böyle oluyor

  6. #3030
    Arkadaşlar merhaba, aşağıdaki kodu nasıl çalıştırıyoruz. yardımcı olabilecek var mı?

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Drawing;



    namespace ideal
    {
    public class Lib
    {
    public int Barsayisi { get; set; }
    public string Sembol { get; set; }
    public string Periyot { get; set; }
    public dynamic Veriler { get; set; }
    public List<float> Yuksekler { get; set; }
    public List<float> Dusukler { get; set; }
    public List<float> Kapanislar { get; set; }
    public List<float> Acilislar { get; set; }
    public List<float> Ortalamalar { get; set; }
    public float SonFiyat { get; set; }
    public dynamic Sistem { get; set; }
    public int MakulBaslangicBari { get; set; }
    public int DusenAratrendBaslangicBari { get; set; }
    public int YukselenAratrendBaslangicBari { get; set; }
    public List<int> ListeDiplerGenelilk { get; set; }
    public List<int> ListeDiplerArdisik { get; set; }
    public List<int> ListeTepelerGenelilk { get; set; }
    public List<int> ListeTepelerArdisik { get; set; }
    public List<int> ListeDusuklerArdisik { get; set; }
    public List<int> ListeYukseklerArdisik { get; set; }
    public float PeriyotCarpani { get; set; }
    public float kademeBuyuklugu { get; set; }
    public float yataykademecarpani { get; set; }
    public float TrendTemasCarpani { get; set; } // temas varsayımı için kaç kademe


    public void SistemiBaslat(dynamic sistem)
    {

    this.Barsayisi = sistem.BarSayisi - 1;
    this.Sembol = sistem.Sembol;
    this.Periyot = sistem.Periyot;
    this.Veriler = sistem.GrafikVerileriniOku(Sembol, Periyot);
    this.Yuksekler = sistem.GrafikFiyatOku(Veriler, "Yuksek");
    this.Dusukler = sistem.GrafikFiyatOku(Veriler, "Dusuk");
    this.Kapanislar = sistem.GrafikFiyatOku(Veriler, "Kapanis");
    this.Acilislar = sistem.GrafikFiyatOku(Veriler, "Acilis");
    this.Ortalamalar = sistem.GrafikFiyatOku(Veriler, "Ortalama");
    this.SonFiyat = Kapanislar.Last();
    this.Sistem = sistem;
    this.MakulBaslangicBari = Kapanislar.FindIndex(x => x > 0.25f);
    if (this.MakulBaslangicBari == 0) this.MakulBaslangicBari = 100;
    this.ListeDiplerGenelilk = DiplerGenelilkListeOlustur();
    this.ListeTepelerGenelilk = TepelerGenelilkListeOlustur();
    this.ListeDiplerArdisik = ArdisikDiplerListesiOlustur(ListeDiplerGenelilk);
    this.ListeTepelerArdisik = ArdisikTepelerListesiOlustur(ListeTepelerGenelilk) ;
    this.ListeDusuklerArdisik = ArdisikDiplerListesiOlusturAnaliste();
    this.ListeYukseklerArdisik = ArdisikTepelerListesiOlusturAnaliste();


    if (Periyot == "1" || Periyot == "2" || Periyot == "3" || Periyot == "4" ) { PeriyotCarpani = 0.4f; yataykademecarpani = 2f; }
    else if (Periyot == "5" || Periyot == "8" || Periyot == "10") { PeriyotCarpani = 0.5f; yataykademecarpani = 3f;}
    else if (Periyot == "15" || Periyot == "20" || Periyot == "30") { PeriyotCarpani = 0.8f; yataykademecarpani = 5f;}
    else if (Periyot == "60" ) { PeriyotCarpani = 1.5f; yataykademecarpani = 7f;}
    else if (Periyot == "120") { PeriyotCarpani = 1.6f; yataykademecarpani = 10f;}
    else if (Periyot == "240" ) { PeriyotCarpani = 2.8f; yataykademecarpani = 12f;}
    else if (Periyot == "S") { PeriyotCarpani = 3f; yataykademecarpani = 15f; }
    else if (Periyot == "G") { PeriyotCarpani = 3.8f; yataykademecarpani = 17f;}
    else if (Periyot == "H" ) { PeriyotCarpani = 4.5f; yataykademecarpani = 25f;}
    else if (Periyot == "A" ) { PeriyotCarpani = 1.5f; yataykademecarpani = 30f;}
    else { PeriyotCarpani = 1f; yataykademecarpani = 40f; }

    if (SonFiyat > 0f && SonFiyat < 0.9f) { kademeBuyuklugu = 0.01f ; TrendTemasCarpani = 0.0125f ; }
    else if (SonFiyat >= 0.9f && SonFiyat < 1.5f) { kademeBuyuklugu = 0.01f; TrendTemasCarpani = 0.4f; }
    else if (SonFiyat >=1.5f && SonFiyat < 5f) { kademeBuyuklugu = 0.01f ; TrendTemasCarpani = 0.5f ; }
    else if (SonFiyat >= 5f && SonFiyat < 7f) { kademeBuyuklugu = 0.01f ; TrendTemasCarpani = 0.5f ; }
    else if (SonFiyat >= 7f && SonFiyat < 15f ) { kademeBuyuklugu = 0.01f ; TrendTemasCarpani = 1.01f ; }
    else if (SonFiyat >= 15f && SonFiyat < 20f) { kademeBuyuklugu = 0.01f ; TrendTemasCarpani = 1.05f ; }
    else if (SonFiyat >= 20f && SonFiyat < 30f) { kademeBuyuklugu = 0.02f ; TrendTemasCarpani = 1.1f ; }
    else if (SonFiyat >= 30f && SonFiyat < 50f) { kademeBuyuklugu = 0.02f ; TrendTemasCarpani = 1.2f ; }
    else if (SonFiyat >= 50f && SonFiyat < 100f) { kademeBuyuklugu = 0.05f ; TrendTemasCarpani = 1.2f ; }
    else if (SonFiyat >= 100f && SonFiyat < 200f) { kademeBuyuklugu = 0.010f ; TrendTemasCarpani = 1.1f ; }
    else if (SonFiyat >= 200f && SonFiyat < 500f) { kademeBuyuklugu = 0.010f ; TrendTemasCarpani = 1.5f ; }
    else if (SonFiyat >= 500f && SonFiyat < 1000f) { kademeBuyuklugu = 0.010f ; TrendTemasCarpani = 2f ; }
    else if (SonFiyat >= 50000f && SonFiyat < 20000f) { kademeBuyuklugu = 20f; TrendTemasCarpani = 1f; }
    else { kademeBuyuklugu = 20f ; TrendTemasCarpani = 1f ; }


    var Renk = Sistem.Renk(255, 255, 0, 80);

    Sistem.ZeminYazisiEkle("hisseanaliz.net", 1, 800, 80, Renk, "Tahoma", 13);

    }

    public void BarNoktalariTest()
    {
    var mavi = Color.DarkBlue; var kirmizi = Color.Red; var yesil = Color.DarkGreen; var acikkirmizi = Color.IndianRed;

    //foreach (var d in ListeDiplerGenelilk) { Sistem.YaziEkle("ʌ", 1, d, Dusukler[d], kirmizi, "Arial", 12); }
    //foreach (var t in ListeTepelerGenelilk) { Sistem.YaziEkle("v", 1, t, (Yuksekler[t] + (Yuksekler[t] / 800)), kirmizi, "Arial", 12); }
    foreach (var d in ListeDiplerArdisik) { Sistem.YaziEkle("ʌ", 1, d, Dusukler[d], yesil, "Arial", 20); }
    foreach (var d in ListeTepelerArdisik) { Sistem.YaziEkle("v", 1, d, (Yuksekler[d] + (Yuksekler[d] / 800)), mavi, "Arial", 20); }


    }
    public void AnatrendleriCiz()
    {
    var mavi = Color.DarkBlue; var kirmizi = Color.Red; var yesil = Color.DarkGreen; var acikkirmizi = Color.IndianRed;
    var kullanilacakdipliste = ListeDiplerArdisik; // ListeDiplerArdisik --> ListeDusuklerArdisik değişimi yapılabilir.
    var Yukselentrendlistesi = new List<Trend>();
    var baslangicDipBarReferans = kullanilacakdipliste.Count - 1;
    var dipreferanslar = new List<int>();
    var SonRefarnsBarNo = 0;
    var sayacyukselen = 1;


    while ( SonRefarnsBarNo < (Barsayisi-40))
    {
    if (baslangicDipBarReferans == 0) break;
    sayacyukselen++;
    for (int i = baslangicDipBarReferans; i > 0; i--)
    {

    var trend = new Trend();
    trend.trend = IkiBarArasiTrendOlustur(kullanilacakdipliste[baslangicDipBarReferans], kullanilacakdipliste[i - 1], "Low");
    trend = TrendDegerlemeYukselen(trend.trend, Barsayisi-5);
    if (trend.AsagiSarkmalar < 1 && trend.TemasSayisi > 0 && trend.sontemasbari < Barsayisi - 40)
    { Yukselentrendlistesi.Add(trend); SonRefarnsBarNo = kullanilacakdipliste[i - 1];
    dipreferanslar.Add(trend.sontemasbari); baslangicDipBarReferans = i - 1;
    break; }
    if(i == 1 && Yukselentrendlistesi.Count==0) { baslangicDipBarReferans = kullanilacakdipliste.Count-sayacyukselen; break; }
    if (i == 1 ) { SonRefarnsBarNo = Barsayisi; break; }

    }
    }

    if(dipreferanslar.Count > 0 ) { YukselenAratrendBaslangicBari = dipreferanslar.Last(); }
    else { YukselenAratrendBaslangicBari = kullanilacakdipliste.Last(); }
    //Sistem.YaziEkle("X", 1, YukselenAratrendBaslangicBari, Dusukler[YukselenAratrendBaslangicBari], mavi, "Arial", 10);


    var yukselentrendlersayisi = Yukselentrendlistesi.Count;
    if (yukselentrendlersayisi>0) SistemCizgileriniCiz(Yukselentrendlistesi[yukselentrendlersayisi-1].trend, 1, mavi, kalinlik: 2);
    if (yukselentrendlersayisi > 1) { SistemCizgileriniCiz(Yukselentrendlistesi[yukselentrendlersayisi-1].trend, 1, yesil, kalinlik: 2); SistemCizgileriniCiz(Yukselentrendlistesi[yukselentrendlersayisi - 2].trend, 2, mavi, kalinlik: 2); }

    //////////
    var Dusentrendlistesi = new List<Trend>();
    var kullanilacaktepeliste = ListeTepelerArdisik; // ListeYukseklerArdisik--> ListeTepelerArdisik değişimi yapılabilir.
    var baslangicTepeBarReferans = kullanilacaktepeliste.Count - 1;
    var tepereferanslar = new List<int>();
    var SonRefarnsBarNo2 = 0;
    var sayacdusen = 1;

    while (SonRefarnsBarNo2 < (Barsayisi - 40))
    {
    if (baslangicTepeBarReferans == 0) break;
    sayacdusen++;
    for (int i = baslangicTepeBarReferans; i > 0; i--)
    {

    var trend = new Trend();
    trend.trend = IkiBarArasiTrendOlustur(kullanilacaktepeliste[baslangicTepeBarReferans], kullanilacaktepeliste[i - 1], "High");
    trend = TrendDegerlemeDusen(trend.trend, Barsayisi-5);
    if (trend.YukariSarkmalar < 1 && trend.TemasSayisi > 0 && trend.sontemasbari < Barsayisi- 40 )
    { Dusentrendlistesi.Add(trend); SonRefarnsBarNo2 = kullanilacaktepeliste[i - 1]; tepereferanslar.Add(trend.sontemasbari);
    baslangicTepeBarReferans = i - 1; break; }
    if (i == 1 && Dusentrendlistesi.Count == 0) { baslangicTepeBarReferans = kullanilacaktepeliste.Count- sayacdusen; break; }
    if ( i == 1 ) { SonRefarnsBarNo2 = Barsayisi; break; }

    }
    }

    if (tepereferanslar.Count > 0) { DusenAratrendBaslangicBari = tepereferanslar.Last(); }
    else { DusenAratrendBaslangicBari = kullanilacaktepeliste.Last(); }
    //Sistem.YaziEkle("X", 1, DusenAratrendBaslangicBari, (Yuksekler[DusenAratrendBaslangicBari] + (Yuksekler[DusenAratrendBaslangicBari] / 800)), yesil, "Arial", 10);

    var dusentrendlersayisi = Dusentrendlistesi.Count;
    if (dusentrendlersayisi > 0) SistemCizgileriniCiz(Dusentrendlistesi[dusentrendlersayisi - 1].trend, 3, mavi, kalinlik: 2);
    if (dusentrendlersayisi > 1) { SistemCizgileriniCiz(Dusentrendlistesi[dusentrendlersayisi - 1].trend, 3, yesil, kalinlik: 2); SistemCizgileriniCiz(Dusentrendlistesi[dusentrendlersayisi - 2].trend, 4, mavi, kalinlik: 2); }



    }

    public void AraTerndleriCiz()
    {
    var mavi = Color.DarkBlue; var kirmizi = Color.Red; var yesil = Color.DarkGreen; var acikkirmizi = Color.IndianRed;
    var aradusenliste = new List<Trend>();
    var arayukselenliste = new List<Trend>();
    var dusentrend = new List<float>();
    var yukselentrend = new List<float>();

    var dusenler = new List<Trend>();
    var yukselenler = new List<Trend>();
    var dusenbitisbari = ListeTepelerArdisik.First();
    var yukselenbitisbari = ListeDiplerArdisik.First();
    var farkdusen = Math.Abs(dusenbitisbari - DusenAratrendBaslangicBari);
    var farkyukselen = Math.Abs(yukselenbitisbari - YukselenAratrendBaslangicBari);

    if (farkdusen > 20)
    {
    for (int i = 0; i < 5; i++)
    {
    for (int x = -2; x < 4; x++)
    {
    var trend = Sistem.OtoTrendDusen(Barsayisi - DusenAratrendBaslangicBari + i, Barsayisi - ListeTepelerArdisik.First() + x);
    var trendson = TrendDegerlemeDusen(trend, Barsayisi - ListeTepelerArdisik.First() + x);
    aradusenliste.Add(trendson);
    }
    }
    var aradusenlisteson = aradusenliste.OrderBy(e => e.TemasSayisi).ToList();
    dusentrend = aradusenlisteson.Last().trend;
    SistemCizgileriniCiz(dusentrend, 6, acikkirmizi, kalinlik: 1);


    }
    else if (farkdusen <= 20 && farkdusen > 10)
    {
    dusentrend = Sistem.OtoTrendDusen(Barsayisi - DusenAratrendBaslangicBari, Barsayisi - ListeTepelerArdisik.First());
    SistemCizgileriniCiz(dusentrend, 6, acikkirmizi, kalinlik: 1);
    }

    if (farkyukselen > 20)
    {
    for (int i = 0; i < 5; i++)
    {
    for (int x = -2; x < 4; x++)
    {
    var trend = Sistem.OtoTrendYukselen(Barsayisi - YukselenAratrendBaslangicBari + i, Barsayisi - ListeDiplerArdisik.First() + x);
    var trendson = TrendDegerlemeYukselen(trend, Barsayisi - ListeDiplerArdisik.First() + x);
    arayukselenliste.Add(trendson);
    }
    }
    var arayukselenlisteson = arayukselenliste.OrderBy(e => e.TemasSayisi).ToList();
    yukselentrend = arayukselenlisteson.Last().trend;
    SistemCizgileriniCiz(yukselentrend, 7, acikkirmizi, kalinlik: 1);


    }
    else if (farkdusen <= 20 && farkdusen > 10)
    {
    yukselentrend = Sistem.OtoTrendYukselen(Barsayisi - YukselenAratrendBaslangicBari, Barsayisi - ListeDiplerArdisik.First());
    SistemCizgileriniCiz(yukselentrend, 7, acikkirmizi, kalinlik: 1);
    }











    //List<float> arayukselentrend = Sistem.OtoTrendYukselen(Barsayisi-YukselenAratrendBaslangicBari,Barsayisi-ListeDiplerArdisik.First());
    //SistemCizgileriniCiz(arayukselentrend, 7, acikkirmizi, kalinlik: 1);

    }

    public void YataylariCiz()
    {
    var mavi = Color.DarkBlue; var kirmizi = Color.Red; var yesil = Color.DarkGreen; var acikkirmizi = Color.IndianRed;
    List<YatayTrend> direncler = new List<YatayTrend>();
    List<YatayTrend> destekler = new List<YatayTrend>();
    List<float> hhv = Sistem.HHV(30);
    List<float> llv = Sistem.LLV(30);

    float yuksek = (hhv.Last() <= (SonFiyat +kademeBuyuklugu*yataykademecarpani)) ? SonFiyat+kademeBuyuklugu*yataykademecarpani*25 : hhv.Last();
    float yukseksayac = yuksek;
    float yuksekpuansayac = 0f;
    float dusuk = (llv.Last() >= (SonFiyat - kademeBuyuklugu * yataykademecarpani)) ? SonFiyat - kademeBuyuklugu*yataykademecarpani*25 : llv.Last();
    float dusuksayac = dusuk;
    float dusukpuansayac = 0f;


    while (yukseksayac >= SonFiyat+kademeBuyuklugu*yataykademecarpani )
    {
    var direnc = new YatayTrend();
    var yatay = Sistem.Liste(yukseksayac);
    direnc = TrendYatayDegerleme(yatay);
    if (direnc.UyumPuan >= yuksekpuansayac) { direncler.Add(direnc); yuksekpuansayac = direnc.UyumPuan; }
    direncler.Add(direnc);
    yukseksayac = yukseksayac - kademeBuyuklugu;




    }

    var direnclerson= direncler.OrderBy(e => e.UyumPuan).ToList();
    if(direnclerson.Last().trend.Last()< SonFiyat + kademeBuyuklugu*yataykademecarpani && direnclerson.Count > 1)
    {
    SistemCizgileriniCiz(direnclerson.Last().trend, 10, acikkirmizi, kalinlik: 1, stil:3);
    SistemCizgileriniCiz(direnclerson[direnclerson.Count-2].trend, 11, acikkirmizi, kalinlik: 1, stil: 3);
    }
    else SistemCizgileriniCiz(direnclerson.Last().trend, 10, acikkirmizi, kalinlik: 1, stil: 3);
    while (dusuksayac <= SonFiyat-kademeBuyuklugu*yataykademecarpani)
    {
    var destek = new YatayTrend();
    var yatay = Sistem.Liste(dusuksayac);
    destek = TrendYatayDegerleme(yatay);
    if (destek.UyumPuan >= dusukpuansayac) { destekler.Add(destek); dusukpuansayac = destek.UyumPuan; }
    dusuksayac = dusuksayac + kademeBuyuklugu;




    }

    var desteklerson = destekler.OrderBy(e => e.UyumPuan).ToList();

    if (desteklerson.Last().trend.Last() > SonFiyat - kademeBuyuklugu * yataykademecarpani && desteklerson.Count > 1)

    {
    SistemCizgileriniCiz(desteklerson.Last().trend, 12, mavi, kalinlik: 1, stil: 3);
    SistemCizgileriniCiz(desteklerson[desteklerson.Count - 2].trend, 13, mavi, kalinlik: 1, stil: 3);
    }
    else SistemCizgileriniCiz(desteklerson.Last().trend, 12, mavi, kalinlik: 1, stil: 3);





    }


    /// <summary>
    /// iki bar arası trend olusturur, deger: High, Low, Open, Close
    /// </summary>
    /// <param name="ilkbar">baslangıc barı ilk tarihli</param>
    /// <param name="ikincibar">son bar yakin tarihli</param>
    /// <param name="deger"> High, Low, Open, Close</param>
    /// <returns></returns>
    public List<float> IkiBarArasiTrendOlustur(int ilkbar, int ikincibar, string deger = "High")
    {
    var verilerilkbar = Veriler[ilkbar].High;
    var verilerikincibar = Veriler[ikincibar].High;

    if (deger == "Low")
    {
    verilerilkbar = Veriler[ilkbar].Low;
    verilerikincibar = Veriler[ikincibar].Low;
    }
    else if (deger == "Open")
    {
    verilerilkbar = Veriler[ilkbar].Open;
    verilerikincibar = Veriler[ikincibar].Open;
    }
    else if (deger == "Close")
    {
    verilerilkbar = Veriler[ilkbar].Close;
    verilerikincibar = Veriler[ikincibar].Close;
    }

    var trend = Sistem.TrendCiz(Veriler[ilkbar].Date, verilerilkbar, Veriler[ikincibar].Date,
    verilerikincibar);

    return trend;
    }
    public Trend TrendDegerlemeDusen(List<float> trend, int sonbar)
    {
    var trendson = new Trend();
    trendson.trend = trend;
    int sontemasbari = 0;

    int baslangicbari = TrendBaslangicBari(trend);
    int trenduzerikapanissayisi = 0;
    int trenduzerisarkmasayisi = 0;
    int trenduzeriacilissayisi = 0;
    int trendtemassayisi = 0;
    int uzunluk = sonbar - baslangicbari;
    trendson.Uzunluk = uzunluk;

    if (sonbar > Barsayisi) sonbar = Barsayisi;
    for (int i = baslangicbari; i <= sonbar; i++)

    {

    var fark = trend[i] - this.Yuksekler[i];

    var MutlakFark = Math.Abs(fark);
    if (Acilislar[i] > trend[i] && MutlakFark >= kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani)
    {
    trenduzeriacilissayisi++;

    }
    if (Kapanislar[i] > trend[i] && MutlakFark >= kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani)
    {
    trenduzerikapanissayisi++;

    }
    if (Yuksekler[i] > trend[i] && MutlakFark >= kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani)
    {
    trenduzerisarkmasayisi++;
    }
    if ( MutlakFark < kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani)
    {
    trendtemassayisi++; sontemasbari = i;
    }
    if (fark==0)
    {
    trendtemassayisi++; sontemasbari = i;
    }


    }

    trendson.YukariSarkmalar = trenduzerisarkmasayisi;
    trendson.YukariKapanislar = trenduzerikapanissayisi;
    trendson.YukariAcilislar = trenduzeriacilissayisi;
    trendson.TemasSayisi = trendtemassayisi;
    trendson.BaslangicBari = baslangicbari;
    trendson.sontemasbari = sontemasbari;

    return trendson;
    }
    public Trend TrendDegerlemeYukselen(List<float> trend, int sonbar)
    {
    var trendson = new Trend();
    trendson.trend = trend;
    int sontemasbari = 0;

    int baslangicbari = TrendBaslangicBari(trend);
    int trendaltikapanissayisi = 0;
    int trendaltisarkmasayisi = 0;
    int trendaltiacilissayisi = 0;
    int trendtemassayisi = 0;
    int uzunluk = sonbar - baslangicbari;
    trendson.Uzunluk = uzunluk;


    if (sonbar > Barsayisi) sonbar = Barsayisi;
    for (int i = baslangicbari; i <= sonbar; i++)

    {

    var fark = this.Dusukler[i] - trend[i];

    var MutlakFark = Math.Abs(fark);


    if (Acilislar[i] < trend[i] && MutlakFark >= kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani)
    {
    trendaltiacilissayisi++;

    }
    if (Kapanislar[i] < trend[i] && MutlakFark >= kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani)
    {
    trendaltikapanissayisi++;

    }
    if (Dusukler[i] < trend[i] && MutlakFark >= kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani)
    {
    trendaltisarkmasayisi++;
    }
    if (MutlakFark < kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani)
    {
    trendtemassayisi++; sontemasbari = i;
    }
    if (fark == 0)
    {
    trendtemassayisi++; sontemasbari = i;


    }

    }


    trendson.AsagiSarkmalar = trendaltisarkmasayisi;
    trendson.AsagiKapanislar = trendaltikapanissayisi;
    trendson.AsagiAcilislar = trendaltiacilissayisi;
    trendson.TemasSayisi = trendtemassayisi;
    trendson.BaslangicBari = baslangicbari;
    trendson.sontemasbari = sontemasbari;

    return trendson;
    }

    public YatayTrend TrendYatayDegerleme(List<float> yataytrend)
    {
    var yatay = new YatayTrend();
    yatay.trend = yataytrend;


    int baslangicbari = Barsayisi-250;
    int tamtemassayisi = 0;
    int yaritemassayisi = 0;
    int ceyrektemassayisi = 0;
    float puan = 0f;




    for (int i = baslangicbari; i <= Barsayisi; i++)

    {

    var fark = this.Yuksekler[i] - yataytrend[i];

    var MutlakFark = Math.Abs(fark);

    var fark2 = this.Dusukler[i] - yataytrend[i];

    var MutlakFark2 = Math.Abs(fark2);



    if (MutlakFark < kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani * 3 && MutlakFark >= kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani * 2)
    {
    ceyrektemassayisi++;
    }
    if (MutlakFark < kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani*2 && MutlakFark >= kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani)
    {
    yaritemassayisi++;
    }
    if (MutlakFark < kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani)
    {
    tamtemassayisi++;
    }
    if (fark == 0)
    {
    tamtemassayisi++;


    }

    if (MutlakFark2 < kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani * 3 && MutlakFark2 >= kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani * 2)
    {
    ceyrektemassayisi++;
    }
    if (MutlakFark2 < kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani * 2 && MutlakFark2 >= kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani)
    {
    yaritemassayisi++;
    }
    if (MutlakFark2 < kademeBuyuklugu * TrendTemasCarpani * PeriyotCarpani)
    {
    tamtemassayisi++;
    }
    if (fark2 == 0)
    {
    tamtemassayisi++;


    }

    puan = (tamtemassayisi * 15 + yaritemassayisi * 4 + ceyrektemassayisi)/10;

    }
    yatay.TamTemasSayisi = tamtemassayisi;
    yatay.YariTemasSayisi = yaritemassayisi;
    yatay.CeyrekTemasSayisi = ceyrektemassayisi;
    yatay.UyumPuan = puan;

    return yatay;
    }
    public int TrendBaslangicBari(dynamic trend)
    {
    var uzunluk = 0;

    for (int x = 0; x < Barsayisi; x++)
    {
    if (trend[x] != 0)
    {
    break;
    }
    uzunluk++;

    }

    return uzunluk;
    }
    public List<int> DiplerGenelilkListeOlustur()
    {
    var genislik = Barsayisi - 10;
    var dipliste = new List<int>();
    var baslangic= Ortalamalar.FindIndex(x => x >0.25f);
    if (baslangic <=10) baslangic = 20;

    var sayac = 0;
    for (int x = baslangic; x < Barsayisi - 6; x++)
    {


    if (sayac > x) continue;

    if (Dusukler.GetRange(x - 3, 3).Min() > Dusukler[x] && Dusukler.GetRange(x + 1, 3).Min() >= Dusukler[x])
    {
    if (Dusukler.GetRange(x - 3, 6).Min() == Dusukler[x])
    {
    sayac = x;

    if (Dusukler[x + 2] == Dusukler[x] && Dusukler[x + 1] > Dusukler[x]) sayac = sayac + 2;

    while (Dusukler[sayac + 1] == Dusukler[sayac] )
    {
    sayac++;
    if (sayac + 1 > Barsayisi - 7) break;
    }
    if (sayac > Barsayisi - 6) break;
    if (!dipliste.Contains(sayac) && Dusukler[sayac + 1] > Dusukler[sayac] && Dusukler.GetRange(sayac + 1, 5).Min() >= Dusukler[sayac]) dipliste.Add(sayac);


    }

    }
    }

    dipliste.Reverse();
    return dipliste;
    }

    public List<int> TepelerGenelilkListeOlustur()
    {
    var genislik = Barsayisi - 10;
    var baslangic = Ortalamalar.FindIndex(x => x > 0.25);
    var tepeListe = new List<int>();
    if (baslangic <= 10) baslangic = 20;
    var sayac = 0;
    for (int x = baslangic; x < Barsayisi - 6; x++)
    {
    if (sayac > x) continue;

    if (Yuksekler.GetRange(x - 3, 3).Max() < Yuksekler[x] && Yuksekler.GetRange(x + 1, 3).Max() <= Yuksekler[x])
    {

    if (Yuksekler.GetRange(x - 3, 6).Max() == Yuksekler[x])
    {
    sayac = x;


    if (Yuksekler[x + 2] == Yuksekler[x] && Yuksekler[x + 1] < Yuksekler[x]) sayac = sayac + 2;
    if (Yuksekler[x + 3] == Yuksekler[x] && Yuksekler[x + 1] < Yuksekler[x] && Yuksekler[x + 2] < Yuksekler[x]) sayac = sayac + 3;
    if (Yuksekler[x + 4] == Yuksekler[x] && Yuksekler[x + 1] < Yuksekler[x] && Yuksekler[x + 2] < Yuksekler[x] && Yuksekler[x + 3] < Yuksekler[x]) sayac = sayac + 4;

    while (Yuksekler[sayac + 1] == Yuksekler[sayac])
    {
    sayac++;
    if (sayac + 1 > Barsayisi - 7) break;
    }
    if (sayac > Barsayisi - 6) break;
    if (!tepeListe.Contains(sayac) && Yuksekler[sayac + 1] < Yuksekler[sayac] && Yuksekler.GetRange(sayac + 1, 5).Max() <= Yuksekler[sayac]) tepeListe.Add(sayac);



    }

    }
    }



    tepeListe.Reverse();

    return tepeListe;

    }


    public List<int> ArdisikTepelerListesiOlustur(List<int> tepeler)
    {
    var liste = new List<int>();
    float deger = 0.0f;
    for (int i = 0; i < tepeler.Count; i++)
    {
    if (Yuksekler[tepeler[i]] > deger)
    {
    deger = Yuksekler[tepeler[i]];
    liste.Add(tepeler[i]);
    }
    }

    return liste;
    }
    public List<int> ArdisikTepelerListesiOlusturAnaliste()
    {
    var liste = new List<int>();
    float deger = 0.0f;

    for (int i = Barsayisi; i > MakulBaslangicBari; i--)
    {
    if (Yuksekler[i] > deger)
    {
    deger = Yuksekler[i];
    liste.Add(i);
    }
    }

    return liste;
    }
    public List<int> ArdisikDiplerListesiOlustur(List<int> dipler)
    {
    var liste = new List<int>();
    float deger = float.MaxValue;

    for (int i = 0; i < dipler.Count; i++)
    {
    if (Dusukler[dipler[i]] < deger)
    {
    deger = Dusukler[dipler[i]];
    liste.Add(dipler[i]);
    }
    }

    return liste;
    }
    public List<int> ArdisikDiplerListesiOlusturAnaliste()
    {
    var liste = new List<int>();
    float deger = float.MaxValue;

    for (int i = Barsayisi; i > MakulBaslangicBari; i--)
    {
    if (Dusukler[i] < deger)
    {
    deger = Dusukler[i];
    liste.Add(i);
    }
    }

    return liste;
    }
    public int enyakinindeksibul(List<int> liste,int barnumara)
    {
    int closest = liste.Aggregate((x, y) => Math.Abs(x - barnumara) < Math.Abs(y - barnumara) ? x : y);
    int indeks = liste.FindIndex(x => x == closest);
    return indeks;
    }

    public void MesajYazdir(dynamic mesaj)
    {
    Sistem.Mesaj(mesaj.ToString());
    }
    public void DebugYazdir(dynamic mesaj)
    {
    Sistem.Debug(mesaj.ToString());
    }
    public void SistemCizgileriniCiz(List<float> trend, int cizgino, Color renk, string aciklama = "bos", bool cizilsinmi = true, int kalinlik = 1, int stil=1)
    {
    Sistem.Cizgiler[cizgino].Deger = trend;
    Sistem.Cizgiler[cizgino].Aciklama = aciklama;
    Sistem.Cizgiler[cizgino].ActiveBool = cizilsinmi;
    Sistem.Cizgiler[cizgino].Kalinlik = kalinlik;
    Sistem.Cizgiler[cizgino].Renk = renk;
    Sistem.Cizgiler[cizgino].Stil = stil; //1üz, 2:Nokta, 3:Kesik, 4:Yassı
    }
    }

    public class Trend
    {
    public int TemasSayisi { get; set; }
    public int YukariSarkmalar { get; set; }
    public int YukariKapanislar { get; set; }
    public int AsagiSarkmalar { get; set; }
    public int AsagiKapanislar { get; set; }
    public int YukariAcilislar { get; set; }
    public int AsagiAcilislar { get; set; }
    public float UyumPuan { get; set; }
    public List<float> trend { get; set; }
    public int BaslangicBari { get; set; }
    public int SonBar { get; set; }
    public float Egim { get; set; }
    public int Uzunluk { get; set; }
    public float Aci { get; set; }
    public int sontemasbari { get; set; }


    }
    public class YatayTrend
    {
    public int TamTemasSayisi { get; set; }
    public int YariTemasSayisi { get; set; }
    public int CeyrekTemasSayisi { get; set; }
    public float UyumPuan { get; set; }
    public List<float> trend { get; set; }


    }

    // © copyright Hisseanaliz.net 2018
    //
    //Bu yazılım kodu ücretsiz olup teknik analiz öğrenmek isteyenlere
    //fayalı olacağı düşüncesi ile paylaşılmıştır. kişisel eğitim ve kullanım için hazırlanmış olup
    //düzenlemek ve paylaşımını yapmak serbesttir.
    //Tüm hakları Hisseanaliz.net'e ait oldup izinsiz ticari maksatlı kullanılamaz.
    //Kodun amacı konusunda herhangi bir telkinde veya garantide bulunulmamaktadır.
    // Kod aracılığı ile yada koddan faydalanarak finansal piyasalarda işlem yapmak
    //isteyenlere garanti sunulmamaktadır.Tüm risk işlem yapanlara aittir.



    }

  7. #3031
    Bunu .net den dll a gömüyorsunuz sonra ideal içinde (isim vererek xx)
    Sisteme girip isim verip aşağı bunu yazıp kaydedin. ister indikatör ister sistem olarak çaığırın
    User.xx(Sistem);


    tabi beni aşar


     Alıntı Originally Posted by Klozon Yazıyı Oku
    Arkadaşlar merhaba, aşağıdaki kodu nasıl çalıştırıyoruz. yardımcı olabilecek var mı?

  8. #3032
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    53
    Gönderi
    4,629
     Alıntı Originally Posted by Payrıt Yazıyı Oku
    Sayın Bear_Bull,

    Bir ufak yardım daha rica edeceğim,
    Kodu ekledim ancak ref() fonksiyonu sorgu özelliğinin alt kodunu mu bozuyor acaba, idealin sitesinde sorgu kodu örneklerinde SonRSI şeklinde bir kod konmuş, bu bir önceki günkü rsi ı referans almayı sağlıyor mu? Sorgu koduna ref i eklediğim anda kodda hata vermese de sorgu komple boş dönmeye başlıyor.

    var RSI = Sistem.RSI(14);
    var SonRSI = RSI[Sistem.BarSayisi-1];

    Yardımlarınız için teşekkürler
    şöyle birşey yazdım
    kalanını ilave edersiniz.


    PHP Code:
    string Sembol Sistem.Sembol;

    string Periyot Sistem.Periyot;
    var 
    Sistem.GrafikVerileri;
    var 
    Sistem.GrafikFiyatSec("Kapanis");
    var 
    Sistem.GrafikFiyatSec("Yuksek");
    var 
    Sistem.GrafikFiyatSec("Dusuk");

    var 
    RSI Sistem.RSI(15);
    var 
    dunRSI Sistem.Ref(RSI,-1);


    Sistem.SorguBaslik[0] = "Kapanis";
    Sistem.SorguBaslik[1] = "RSI";
    Sistem.SorguBaslik[2] = "RSI_DUN";
    Sistem.SorguBaslik[3] = "D_B_RSI_Farkı";



    Sistem.SorguOndalik[0] = 2;
    Sistem.SorguOndalik[1] = 2;
    Sistem.SorguOndalik[2] = 2;
    Sistem.SorguOndalik[3] = 2;


    Sistem.SorguDeger[0] = C[Sistem.BarSayisi-1];
    Sistem.SorguDeger[1] = RSI[Sistem.BarSayisi-1];
    Sistem.SorguDeger[2] =  dunRSI[Sistem.BarSayisi-1];
    Sistem.SorguDeger[3] = RSI[Sistem.BarSayisi-1]-dunRSI[Sistem.BarSayisi-1];

    Sistem.SorguEkle(); 
    Bear_Bull
    @BearBull26

Sayfa 379/593 İlkİlk ... 279329369377378379380381389429479 ... 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
  •