Sayfa 37/595 İlkİlk ... 2735363738394787137537 ... SonSon
Arama sonucu : 4754 madde; 289 - 296 arası.

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

  1. Aşağıdaki sistemle ilgili, ortalamanın kesişiminden çıkan alış ve satış sinyalini bir bar onceden nasıl verdirebilirim?


    // kapanış fiyatlarını oku
    var C = Sistem.GrafikFiyatSec("Kapanis");
    var H = Sistem.GrafikFiyatSec("Yuksek");
    var L = Sistem.GrafikFiyatSec("Dusuk");

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


    // strateji
    var SonYon = "";
    double Fiyat = 0;
    var IslemBarNo = 0;
    for (int i = 1; i < Sistem.BarSayisi; i++)
    {
    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];
    IslemBarNo = 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];
    IslemBarNo = i;
    }
    else if (SonYon == "S") // satış pozisyonundayken FLAT

    {
    var LimitBarNo = 0;
    var Seviye = 0.0;
    for (int k = IslemBarNo; k < i; k++)
    {
    if (Fiyat - L[k] > 5)
    {
    if (Seviye == 0 || Seviye > L[k])
    {
    LimitBarNo = k;
    Seviye = L[k];
    }
    }
    }
    if (LimitBarNo > 0)
    {
    if (C[i] - Seviye > 3)
    {
    Sistem.Yon[i] = "F"; // flat
    SonYon = Sistem.Yon[i];
    }
    }
    }
    else if (SonYon == "A") // alış pozisyonundayken FLAT
    {
    var LimitBarNo = 0;
    var Seviye = 0.0;
    for (int k = IslemBarNo; k < i; k++)
    {
    if (H[k] - Fiyat > 5)
    {
    if (Seviye == 0 || Seviye < H[k])
    {
    LimitBarNo = k;
    Seviye = H[k];
    }
    }
    }
    if (LimitBarNo > 0)
    {


    if (Seviye - C[i] > 3)
    {
    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. #290
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    53
    Gönderi
    4,635
     Alıntı Originally Posted by burrn Yazıyı Oku
    Aşağıdaki sistemle ilgili, ortalamanın kesişiminden çıkan alış ve satış sinyalini bir bar onceden nasıl verdirebilirim?

    // hareketli ortalamaları hesapla
    var MA1 = Sistem.MA(C, "Exp", 48);
    var MA2 = Sistem.MA(C, "Exp", 98);
    olarak veya 49-99olarak deneyin
    sistem içinden yapılamaz.

  3. Teşekkür ederim sayın @Bear_Bull

    peki Sistem.Yon[i-1] = "A"; // alış

    yapsam tamamiyle hatalı olur değil mi?

    Birde şöyle bir şey okumuştum ama, [IMG][/IMG]

    buda işimi görmez değil mi?

  4. #292
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    53
    Gönderi
    4,635
    yazınızda for döngüsü için resimde açıklaması yazılmış orası işinize yaramaz.

    5000 bar varsa toplamda.

    oraya 4500 dersiniz sistem son 500 bar için sinyal arar çok eski datalar ile uğraşmaz.

    if (MA1[i-1] < MA2[i-1] && MA1[i] >= MA2[i] && SonYon != "A") // AL

    bu yukarıdakini ise aşağıdaki gibi değiştirirseniz 1 bar geriye değil üstüne 1 bar daha sinyali geciktirmiş olursunuz.
    MA1[i-2] < MA2[i-2] && MA1[i] >= MA2[i]

  5.  Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    yazınızda for döngüsü için resimde açıklaması yazılmış orası işinize yaramaz.

    5000 bar varsa toplamda.

    oraya 4500 dersiniz sistem son 500 bar için sinyal arar çok eski datalar ile uğraşmaz.

    if (MA1[i-1] < MA2[i-1] && MA1[i] >= MA2[i] && SonYon != "A") // AL

    bu yukarıdakini ise aşağıdaki gibi değiştirirseniz 1 bar geriye değil üstüne 1 bar daha sinyali geciktirmiş olursunuz.
    MA1[i-2] < MA2[i-2] && MA1[i] >= MA2[i]
    evet ben sinyali erkene almak istediğimden imkansızı istemiş oluyorum ozaman.

    çok uzuldum


    şunları denedim belki yaparım diye yine olmadı...

    // parametreleri al
    var Yontem = Sistem.Parametreler[0];
    var Periyot1 = Sistem.Parametreler[1];
    var Periyot2 = Sistem.Parametreler[2];


    // kapanış fiyatlarını oku
    var Veriler = Sistem.GrafikFiyatSec("Kapanis");
    var Prev1 = Sistem.OncekiKapanisGun("MA1");
    var Prev2 = Sistem.OncekiKapanisGun("MA2");

    // hareketli ortalamaları hesapla
    var MA1 = Sistem.MA(Veriler, Yontem, Periyot1);
    var MA2 = Sistem.MA(Veriler, Yontem, Periyot2);


    // hesaplanan verileri çizgilere aktar ve açıklama ekle
    Sistem.Cizgiler[0].Deger = MA1;
    Sistem.Cizgiler[0].Aciklama = "MA " + Periyot1;
    Sistem.Cizgiler[1].Deger = MA2;
    Sistem.Cizgiler[1].Aciklama = "MA " + Periyot2;

    // strateji
    for (int i = 2; i<Sistem.BarSayisi; i++)

    {
    Prev1 = MA1[i-1];
    Prev2 = MA2[i-1];


    if (MA1[i-1] < MA2[i-1] && MA1[i] > MA2[i])
    Sistem.Yon[i] = "A"; // alış

    if (MA1[i-1] > MA2[i-1] && MA1[i] < MA2[i]) // 1.ortalama 2.ortalamanın altına inerse
    Sistem.Yon[i] = "F"; // satış
    }


    oysaki sinyali bir bar one ceksem çok harika olacaktı ya

  6. #294
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    53
    Gönderi
    4,635
     Alıntı Originally Posted by burrn Yazıyı Oku
    evet ben sinyali erkene almak istediğimden imkansızı istemiş oluyorum ozaman.

    çok uzuldum
    oysaki sinyali bir bar one ceksem çok harika olacaktı ya
    o zaman çözüm ilk cevabımda yazılıydı.
    48-98
    49-99 gibi kullanmanız 1 bar öncesine denk getirecektir.
    kolay gelsin.

  7.  Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    o zaman çözüm ilk cevabımda yazılıydı.
    48-98
    49-99 gibi kullanmanız 1 bar öncesine denk getirecektir.
    kolay gelsin.
    çok sağolun sayın Bear_Bull
    İyi akşamlar

  8. İDEAL veri terminalinde /Sistem/İndikatör/Robot

    Sayin @Bear_Bull
    MA5 ve MA22 kesisimli olan bir sistemde,
    5-22 kesisiminde al veren ve sati sadece hisse senedi degeri MA22 yi asagi kesince sat veren bir sistem yapilabilir mi?

    Satis kismina
    If (sonfiyat[i-1]>MA2 )

    Seklinde mi olur?




    hisse.net kullanarak iPhone aracılığıyla gönderildi

Sayfa 37/595 İlkİlk ... 2735363738394787137537 ... 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
  •