Sayfa 3/5 İlkİlk 12345 SonSon
Arama sonucu : 34 madde; 17 - 24 arası.

Konu: Ideal Formül Yazımında Karşılaşılan Hatalar ve Çözümleri

  1. #17

    Esas

     Alıntı Originally Posted by Tiberius Yazıyı Oku
    liste sayı olarak kullanılmış.
    aşağıdaki gibi bir yazım çözüm olabilir.

    for ...
    {
    int per = (int)d7[i];
    a1[i] = VeriMA2[i] -VeriMA1[i - per];
    }
    Tiberius Usta,
    İstediğim gibi oldu, teşekkür ederim. (çevirmelerden birini daha öğrendim
    Saygılarımla,

  2. #18

    Esas

     Alıntı Originally Posted by Sezai KILIÇ Yazıyı Oku
    Bunlar için var olan (opt kodunda da yazılmış olmak durumunda olan) sistemleri/stratejileri Sistem Kıyasla penceresinde görmek istediğinizi sunuyor zaten?

     Alıntı Originally Posted by erhanacikgoz1 Yazıyı Oku
    SOnra dedın kı hangisi yüksek getiri cıkartacak test et dedin.

    Bunun optımızasyonla alakası ne grafiğe koydugunda zaten hangisinin yüksek getiri cıkarttıgını göreceksin.

    bir kere bu 3 indikatorunde tek basına hangi parametresinin yüksek kar ettiğini optimize ettirmen lazım.

    onda sonra 3 indikator içinde en yüksek cıkanlardan hangisi daha da yüksek kar ettirmiş ona bakarsın zaten.
    Öncelikle geç yazabildim sebebini yazayım arkadaşın biri benim hesabıma girmeye çalışmış hem dün gece hem de bu mesajı yazarken giriş yapmaya çalıştığımda 15 dakika beklemem gerektiği mesajı ile karşılaştım

    burada 6 tane ihtimal yazınca elle deneyebilirsiniz
    ben ne yapmak istediğimi anlatırken fazla yazmamak için
    kısa yoldan anlatabilmek için böyle 6 tane yazdım

    aşağıdaki gibi al ve sat şartı için daha önceden periyodunu ve
    şartlarını belirlediğim (örnekte RSI 50 den küçükse AL işlemlerini görmeyecek)
    2 şer tane toplamda 4 tane filtre kullanılacak al şartı için kullanılacak filtreler
    örnek veriyorum 20 tane filtrenin içinden seçilecek al için 20*20 den 400 farklı ihtimal var
    sat içinde ayrı bi 20 lik listeden seçilecek oradan da 400 faklı ihtimal var

    hangi filtrenin daha az işlem sayısı ve maxdd
    vereceğini görmek için optimize etmek istiyorum

    böyle bi senaryoda elle teker teker işlem yapmak zor olacak çünkü
    kabaca yanlış hesaplamadıysam 400*400 den 160 bin ihtimal var


    //strateji
    for (int i = 1; i < C.Count; i++)
    Sistem.Yon[i] = "";
    var SonYon = "";

    for (int i = 1; i<C.Count; i++)
    {

    var FILTREa = RSI[i] > 50 ;
    var FILTREb = RSI[i] < 50;
    var FILTREc = ......... ;
    var FILTREd = ......... ;
    ..........
    ..........
    ..........
    böyle 20 tane filtre denemek istiyorum

    if ( SonYon != "A" && (Sistemin al şartı burası daha önceden sisteme yazılmış olacak )&& FİLTRE1 && FİLTRE2) // AL
    {
    Sistem.Yon[i] = "A"; // alış
    SonYon = Sistem.Yon[i];
    }

    else if ( SonYon != "S" && (Sistemin sat şartı burası daha önceden sisteme yazılmış olacak ) && FİLTRE3 && FİLTRE4) // SAT
    {
    Sistem.Yon[i] = "S"; // alış
    SonYon = Sistem.Yon[i];
    }
    }

  3. #19

    Esas

    volkan ben pes ettim dediğini nasıl yapılır bılmıyom..

  4. #20

    Esas

     Alıntı Originally Posted by erhanacikgoz1 Yazıyı Oku
    volkan ben pes ettim dediğini nasıl yapılır bılmıyom..
    eyvallah abi yapmaya çalıştığım mantıklı ama değil mi

  5. #21

    Esas

     Alıntı Originally Posted by volkan... Yazıyı Oku
    eyvallah abi yapmaya çalıştığım mantıklı ama değil mi
    aslında tek tek yine yazılır da

    sen hepsını bırarada degıstırerek gıtsın ıstıyorsun.

    Mantıklı canım sıkıntı yok!!!

  6. #22

    Esas

    yenilere lazım!!!!

     Alıntı Originally Posted by poga Yazıyı Oku
    Arkadaşlar slm, strateji kısmındaki koyu renkli kısımları [i-1] veya [i-2] yaptığımızda ne anlama geliyor?

    Örn; [i-1] yapınca repaint yapma ihtimali artar mı, azalır mı?

    // strateji
    var SonYon = "";
    for (int i = 1; i < V.Count; i++)
    {
    if ( MA1[i] > MA2[i] && SonYon != "A" ) //
    {



    Şunun Türkçesi tam olarak nedir acaba?


    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];
    }
    else if (MA1[i-1] > MA2[i-1] && MA1[i] <= MA2[i] && SonYon != "S") // SAT
    {
     Alıntı Originally Posted by Baroma Yazıyı Oku
    i-1 bir önceki bar,
    i-2 iki önceki bar,
    i ise anlik bar demek oluyor.

    Repainti "i" kullanırsanız yapar. Çünkü borsa açıkken her değişen fiyatın kapanışı olduğu için for döngüsündeki i'ye sürekli değişen kapanış yazılır. Bu nedenle repaint yapar. Fakat i-1 ve ya i-2 derseniz kapanmış bar üzerinden işlem yapacağı için repaint yapmayacaktır.
    Yani MA1[i] > MA2[i] satırında anlık olarak değişen fiyatları kullanan hareketli ortalama hesapladığı için repaint yapacaktır.

    Alttaki koda gelince :

    Eğer MA1'in bir önceki değeri MA2'nin bir önceki değerinden küçük ama anlik olarak MA1'in değeri MA2'nin üzerine çıkmışsa ve SonYon değişkeni "A" değil ise
    {
    Sistemin yönünü "A" yap.
    SonYon değişkeni de Sistemin Yönüne eşit olsun (Yani "A")
    Fiyat değişkeni de alım yapıldığı andaki kapanışa eşit olsun.
    }

  7. #23

    Esas





    Arkadaşlar bu nedir? Robotun pozisyon kontrol sekmesinden pozisyon ekleye girip, elimde olan lot sayısını yazıyorum düzeltiyor sonra sanal veya gerçek moda alınca sapıtıyor, arka arkaya seri işlemler açıyor ilkinde gerçeğe almıştım, Allahtan piyasa kapalıydı şimdi göstermek için sanal modda yaptım, daha başlar başlamaz yüzlerce işlem açıyor

    Pozisyonu nasıl düzeltcem?

  8. #24

    Esas

    Tamam buldum, yazdıgım koddan alakalıymış, teşekkürler

Sayfa 3/5 İlkİlk 12345 SonSon

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
  •