Bir sistem/strateji yazıp, bu stratejinin sinyal verdiği senetleri alıp,satmasını isteyenlere robot kodu örneği:
- Kodu aynen kopyalayıp, sadece sisteminizin taraması ve sinyal gelmesi durumunda işlem yapmasını istediğiniz senetleri koda ekleyeceksiniz.
-Bu örnekte, strateji "Sezai" isimli formül. Siz kendi sisteminizin adını yazacaksınız. Aynı şekilde örnekte, 5 DK grafiklerine uygulanmış. Periyot da sizin tercihiniz. Kodun geri kalanına dokunmaya gerek yok.
-Son olarak, emir gönder bloğundaki bir satır sayesinde, yapılan her işlem, hangi hisseye ne işlem yapıldı, o anda hissenin fiyatı neydi, tarih ve saat neydi gibi bigileri de diskte robotemirler isimli bir text dosyaya kaydeder.
Kod:
var Sozluk = new Dictionary<string,double>();
Sozluk["IMKBH'EREGL"] = 5; // 5 lot
Sozluk["IMKBH'GARAN"] = 1; // 1 lot
Sozluk["IMKBH'YKBNK"] = 2; // 2 lot
Sozluk["IMKBH'GSRAY"] = 5; // 5 lot
Sozluk["IMKBH'FENER"] = 1; // 1 lot
Sozluk["IMKBH'BJKAS"] = 2; // 2 lot
for (var No=0; No < Sozluk.Count; No++)
{
var Sembol = Sozluk.ElementAt(No).Key;
var LotSize = Sozluk.ElementAt(No).Value;
var SonFiyat = Sistem.SonFiyat(Sembol);
var Anahtar = Sistem.Name + "," + Sembol;
double IslemFiyat = 0;
DateTime IslemTarih;
var Miktar = 0.0;
var Rezerv = "";
var Pozisyon = Sistem.PozisyonKontrolOku(Anahtar, out IslemFiyat, out IslemTarih);
var MySistem = Sistem.SistemGetir("Sezai",Sembol, "5"); //sitemin adı, sembol, grafik periyodu
var SonYon = MySistem.SonYon;
if (Sistem.Saat.CompareTo("10:00:00") <= 0 || Sistem.Saat.CompareTo("17:59:59") >= 0 ) // Seans yok
{
}
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
var Islem = "";
if (Miktar > 0)
Islem = "ALIS";
if (Miktar < 0)
Islem = "SATIS";
if (Islem != "")
{
Sistem.PozisyonKontrolGuncelle(Anahtar, Miktar + Pozisyon, SonFiyat, Rezerv);
Sistem.EmirSembol = Sembol;
Sistem.EmirIslem = Islem;
Sistem.EmirSuresi = "KIE"; // GUN, KIE, IKG
Sistem.EmirTipi = "Piyasa"; // Piyasa, Limitli, Piyasadan Limite
Sistem.EmirMiktari = Math.Abs(Miktar);
Sistem.EmirGonder();
File.AppendAllText("\\robotemirler.Txt", Sembol + "-" + DateTime.Now.ToString("HH:mm:ss") + Islem + "- " + "Fiyat =" + SonFiyat.ToString() + "\r\n");
}
}
Yer İmleri