Artan

267,50 9.99 10:53
13,83 9.94 10:53
15,86 9.91 09:55
92,80 9.18 09:55
500,00 9.17 09:55
Artan Hisseler

Azalan

45,36 -10 10:53
47,70 -10 10:52
283,50 -10 10:54
43,74 -10 10:54
79,40 -9.98 10:54
Azalan Hisseler

İşlem

5.798.987.479,16 10:54
3.275.206.425,80 10:54
3.019.570.668,10 10:54
2.349.363.256,50 10:54
1.678.954.536,50 10:54
Tüm Hisseler
Arama sonucu : 4977 madde; 1 - 8 arası.

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

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1.  Alıntı Originally Posted by Caglar Yazıyı Oku
    Anında işlem yapmanın bazır zorlukları var. Daha önce anlık işlem yapmamış arkadaşlar genelde koşul gerçekleştikten sonra her şeyin istedikeri gibi gideceğini düşünüyor.

    Senaryonuza göre şunu düşünmeniz ve tasarım yapmanız gerek. Alım koşulu gerçekleşti ve bar kapanmadan aldınız. Siz aldıktan sonra 1000 puan aşağı indi. Hala aynı bar içindesiniz. O zaman ne yapacaksınız? Eğer aynı bar içinde pozisyon kapatırım diyorsanız önemli başka bir probleminiz daha var o da backtest yaparken zorlanacaksınız çünkü ideal aynı bar içinde yapılan işlemleri size grafik üzerinde göstermeyecek.

    Sent from my SM-N910C using Tapatalk
    Stratejide sıkıntı yok stoploss vs ayarlandı. Yani idealde aynı bar içinde al sat yapılamıyor mu? Grafikte gözükmese backtestte gözükse yeterli. Bir de Çağlar Bey sanırım vade geçişlerindeki geçişlerle ilgili bir paylaşımınız vardı oradaki dosya silinmiş, lib.cs dosyasını compile et deyip formülü yazdım ama hata verdi.

    Teşekkür ederim.

  2.  Alıntı Originally Posted by cashhflow Yazıyı Oku
    Stratejide sıkıntı yok stoploss vs ayarlandı. Yani idealde aynı bar içinde al sat yapılamıyor mu? Grafikte gözükmese backtestte gözükse yeterli. Bir de Çağlar Bey sanırım vade geçişlerindeki geçişlerle ilgili bir paylaşımınız vardı oradaki dosya silinmiş, lib.cs dosyasını compile et deyip formülü yazdım ama hata verdi.

    Teşekkür ederim.
    iDeal'de anlık ve aynı bar içerisinde işlem yapmak mümkün. Backtest malesef mümkün değil. Ben anlık işlem ve birden fazla enstrüman testleri yapmak için kendi kodumu yazmak zorunda kaldım.

    Lib.cs için şu anda yardımcı olamıyorum. Bilgisayar başında değilim. Zaman bulabilirsem yarın bakabilirim.

    Sent from my SM-N910C using Tapatalk

  3.  Alıntı Originally Posted by Caglar Yazıyı Oku
    iDeal'de anlık ve aynı bar içerisinde işlem yapmak mümkün. Backtest malesef mümkün değil. Ben anlık işlem ve birden fazla enstrüman testleri yapmak için kendi kodumu yazmak zorunda kaldım.

    Lib.cs için şu anda yardımcı olamıyorum. Bilgisayar başında değilim. Zaman bulabilirsem yarın bakabilirim.

    Sent from my SM-N910C using Tapatalk
    Otomatik vade geçişi için kullandığım kodlar aşağıdaki gibi:

    Kod:
    public readonly List<DateTime> FutureEndDates = new List<DateTime>
    {
        new DateTime(2007, 06, 29, 16, 40, 0),
        new DateTime(2007, 08, 31, 16, 40, 0),
        new DateTime(2007, 10, 31, 17, 10, 0),
        new DateTime(2007, 12, 31, 17, 10, 0),
        new DateTime(2008, 02, 29, 17, 10, 0),
        new DateTime(2008, 04, 30, 17, 10, 0),
        new DateTime(2008, 06, 30, 17, 10, 0),
        new DateTime(2008, 08, 29, 17, 10, 0),
        new DateTime(2008, 10, 31, 17, 15, 0),
        new DateTime(2008, 12, 31, 17, 15, 0),
        new DateTime(2009, 02, 27, 17, 15, 0),
        new DateTime(2009, 04, 30, 17, 15, 0),
        new DateTime(2009, 06, 30, 17, 15, 0),
        new DateTime(2009, 08, 31, 17, 15, 0),
        new DateTime(2009, 10, 30, 17, 35, 0),
        new DateTime(2009, 12, 31, 17, 35, 0),
        new DateTime(2010, 02, 26, 17, 35, 0),
        new DateTime(2010, 04, 30, 17, 35, 0),
        new DateTime(2010, 06, 30, 17, 35, 0),
        new DateTime(2010, 08, 31, 17, 35, 0),
        new DateTime(2010, 10, 27, 17, 35, 0),
        new DateTime(2010, 12, 31, 17, 35, 0),
        new DateTime(2011, 02, 28, 17, 35, 0),
        new DateTime(2011, 04, 29, 17, 35, 0),
        new DateTime(2011, 06, 30, 17, 35, 0),
        new DateTime(2011, 08, 29, 12, 35, 0),
        new DateTime(2011, 10, 31, 17, 35, 0),
        new DateTime(2011, 12, 30, 17, 35, 0),
        new DateTime(2012, 02, 29, 17, 35, 0),
        new DateTime(2012, 04, 30, 17, 35, 0),
        new DateTime(2012, 06, 29, 17, 35, 0),
        new DateTime(2012, 08, 31, 17, 45, 0),
        new DateTime(2012, 10, 31, 17, 45, 0),
        new DateTime(2012, 12, 31, 17, 45, 0),
        new DateTime(2013, 02, 28, 17, 45, 0),
        new DateTime(2013, 04, 30, 17, 45, 0),
        new DateTime(2013, 06, 28, 17, 45, 0),
        new DateTime(2013, 08, 29, 17, 45, 0),
        new DateTime(2013, 10, 31, 17, 45, 0),
        new DateTime(2013, 12, 31, 17, 45, 0),
        new DateTime(2014, 02, 28, 17, 45, 0),
        new DateTime(2014, 04, 30, 17, 45, 0),
        new DateTime(2014, 06, 30, 17, 45, 0),
        new DateTime(2014, 08, 29, 17, 45, 0),
        new DateTime(2014, 10, 31, 17, 45, 0),
        new DateTime(2014, 12, 31, 17, 45, 0),
        new DateTime(2015, 02, 27, 17, 45, 0),
        new DateTime(2015, 04, 30, 17, 45, 0),
        new DateTime(2015, 06, 30, 17, 45, 0),
        new DateTime(2015, 08, 31, 17, 45, 0),
        new DateTime(2015, 10, 30, 17, 45, 0),
        new DateTime(2015, 12, 31, 17, 45, 0),
        new DateTime(2016, 02, 29, 17, 45, 0),
        new DateTime(2016, 04, 29, 17, 45, 0),
        new DateTime(2016, 06, 30, 17, 45, 0),
        new DateTime(2016, 08, 31, 17, 45, 0),
        new DateTime(2016, 10, 31, 17, 45, 0),
        new DateTime(2016, 12, 30, 18, 15, 0),
        new DateTime(2017, 02, 28, 18, 15, 0),
        new DateTime(2017, 04, 28, 18, 15, 0),
        new DateTime(2017, 06, 30, 18, 15, 0),
        new DateTime(2017, 08, 29, 18, 15, 0),
        new DateTime(2017, 10, 31, 18, 15, 0),
        new DateTime(2017, 12, 29, 18, 15, 0),
        new DateTime(2018, 02, 28, 18, 15, 0),
        new DateTime(2018, 04, 30, 18, 15, 0),
        new DateTime(2018, 06, 29, 18, 15, 0)
    };
    
    public bool FutureEnds(DateTime date, string period)
    {
        if (date.Month % 2 == 1 || date.Day < 23) return false;
        var fed = FutureEndDates.Find(d => d.Date == date.Date);
        if (fed == DateTime.MinValue) return false;
    
    
        switch (period)
        {
            case "B": return date >= fed.AddSeconds(-30);
            case "1": return date >= fed.AddMinutes(-2);
            case "2": return date >= fed.AddMinutes(-4);
            case "3": return date >= fed.AddMinutes(-6);
            case "4": return date >= fed.AddMinutes(-8);
            case "5": return date >= fed.AddMinutes(-10);
            case "8": return date >= fed.AddMinutes(-20); // Gecmise yonelik hesaplaması zor oldugundan direk 20 cikardim.
            case "10": return date >= fed.AddMinutes(-(fed.Minute % 10 == 0 ? 20 : fed.Minute % 10 + 10));
            case "15": return date >= fed.AddMinutes(-(fed.Minute % 15 == 0 ? 30 : fed.Minute % 15 + 15));
            case "20": return date >= fed.AddMinutes(-(fed.Minute % 20 == 0 ? 40 : fed.Minute % 20 + 20));
            case "30": return date >= fed.AddMinutes(-(fed.Minute % 30 == 0 ? 60 : fed.Minute % 30 + 30));
            case "60": return date >= fed.AddMinutes(-(fed.Minute % 60 == 0 ? 120 : fed.Minute % 60 + 60));
            case "120": return date >= fed.AddMinutes(-(fed.Minute % 60 == 0 ? 240 : fed.Minute % 60 + 120));
            case "240": return date.TimeOfDay >= TimeSpan.FromHours(12);
            case "S": return date.TimeOfDay >= TimeSpan.FromHours(10);
            case "G": return true;
            case "H": return true; //date.Month % 2 == 0 && date.AddDays(7).Month % 2 != 0;
            case "A": return true; // date.Month % 2 == 0;
        }
    
    
        return false;
    }
    Yukarıdaki kodu şu şekilde kullanıyorum:

    Kod:
    var flat = Lib.FutureEnds(Sistem.GrafikVerileri[i].Date, Sistem.Periyot);
    buradaki flat değişkeni true olduğunda gerekenin yapılması ve sistemin flat iken tekrar alım - satım işlemine girmemesi kodu size ait.

    Bu kodları Lib.cs içerisinde kullanıyorum çünkü iDeal'i kapatmadan Lib.cs'yi güncelleyip anında derleyebiliyorum. User.dll'e koyarsam ve yeni vade geçişini tamamlamayı unutmuşsam uygulamayı kapatıp user.dll i derleyip iDeal'i tekrar açmam gerekiyor ki bu pek pratik bir yöntem değil.

    Özellikle Lib.cs dosyasını yüklemedim çünkü dosya bir süre sonra siliniyor ve herkes faydalanamıyor. Kodları Lib.cs'ye kopyalayıp kullanabilirsiniz. Umarım işinizi görür. Kolay gelsin...

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
  •