Originally Posted by
B_E
orhan hocam, bir de bar kapanýþýný beklemeyen robot kodu paylaþabilir misin?
teþekkürler...
Soru orhan hocaya sorulmuş ama bende şöyle bir kod var.
Belki işinize yarar.
Selamlar / Saygılar
Kod:
// BAR KAPANIŞINI BEKLEMEDEN İŞLEM YAPAN ROBOT KODU
// BU KODU KULLANMAK İÇİN SİSTEMİNİZİN REPAİNT YAPAN KODLARDAN ARINDIRILMASI GEREKİR
// BU KODU KULLANMAK TEHLİKELİ SONUÇLARA YOL AÇABİLİR
// KOD KONUSUNDA UZMAN DEĞİLSENİZ KULLANMAYIN
var LotSize = 1; //işlem adedi
var Sembol = "VIP'VIP-THYAO"; // ÖRNEK SEMBOL KODU
var Periyot = "1"; //1 dklık grafik
var SistemAdi = "CANLIBARDAISLEMYAPANROBOTKODU"; //sistem adını buraya girin çift tırnak içinde
// CANLI BARDA İŞLEM YAPAN FONKSİYON Sistem.SistemGetirCanli(SistemAdi , Sembol, Periyot);
var MySistem = Sistem.SistemGetirCanli(SistemAdi , Sembol, Periyot); //sistemin adı, grafik sembolü, grafiğin periyodu
if (MySistem == null)
{
Sistem.Mesaj(Sistem.Name + "Hatalı Çalışıyor !");
}
else
{
var EmirSembol = "VIP'F_THYAO1118"; // BURAYA SEMBOLÜNÜZÜN AÇIK YAZILIŞI
var SonFiyat = Sistem.SonFiyat(EmirSembol);
var Anahtar = Sistem.Name + "," + EmirSembol;
double IslemFiyat = 0;
DateTime IslemTarih;
var Miktar = 0.0;
var Rezerv = "";
var Pozisyon = Sistem.PozisyonKontrolOku(Anahtar, out IslemFiyat, out IslemTarih);
// CANLI BARDA İŞLEM YAPAN FONKSİYON Sistem.SistemGetirCanli(SistemAdi , Sembol, Periyot);
var SonYon = Sistem.SonYonGetirCanli(SistemAdi, Sembol, Periyot);
if (Sistem.Saat.CompareTo("10:00:00") <= 0 || Sistem.Saat.CompareTo("17:59:59") >= 0) // seans yok işlem yapma
{
}
//her günün sonunda poz varsa kapansın, ertesi sabah tekrar aynı yönde poz açılsın istenirse
// else if (Sistem.Saat.CompareTo("16:30:00") >= 0) // Gün Sonu Kapat
// {
// if (Pozisyon != 0)
// Miktar = -Pozisyon;
// }
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
var Islem = "";
if (Miktar > 0) {Islem = "ALIS"; Rezerv = "ALIŞ YAPILDI";}
if (Miktar < 0) {Islem = "SATIS"; Rezerv = "SATIŞ YAPILDI";}
if (Islem != "")
{
Sistem.PozisyonKontrolGuncelle(Anahtar, Miktar + Pozisyon, SonFiyat, Rezerv);
Sistem.EmirSembol = EmirSembol ;
Sistem.EmirIslem = Islem;
Sistem.EmirSuresi = "KIE"; // GUN, KIE, IKG
Sistem.EmirTipi = "Piyasa"; // Piyasa, Limitli, Piyasadan Limite
Sistem.EmirMiktari = Math.Abs(Miktar);
Sistem.EmirGonder();
// BURAYDA ROBOTUN İŞLEMLERİNİ ANLIK OLARAK TEXT'E YAZAN LOG TUTAN KOD VAR
//SANALDA TEST EDERKEN İNANILMAZ BİR KOLAYLIK SAĞLAR
File.AppendAllText( "C:\\ideal\\CANLIBARDAISLEMYAPANROBOTKODU.txt" , Sistem.Name + "-----" + EmirSembol + "-----" + DateTime.Now.ToString("HH:mm:ss") + Sistem.EmirIslem + "------ " + "Fiyat =" + SonFiyat.ToString() + "-----" + "Marj = " + "\r\n");
}
}
Yer Ýmleri