
Originally Posted by
oralet
Açılış barinda işlem yaptirmiyorum ama adamlar âçılış barinda cumadan long kalan sistemimim sinyalini düşükten açarak short yaptirip 2. barda shotlamiş sistem
Viopla spot açilis farki 30 dakika degilde 10 dakika olsa direk spot endeksi okutacam
Viop grafikte 09:35 barini sistemin yok saymasi için sisteme nasil bir kod ekliyebilirim?
Geçmişe dönük hatalar yada test imkani önemli degil sisteme sadece 5000 bar okutuyorum
Yusuf, şimdiden kolay gelsin.
saat 9:35 ten başlatarak kendine yeni bir Vadeli kodu tanımlayıp
sistemini yeni vadeli kod üzerinden çalıştırabilirsin. robotun ise aktif kontrata emir gönderir olay çözülür.
aşağıda örnek bir kodlama var
[aşağıdaki örneğin yaptığı 4 tane vadeli kodunun toplam AÇIK POZİSYON SAYISINI bulmak]
bunu kendine yarayacak şekilde değiştirmen lazım.
senin yapacağın vadeli aktif Kontratın
açılış düşük yüksek kapanış ve lot sayılarını yeni grafiğe kaydettirmek
9:35 te veya 9:40 tan itibaren 1 veya 2 bar eksik grafik datası oluşturmak
istenirse öğle aralarıda pas geçittirilebilir.
KULLANICI SEMBOL SİSTEMİ içine yazılacak.
PHP Code:
// VİOP_TOP_AÇIK_POZ sembol tanım
var kod = "VIP'F_XU030";
var koddlr = "VIP'F_USDTRY";
var kod2= DateTime.Now.Year - 2000;
var kod2a= DateTime.Now.Year - 1999;
//var kod3= "S0";
var v1="";var v2="";var v3="";var v4="";
var vade1s = "";var vade2s = "";var vade3s = "";var vade4s = "";
var dvade1s = "";var dvade2s = "";var dvade3s = "";var dvade4s = "";
var hata = 0;
if (DateTime.Now.Month >=1 && DateTime.Now.Month <= 2)
{
v1="02";
v2="04";
v3="06";
v4="12";
vade1s = kod + v1 + kod2 ;
vade2s = kod + v2 + kod2 ;
vade3s = kod + v3 + kod2 ;
vade4s = kod + v4 + kod2 ;
dvade1s = koddlr + v1 + kod2 ;
dvade2s = koddlr + v2 + kod2 ;
dvade3s = koddlr + v3 + kod2 ;
dvade4s = koddlr + v4 + kod2 ;
}
else if (DateTime.Now.Month >=3 && DateTime.Now.Month <= 4)
{
v1="04";
v2="06";
v3="08";
v4="12";
vade1s = kod + v1 + kod2 ;
vade2s = kod + v2 + kod2 ;
vade3s = kod + v3 + kod2 ;
vade4s = kod + v4 + kod2 ;
dvade1s = koddlr + v1 + kod2 ;
dvade2s = koddlr + v2 + kod2 ;
dvade3s = koddlr + v3 + kod2 ;
dvade4s = koddlr + v4 + kod2 ;
}
else if (DateTime.Now.Month >=5 && DateTime.Now.Month <= 6)
{
v1="06";
v2="08";
v3="10";
v4="12";
vade1s = kod + v1 + kod2 ;
vade2s = kod + v2 + kod2 ;
vade3s = kod + v3 + kod2 ;
vade4s = kod + v4 + kod2 ;
dvade1s = koddlr + v1 + kod2 ;
dvade2s = koddlr + v2 + kod2 ;
dvade3s = koddlr + v3 + kod2 ;
dvade4s = koddlr + v4 + kod2 ;
}
else if (DateTime.Now.Month >=7 && DateTime.Now.Month <= 8)
{
v1="08";
v2="10";
v3="12";
v4="02"; /// açılmaz
hata = 1;
vade1s = kod + v1 + kod2 ;
vade2s = kod + v2 + kod2 ;
vade3s = kod + v3 + kod2 ;
vade4s = kod + v4 + kod2a ;
dvade1s = koddlr + v1 + kod2 ;
dvade2s = koddlr + v2 + kod2 ;
dvade3s = koddlr + v3 + kod2 ;
dvade4s = koddlr + v4 + kod2a ;
}
else if (DateTime.Now.Month >=9 && DateTime.Now.Month <= 10)
{
v1="10";
v2="12";
v3="02";
v4="04"; // açılmaz
hata = 1;
vade1s = kod + v1 + kod2 ;
vade2s = kod + v2 + kod2 ;
vade3s = kod + v3 + kod2a ;
vade4s = kod + v4 + kod2a ;
dvade1s = koddlr + v1 + kod2 ;
dvade2s = koddlr + v2 + kod2 ;
dvade3s = koddlr + v3 + kod2a ;
dvade4s = koddlr + v4 + kod2a ;
}
else if (DateTime.Now.Month >=11 && DateTime.Now.Month <= 12)
{
v1="12";
v2="02";
v3="04";
v4="06"; // açılmaz
hata = 1;
vade1s = kod + v1 + kod2 ;
vade2s = kod + v2 + kod2a ;
vade3s = kod + v3 + kod2a ;
vade4s = kod + v4 + kod2a ;
dvade1s = koddlr + v1 + kod2 ;
dvade2s = koddlr + v2 + kod2a ;
dvade3s = koddlr + v3 + kod2a ;
dvade4s = koddlr + v4 + kod2a ;
}
//Sistem.Debug(dvade1s + " ---- " + dvade2s + " ---- " + dvade3s + " ---- " + dvade4s);
// VİOP_TOP_AÇIK_POZ veri oku
var V30TAPOZ = Sistem.SembolTanimla("DFN'V30TAPOZ", 0);
V30TAPOZ.Description = "xu030 vadeler açık poz toplamı";
var VDLRTAPOZ = Sistem.SembolTanimla("DFN'VDLRTAPOZ", 0);
V30TAPOZ.Description = "DOLAR vadeler açık poz toplamı";
var vade1 = Sistem.YuzeyselVeriOku(vade1s);
var vade2 = Sistem.YuzeyselVeriOku(vade2s);
var vade3 = Sistem.YuzeyselVeriOku(vade3s);
var dvade1 = Sistem.YuzeyselVeriOku(dvade1s);
var dvade2 = Sistem.YuzeyselVeriOku(dvade2s);
var dvade3 = Sistem.YuzeyselVeriOku(dvade3s);
if (hata == 0)
{
var vade4 = Sistem.YuzeyselVeriOku(vade4s);
V30TAPOZ.LastPrice= Convert.ToSingle(vade1.OpenInterest + vade2.OpenInterest + vade3.OpenInterest + vade4.OpenInterest );
var dvade4 = Sistem.YuzeyselVeriOku(dvade4s);
VDLRTAPOZ.LastPrice= Convert.ToSingle(dvade1.OpenInterest + dvade2.OpenInterest + dvade3.OpenInterest + dvade4.OpenInterest );
}
else
{
V30TAPOZ.LastPrice= Convert.ToSingle(vade1.OpenInterest + vade2.OpenInterest + vade3.OpenInterest );
VDLRTAPOZ.LastPrice= Convert.ToSingle(dvade1.OpenInterest + dvade2.OpenInterest + dvade3.OpenInterest );
}
Sistem.YuzeyselGuncelle(V30TAPOZ);
Sistem.YuzeyselGuncelle(VDLRTAPOZ);
if (Sistem.SaatAraligi("09:30", "18:45") && DateTime.Now.DayOfWeek != DayOfWeek.Saturday && DateTime.Now.DayOfWeek != DayOfWeek.Sunday)
{
Sistem.GrafikGuncelle(VDLRTAPOZ);
Sistem.GrafikGuncelle(V30TAPOZ);
}
Yer İmleri