Originally Posted by
cem_songa
selamlar;
Arkadaşlar akşam flat ol sabah şu saatt tekrar işleme gir
formülasyonu olan var mı?
PHP Code:
///yazar Sezai bey
/*
Bu robot kalıbı, tek satır fonsiyonundan daha yararlı bazı özelliklere de sahiptir.
"Şu saatten sonra emir ilet", "şu saatte pozisyonu" kapat gibi..
Kodun içine sisteminizin adını ve kullandığınız periyodu yazıp kullanabilirsiniz.
Not: Gün sonu pozisyonu kapat kısmını istemiyorsanız kırmızı yaptığım bloğu silebilirsiniz.
*/
var LotSize = 1.0;
var MySistem = Sistem.SistemGetir("_BB_F16_FLATLI", "VIP'VIP-X030", "15"); //Sisteminizin adı, grafik sembolünüz, periyot
if (MySistem == null)
{
Sistem.Mesaj("Sistem Dosyası Okunamadı !");
}
else
{
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 (Sistem.Saat.CompareTo("09:30:00") <= 0) // Seans Başlamadı işlem yapma
{
}
else if (Sistem.Saat.CompareTo("18:13:59") >= 0) // Gün Sonu Pozisyonu 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";
if (Miktar < 0)
Islem = "SATIS";
if (Islem != "")
{
Sistem.PozisyonKontrolGuncelle(Sistem.Name + " , " + EmirSembol, Miktar + Pozisyon);
Sistem.EmirSembol = EmirSembol;
Sistem.EmirIslem = Islem;
Sistem.EmirMiktari = Math.Abs(Miktar);
Sistem.EmirSuresi = "GUN"; // GUN, SNS, IKG
Sistem.EmirTipi = "KPY"; // KPY, KIE, GIE, SAR
Sistem.EmirFiyatTipi = "PYS"; // PYS, LMT, EIF, KAP
Sistem.EmirGonder();
}
}
Yer İmleri