manuel yumurtacı vardı bırde o nerelerde acaba
manuel yumurtacı vardı bırde o nerelerde acaba
Senin almaya cesaret edemediğin riskleri alanlar, senin yaşamak istediğin hayatı yaşarlar..
Sokrates twit @erhanacikgoz1
Daha fazla kodlama ile her şey mümkün arkadaşlar..
Gönderilen emrin OrderNo sunu tespit etmek mümkün.
OrderNo verilerek emir iptal etmek mümkün.
Aşağıdaki linkte HesapOku fonksiyonları kullanımları var.
Sonrasında class yapıları da mevcut.
1-gönderilen emrin bilgileri kaydedilir.
2-hesapoku ile çekilen verilerde 1.madde bilgileri ile eşleşen kaydın orderno su çekilir kaydedilen yere buda işlenir.
3-algoritmada gereken noktada emir iptal edilir.
http://www.hisse.net/forum/showthrea...12740&page=843
Keçiyi yardan uçuran bir tutam ottur..
Basit bir örnek de ekleyelim havada kalmasın.
PHP Code:
var BistHesap = Sistem.BistHesapOku();
if (BistHesap != null)
{
var BekleyenList = BistHesap.BekleyenEmirler;
//Bekleyen Emirler içerisinde Sembol Adı GARAN olan, Yönü Satış olan Emrin numarasını bul
foreach (var p in BekleyenList )
if (p.Symbol== "IMKBH'GARAN" && p.BuySell=="Satış") // filtre değişkenlerini istediğiniz yerden alıp atayın..
Sistem.Mesaj("Emir Numarası: "+p.OrderNo.ToString() + " Sembol :"+p.Symbol.ToString() + " İşlem Yönü :"+p.BuySell.ToString() + " Lot :"+p.Balance.ToString() );
//daha fazlası için yukardaki linkten ImkbOrderRecord yada VipOrderRecord classlarından field isimlerine bakabilirsiniz.
}
Keçiyi yardan uçuran bir tutam ottur..
Kimya sektörünü listeleyen Sorgu Sistem örneği, daha kolay yolu vardır belki.
Sorgu dışında kullanacaksanız, ihtiyaca uygun düzenlersiniz.
PHP Code:
foreach (string line in File.ReadLines(@"c:\iDeal\Config\ImkbEndeksSenetler.txt") )
{
if (line.Contains("XKMYA") && line.Split('=')[0]==Sistem.Sembol.Replace("IMKBH'",""))
{
Sistem.SorguAciklama =line;
Sistem.SorguEkle();
}
}
Ozamanlar baya sikinti yasamistik dediginiz gibi bir surude kodlama ve aninda geri donus gerekiyordu bizde yaklasik 20 30 adet sistem her 1 dakikada ortalama 2 islem acacakti
2 carpi 20 40 adet emir her 1 dakikada
Bir nevi hftnin en kucuk versionu gibi araci kurumdan bu sorgulari almak zaten problem server sikinti yasiyor disardan emirlere ve robotlara bir isim takip hangi robotun hangi emri gonderdigi hesaplattirmak gerekiyordu filan
1. Robotu. Emir nosu stoploss kar al seviyesi cekilecek fakat ayni anda diger robotlardan 3 tanesi daha emir gonderiyor her birinin stop kar al seviyeleri farkli 1. Robot kac numarali referanslarla emir yazdi ? 2. Ribotun ki hangi nolu emirler. İste bu yuzden disardan tumunu kontrol edip belirli bir ana kontrol programi yaratip emirleri 1. Ribottan baslayarak gonderirsek emir nolara hesaplattirarak bu 1. Robotun emir nosu filan demek gerekiyordu.
Bu isinaltindan kalkamadik bnim kod bilgim olsa ustune giderdim oda olmayinca klasik sistemi gelistirdik bizde
Belkise senin dedigin yontemlerle bu yapilabilirdi. Zaten yapnak istedigim seyi kodlasak bile araci kurumun saglayicilariyla filan gerekli izinler filan almak gerekiyordu bir suru kulfet bizi asti bu is daha turkiye bunlara hazir degil![]()
Senin almaya cesaret edemediğin riskleri alanlar, senin yaşamak istediğin hayatı yaşarlar..
Sokrates twit @erhanacikgoz1
Bu asamalara gecebilmek bu imkanlari kullanabilmek lazim, kecinin kodlama bilgisi cok saglam oldugundan rahat yazabiliyor.
Sistemler bu sekilde cok daha gelismis ve ileri seviyelere tasinmis olacak ve gorunuyor ki giderek bu tip sistemler mecburi ihtiyac olacak daha iyi performans icin ve belkide piyasada tutunabilmek icin.
keçi hocam , teşekkürler cevap için
bir sorum daha var ,
emir nosunu aldığımız/bildiğimiz emre düzeltme yada iptal yollama örneği varmı.
cxSistem altına eklenmiştir diye düşünüp yapılıyor diye yazmıştım ama şimdi kontrol ettim cxSistem altında sanırım yok hala
Bundan dolayı maalesef sizler için örnek kod paylaşamıyorum.
En başından beri unsupported bir yöntem kullanıyorum ve açıkladığımda başıma bir iş gelmesinden korkuyorumArtık kullanamayacağım hale gelmesi vb. gibi.
(Birde işin ideal fikri haklar ihlali kısmı var, kullandığım yapı exe içerisindeki kodlardan kopya..
Bu kodlara nasıl ulaşılacağına dair detaylı bir post atmıştım daha önce. Ordan yürüyebilenler için anahtar kelime ImkbCancelOrder)
nasıl yapıldığını kabaca anlatayım.
C:\iDeal\Config\TradeKurumlar.Txt dosyasında kurumlara ait web servis adresleri bulunuyor.
Örneğin Gedik https://gob.gedik.com/gendexweb/jsps...ternet_api.jsp adresini kullanıyor.
ideal ile aracı kurum servisleri arasındaki haberleşme bu adres üzerinden gerçekleşiyor.
Peki bunu nasıl yapıyor?
C:\iDeal\TradeLog içerisinde log atılan web servis paramları var.Manuel bir işlem yapıp düşen loga bakabilirsiniz..
örneğin emir iptelinde gönderilen param;
komut=HISSEEMIRSIL¶meter1=accountX.AccountName ¶meter2=11111111¶meter3=accountX.Password& parameter7=123456789¶meter38=176.88.88.88
gibi..(güvenlik nedeniyle log atarken parola-şifre gibi değerler yazılmıyor bunlarıda işleyeceksiniz.)
bunu adres sonunda "url?param" formatına dönüştürüp chrome da dahi çalıştırsanız komut çalışır
demekki ihtiyacınız olan csharp kodu, string işlemler yoluyla elde ettiğiniz adresi Request eden bir kod iletişim için yeterli.
(Fakat şunu belirtyelim aracı kuruma göre değişen farklı olaylar var.Bunlar için ideal içerisinde farklı caseler var, bunları görmeden ezbere bu işi yapmak sakıncalı.)
HttpWebRequest mn = (HttpWebRequest)WebRequest.Create(url);
gibi.
Aracı kurumların kendi yönetim yazılımları var, örneğin gendeks, bunu kullanan tüm kurumların çalışma mantığı ise aynıdır.
Özetle ideal ile aracı kurum servisleri arasındaki tüm iletişim protokolüne kodlarıda gördüğüm için hakimim ve bu yönemi kullanarak hallediyorum kendi işlerimi ve manuel yapılan her işi otomatikleştirebiliyorum..
İptal ve iyileştirme için idealin sistem altına metod koymasını talep ederseniz yapacaklardır bence.Manuelde sakıncası olmayan bir şeyin otomatikde de sakıncası olamaz.
Keçiyi yardan uçuran bir tutam ottur..
Yer İmleri