Alıntı Originally Posted by oralet Yazıyı Oku
Bearbull abinin verdiği örnekte düzeltmesini yapabilir misiniz hocam , yada başka bir örnek paylaşabilir misiniz ?



C5-Mobile cihazımdan Tapatalk kullanılarak gönderildi
editorde yazdım , pozisyon atmasın diye idealde denemedim."kk" lar benim notum


Kod:
var LotSize = 1.0;
var Periyot = "5";
var KullanilanSistem = "SistemAdi";
var DefaLimiti = 3;


// VIOP - Canlı Barda Emir Gönderim Kalıbı
var MySistem = Sistem.SistemGetir(KullanilanSistem, "VIP'VIP-X030", Periyot);
if (MySistem != null)
{
    var V = MySistem.GrafikVerileri;
    var Saat = V[V.Count - 1].Date;
    if (Sistem.SaatAraligi("09:30", "18:14") && V[V.Count - 1].Date.Day == DateTime.Now.Day)
    {
        var DefaAnahtar = Sistem.Name + " , " + "Defa" + " , " + Saat.ToString("yyyyMMddHHmm");
        var DefaSayisi = Sistem.SayiTablosunuOku(DefaAnahtar);
        if (DefaSayisi <= DefaLimiti   )// limitte ise dahil  kk
        {
            var EmirSembol = Sistem.AktifViopKontrat;
            var Pozisyon = Sistem.PozisyonKontrolOku(Sistem.Name + " , " + EmirSembol);
            var SonYon = "";
            for (int i = 0; i < MySistem.Yon.Count; i++)
            {
                if (MySistem.Yon[i] != "")
                    SonYon = MySistem.Yon[i];
            }

            // Emir Miktarını Hesapla
            var Miktar = 0.0;
			if (DefaSayisi == DefaLimiti){Miktar=Pozisyon==0?0:-Pozisyon;}// flate  kk
            else if (SonYon == "F" && Pozisyon != 0)  // Flata Geç
                Miktar = -Pozisyon;
            else if (SonYon == "A" && Pozisyon != LotSize)  // Al
                Miktar = LotSize - Pozisyon;
            else if (SonYon == "S" && Pozisyon != -LotSize)  // Sat
                Miktar = -LotSize - Pozisyon;

            // Emir Gönder
            if (Miktar != 0)
            {
                Sistem.PozisyonKontrolGuncelle(Sistem.Name + " , " + EmirSembol, Miktar + Pozisyon);
                Sistem.EmirSembol = Sistem.AktifViopKontrat;
                Sistem.EmirIslem = Miktar > 0 ? "ALIS" : "SATIS";
                Sistem.EmirMiktari = Math.Abs(Miktar);
                Sistem.EmirSuresi = "GUN";
                Sistem.EmirTipi = "KPY";
                Sistem.EmirFiyatTipi = "PYS";
                Sistem.EmirGonder();
                DefaSayisi++;
                Sistem.SayiTablosunuGuncelle(DefaAnahtar, DefaSayisi);
            }
        }
    }
}