denemek lazım.
Printable View
var Islem = Sistem.RobotViopTumGun("TRENDSCORE_01", "VIP'VIP-X030-T" , Sistem.AktifViopKontrat, "1", 4)
Bu şekilde yaptım çalışmadı,
Sanırım tek satır robot koduyla olmuyor, akşam seansında emir göndermiyor,daha doğrusu gönderiyor da akşam seansı olduğundan emir fiyat aralığı geçersiz diyor.
Ya komple uzun kod yazılacak ya da ideal demene yapıp bu işe el atması gerekecek,
Cevabınız için teşekkür ederim.
sanalda şu alttaki örneği denermisin ?
dikkat sanalda 1-2 gün denemeden gerçek çalıştırmayın.
PHP Code:
string SistemAdi = "TRENDSCORE_01";
string kontrat = Sistem.AktifViopKontrat;
string SysDakika = "5";
var LotSize = 1;
var MySistem = Sistem.SistemGetir(SistemAdi , kontrat , SysDakika ); //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 && Sistem.Saat.CompareTo("22:59:58") <= 0) // Seans Başlamadı işlem yapma
{
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 = "";
var Fiyat = 0;
if (Miktar > 0) { Islem = "ALIS"; Fiyat = Sistem.SatisFiyat(EmirSembol);}
if (Miktar < 0) { Islem = "SATIS";Fiyat = Sistem.AlisFiyat(EmirSembol);}
if (Islem != "")
{
Sistem.PozisyonKontrolGuncelle(Sistem.Name + " , " + EmirSembol, Miktar + Pozisyon);
Sistem.EmirSembol = EmirSembol;
Sistem.EmirIslem = Islem;
Sistem.EmirMiktari = Math.Abs(Miktar);
///////////// akşam seansı tanımlama ////////////
if (Sistem.Saat.CompareTo("19:00:00") >= 0 ) {Sistem.EmirSuresi = "GUN"; Sistem.EmirAksamSeansi = 1;} else { Sistem.EmirSuresi = "GUN";}
///////////// akşam seansı tanımlama ////////////
Sistem.EmirTipi = "Limitli"; // KPY, KIE, GIE, SAR
Sistem.EmirFiyati = Fiyat ;
Sistem.EmirGonder();
}
}
İyi akşamlar arkadaşlar. Bu akşam gün sonu dağılımını açamadım. Diğerleri açılıyor. Neden olabilir acaba bileğisi olan var mı?
Tapatalk kullanarak iPhone aracılığıyla gönderildi
Sistem çalışmıyor,
Sanalda çalıştırdığımda pozisyon kontrol bölümüne 0 kontrat olarak açıyor ama herhangi bir işlem yapmıyor,
0 kontrat kalıyor, acaba ilk sinyalimi bekliyor anlamadım, hiçbir tepki yok.
Akşam seansında kullandığım için henüz bir sinyal gelmedi,
Eğer ki ilk sinyali beklemiyorsa;
Benim tahminim alış satış bölümünde flata geç bölümü sürekli flat olarak bırakıyor olabilir,
Yada saat bölümde bir yanlışlık olabilir diye düşündüm.
Yani sisteme bağlandığında pozisyon kontrol bölümüne 0 yazıyor ama lot gönderim yapmıyor.
https://i.hizliresim.com/6MYl27.png
https://i.hizliresim.com/8Xm9gQ.png
https://i.hizliresim.com/GGbpY6.png
test edildi onaylandı
gece çalışan, limit fiyat emir gönderen robot.
PHP Code:
string SistemAdi = "*********Sisteminizin Adı *********";
string kontrat = Sistem.AktifViopKontrat;
string SysDakika = "5";
var LotSize = 1;
var MySistem = Sistem.SistemGetir(SistemAdi , kontrat , SysDakika ); //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 && Sistem.Saat.CompareTo("22:59:58") <= 0) // Seans Başlamadı işlem yapma //
{
// 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 = ""; var Fiyat = 0;
if (Miktar > 0) Islem = "ALIS"; // Fiyat = Sistem.SonFiyat(EmirSembol);}
else
if (Miktar < 0) Islem = "SATIS"; //Fiyat = Sistem.SonFiyat(EmirSembol);}
if (Islem != "")
{
Sistem.PozisyonKontrolGuncelle(Sistem.Name + " , " + EmirSembol, Miktar + Pozisyon);
Sistem.EmirSembol = EmirSembol;
Sistem.EmirIslem = Islem;
Sistem.EmirMiktari = Math.Abs(Miktar);
///////////// akşam seansı tanımlama ////////////
if (Sistem.Saat.CompareTo("19:00:00") >= 0 ) {Sistem.EmirSuresi = "GUN"; Sistem.EmirAksamSeansi = 1;} else { Sistem.EmirSuresi = "GUN";}
///////////// akşam seansı tanımlama ////////////
Sistem.EmirTipi = "Limitli";
Sistem.EmirFiyati = (Islem == "ALIS") ? Sistem.SatisFiyat(EmirSembol) : Sistem.AlisFiyat(EmirSembol) ;
Sistem.EmirGonder();
}
}
https://resmim.net/f/QgJ3Sv.jpg
Üstat bende niye emir fiyat adımı geçersiz çıkıyor ki nerde hata yapıyorum bulamadım, sanalda falan gayet güzel çalışıyor, gerçekte de emir gönderiyor ama viop kabul etmiyor.
Teşekkürler.