Sayfa 150/594 İlkİlk ... 50100140148149150151152160200250 ... SonSon
Arama sonucu : 4746 madde; 1,193 - 1,200 arası.

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

  1. Program dilim sizin kadar iyi değil ama dediğiniz gibi yaptım ancak hata alıyorum muhtemelen benden kaynaklanıyor ama problemi tespit edemedim

  2.  Alıntı Originally Posted by cashhflow Yazıyı Oku
    Program dilim sizin kadar iyi değil ama dediğiniz gibi yaptım ancak hata alıyorum muhtemelen benden kaynaklanıyor ama problemi tespit edemedim
    Lib.cs dosyasını gönderebilirseniz bakalım problem neymiş.


    Sent from my SM-N910C using Tapatalk

  3. Merhaba arkadaşlar. 5 dakikalık grafiğe kod kullanarak 09:55 ve 13:55 barlarını nasıl ekleyebilirim? Bu barların değerlerini 10:00 ve 14:00 barlarının open değerinden alacağım ve open high low close değerleri aynı olacak.

  4.  Alıntı Originally Posted by belamim Yazıyı Oku
    Merhaba arkadaşlar. 5 dakikalık grafiğe kod kullanarak 09:55 ve 13:55 barlarını nasıl ekleyebilirim? Bu barların değerlerini 10:00 ve 14:00 barlarının open değerinden alacağım ve open high low close değerleri aynı olacak.

  5.  Alıntı Originally Posted by Andromeda Yazıyı Oku

  6.  Alıntı Originally Posted by Andromeda Yazıyı Oku
    Dosyaya Veri Yazdır.
    Dosya açılır.
    İstediğin veriyi ekle.
    Yine bu menuden Dosyadan Veri Yükle yap

  7. Selamlar.
    Gaplı açılış yapan hisseleri o an alarm şeklinde büyüklük derecesi ve hacmine göre liste halinde görebilme şansım var mı? Yani sorgu yaparken aşırı alım, aşırı satım diye sorgu yapıyoruz ya bana 9:55 ile 10:30 arası bir liste lazım. Yardımcı olabilecek var ise çok sevinirim.

  8.  Alıntı Originally Posted by Orhan AKDOĞAN Yazıyı Oku
    Merhaba, geçmişte forumda paylaşılan csharp hesaplaması da bu şekilde.


    public List<float> CCI(int Periyot, List<float> Kapanis, List<float> Yuksek, List<float> Dusuk)
    {
    var liste = new List<float>(new float[Kapanis.Count]);
    try
    {
    if (Kapanis.Count > Periyot)
    {
    List<float> tipikfiyat = new List<float>(new float[Kapanis.Count]);
    for (int i = 0; i < Kapanis.Count; i++)
    tipikfiyat[i] = (Kapanis[i] + Yuksek[i] + Dusuk[i]) / 3f;
    List<float> orttipikfiyat = new List<float>(MA(Periyot, tipikfiyat));
    var ortsapma = new List<float>(new float[Kapanis.Count]);
    for (int i = 0; i < Kapanis.Count; i++)
    {
    if (i >= Periyot)
    {
    float sapma = 0f;
    for (int j = i - Periyot + 1; j <= i; j++)
    sapma += Math.Abs(orttipikfiyat[i] - tipikfiyat[j]);
    ortsapma[i] = sapma / Periyot;
    liste[i] = (tipikfiyat[i] - orttipikfiyat[i]) / (0.015f * ortsapma[i]);
    }
    }
    }
    return liste;
    }
    catch { return liste; }
    }


    Bunlarda Lib.cs içinden çağrılabilen diğerleri:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    namespace ideal
    {
    public class Lib
    {
    public List<float> EnYuksek(List<float> Yuksek)
    {
    var liste = new List<float>(new float[Yuksek.Count]);
    try
    {
    if (Yuksek.Count > 0)
    {
    liste[0] = Yuksek[0];
    for (int i = 1; i < Yuksek.Count; i++)
    {
    if (Yuksek[i] > liste[i - 1]) liste[i] = Yuksek[i]; else liste[i] = liste[i - 1];
    }
    }
    return liste;
    }
    catch { return liste; }
    }
    public List<float> EnDusuk(List<float> Dusuk)
    {
    var liste = new List<float>(new float[Dusuk.Count]);
    try
    {
    if (Dusuk.Count > 0)
    {
    liste[0] = Dusuk[0];
    for (int i = 1; i < Dusuk.Count; i++)
    {
    if (Dusuk[i] < liste[i - 1]) liste[i] = Dusuk[i]; else liste[i] = liste[i - 1];
    }
    }
    return liste;
    }
    catch { return liste; }
    }
    public List<float> XBarEnYuksek(int Periyot, List<float> Yuksek)
    {
    var liste = new List<float>(new float[Yuksek.Count]);
    try
    {
    if (Yuksek.Count > Periyot)
    {
    liste[0] = Yuksek[0];
    for (int i = 1; i < Yuksek.Count; i++)
    {
    float maks = Yuksek[i];
    if (i > Periyot)
    {
    for (int j = i - Periyot + 1; j < i; j++)
    if (Yuksek[j] > maks) maks = Yuksek[j];
    }
    else if (i > 0)
    {
    for (int j = 0; j <= i; j++)
    if (Yuksek[j] > maks) maks = Yuksek[j];
    }
    liste[i] = maks;
    }
    }
    return liste;
    }
    catch { return liste; }
    }
    public List<float> XBarEnDusuk(int Periyot, List<float> Dusuk)
    {
    var liste = new List<float>(new float[Dusuk.Count]);
    try
    {
    if (Dusuk.Count > Periyot)
    {
    liste[0] = Dusuk[0];
    for (int i = 1; i < Dusuk.Count; i++)
    {
    float min = Dusuk[i];
    if (i > Periyot)
    {
    for (int j = i - Periyot + 1; j < i; j++)
    if (Dusuk[j] < min) min = Dusuk[j];
    }
    else if (i > 0)
    {
    for (int j = 0; j <= i; j++)
    if (Dusuk[j] < min) min = Dusuk[j];
    }
    liste[i] = min;
    }
    }
    return liste;
    }
    catch { return liste; }
    }
    public List<float> MA(int Periyot, List<float> Kapanis)
    {
    var liste = new List<float>(new float[Kapanis.Count]);
    try
    {
    if (Kapanis.Count > Periyot)
    {
    liste[0] = Kapanis[0];
    for (int i = 1; i < Kapanis.Count; i++)
    {
    if (i > Periyot)
    {
    liste[i] = Kapanis.Skip(i - Periyot + 1).Take(Periyot).Average();
    }
    else if (i > 0)
    {
    liste[i] = Kapanis.Take(i + 1).Average();
    }
    }
    }
    return liste;
    }
    catch { return liste; }
    }
    public List<float> EMA(int Periyot, List<float> Kapanis)
    {
    var liste = new List<float>(new float[Kapanis.Count]);
    try
    {
    if (Kapanis.Count > Periyot)
    {
    liste[0] = Kapanis[0];
    float carpan = 2f / (Periyot + 1f);
    for (int i = 1; i < Kapanis.Count; i++)
    {
    if (i >= Periyot)
    liste[i] = liste[i - 1] + carpan * (Kapanis[i] - liste[i - 1]);
    else if (i > 0)
    for (int j = 1; j <= i; j++)
    liste[i] = liste[j - 1] + carpan * (Kapanis[j] - liste[j - 1]);
    }
    }
    return liste;
    }
    catch { return liste; }
    }
    public List<float> DEMA(int Periyot, List<float> Kapanis)
    {
    var liste = new List<float>(new float[Kapanis.Count]);
    try
    {
    if (Kapanis.Count > Periyot)
    {
    List<float> ema = new List<float>(EMA(Periyot, Kapanis));
    List<float> ema2 = new List<float>(EMA(Periyot, ema));
    liste[0] = Kapanis[0];
    for (int i = 1; i < Kapanis.Count; i++)
    liste[i] = 2f * ema[i] - ema2[i];
    }
    return liste;
    }
    catch { return liste; }
    }
    public List<float> TEMA(int Periyot, List<float> Kapanis)
    {
    var liste = new List<float>(new float[Kapanis.Count]);
    try
    {
    if (Kapanis.Count > Periyot)
    {
    List<float> ema = new List<float>(EMA(Periyot, Kapanis));
    List<float> ema2 = new List<float>(EMA(Periyot, ema));
    List<float> ema3 = new List<float>(EMA(Periyot, ema2));
    liste[0] = Kapanis[0];
    for (int i = 1; i < Kapanis.Count; i++)
    liste[i] = (3f * ema[i] - 3f * ema2[i]) + ema3[i];
    }
    return liste;
    }
    catch { return liste; }
    }
    public List<float> RSI(int Periyot, List<float> Kapanis)
    {
    var liste = new List<float>(new float[Kapanis.Count]);
    try
    {
    if (Kapanis.Count > Periyot)
    {
    var kazanclar = new List<float>(new float[Kapanis.Count]);
    var kayiplar = new List<float>(new float[Kapanis.Count]);
    var ortkazanclar = new List<float>(new float[Kapanis.Count]);
    var ortkayiplar = new List<float>(new float[Kapanis.Count]);
    var RS = new List<float>(new float[Kapanis.Count]);
    for (int i = 1; i < Kapanis.Count; i++)
    {
    float fark = Kapanis[i] - Kapanis[i - 1];
    if (fark >= 0) kazanclar[i] = fark; else kayiplar[i] = Math.Abs(fark);
    if (i == Periyot)
    {
    ortkazanclar[i] = kazanclar.Take(Periyot).Average();
    ortkayiplar[i] = kayiplar.Take(Periyot).Average();
    }
    else if (i > Periyot)
    {
    ortkazanclar[i] = ((ortkazanclar[i - 1] * (Periyot - 1)) + kazanclar[i]) / Periyot;
    ortkayiplar[i] = ((ortkayiplar[i - 1] * (Periyot - 1)) + kayiplar[i]) / Periyot;
    }
    RS[i] = ortkazanclar[i] / ortkayiplar[i];
    if (float.IsNaN(RS[i])) RS[i] = 0;
    if (RS[i] == 0) liste[i] = 0f; else liste[i] = 100f - (100f / (1f + RS[i]));
    }
    }
    return liste;
    }
    catch { return liste; }
    }
    public List<float> CCI(int Periyot, List<float> Kapanis, List<float> Yuksek, List<float> Dusuk)
    {
    var liste = new List<float>(new float[Kapanis.Count]);
    try
    {
    if (Kapanis.Count > Periyot)
    {
    List<float> tipikfiyat = new List<float>(new float[Kapanis.Count]);
    for (int i = 0; i < Kapanis.Count; i++)
    tipikfiyat[i] = (Kapanis[i] + Yuksek[i] + Dusuk[i]) / 3f;
    List<float> orttipikfiyat = new List<float>(MA(Periyot, tipikfiyat));
    var ortsapma = new List<float>(new float[Kapanis.Count]);
    for (int i = 0; i < Kapanis.Count; i++)
    {
    if (i >= Periyot)
    {
    float sapma = 0f;
    for (int j = i - Periyot + 1; j <= i; j++)
    sapma += Math.Abs(orttipikfiyat[i] - tipikfiyat[j]);
    ortsapma[i] = sapma / Periyot;
    liste[i] = (tipikfiyat[i] - orttipikfiyat[i]) / (0.015f * ortsapma[i]);
    }
    }
    }
    return liste;
    }
    catch { return liste; }
    }
    public MACDCiz MACD(int KisaP, int UzunP, int SinyalP, List<float> Kapanis)
    {
    MACDCiz liste = new MACDCiz();
    liste.MacdCiz = new List<float>(new float[Kapanis.Count]);
    liste.SinyalCiz = new List<float>(new float[Kapanis.Count]);
    liste.HistCiz = new List<float>(new float[Kapanis.Count]);
    try
    {
    if (Kapanis.Count > UzunP)
    {
    var kisaema = EMA(KisaP, Kapanis);
    var uzunema = EMA(UzunP, Kapanis);
    for (int i = 0; i < Kapanis.Count; i++)
    liste.MacdCiz[i] = kisaema[i] - uzunema[i];
    liste.SinyalCiz = EMA(SinyalP, liste.MacdCiz);
    for (int i = 0; i < Kapanis.Count; i++)
    liste.HistCiz[i] = liste.MacdCiz[i] - liste.SinyalCiz[i];
    }
    return liste;
    }
    catch { return liste; }
    }
    public struct MACDCiz
    {
    public List<float> MacdCiz { get; set; }
    public List<float> SinyalCiz { get; set; }
    public List<float> HistCiz { get; set; }
    }
    public List<float> MOM(int Periyot, List<float> Kapanis)
    {
    var liste = new List<float>(new float[Kapanis.Count]);
    try
    {
    if (Kapanis.Count > Periyot)
    {
    for (int i = 0; i < Kapanis.Count; i++)
    if (i > Periyot)
    liste[i] = 100f + ((Kapanis[i] - Kapanis[i - Periyot]) / Kapanis[i - Periyot]) * 100f;
    }
    return liste;
    }
    catch { return liste; }
    }
    public STOCiz STO(int PeriyotK, int PeriyotD, List<float> Kapanis, List<float> Yuksek, List<float> Dusuk)
    {
    STOCiz liste = new STOCiz();
    liste.KCiz = new List<float>(new float[Kapanis.Count]);
    liste.DCiz = new List<float>(new float[Kapanis.Count]);
    try
    {
    if (Kapanis.Count > PeriyotK)
    {
    var Kendusuk = XBarEnDusuk(PeriyotK, Dusuk);
    var Kenyuksek = XBarEnYuksek(PeriyotK, Yuksek);
    for (int i = 0; i < Kapanis.Count; i++)
    if (i > PeriyotK)
    liste.KCiz[i] = ((Kapanis[i] - Kendusuk[i]) / (Kenyuksek[i] - Kendusuk[i])) * 100f; //fast stoK **sabit
    liste.DCiz = EMA(PeriyotD, liste.KCiz); //fast stoD
    //liste.KCiz = EMA(PeriyotD, liste.KCiz); //slow stoK
    //liste.DCiz = MA(PeriyotD, liste.KCiz); //slow stoD
    }
    return liste;
    }
    catch { return liste; }
    }
    public struct STOCiz
    {
    public List<float> KCiz { get; set; }
    public List<float> DCiz { get; set; }
    }
    }
    }

    Sayın Akdoğan,

    Bu kodun tam olarak nasıl kullanıldığını tarif edebilir misiniz.Ben beceremedim.

Sayfa 150/594 İlkİlk ... 50100140148149150151152160200250 ... 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
  •