Alıntı Originally Posted by oralet Yazıyı Oku
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 
kod2DateTime.Now.Year 2000;
var 
kod2aDateTime.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 >=&& 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 >=&& 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 >=&& 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 >=&& 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 >=&& 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.LastPriceConvert.ToSingle(vade1.OpenInterest vade2.OpenInterest vade3.OpenInterest vade4.OpenInterest );
var 
dvade4 Sistem.YuzeyselVeriOku(dvade4s);
VDLRTAPOZ.LastPriceConvert.ToSingle(dvade1.OpenInterest dvade2.OpenInterest dvade3.OpenInterest dvade4.OpenInterest );


}
else
{
 
V30TAPOZ.LastPriceConvert.ToSingle(vade1.OpenInterest vade2.OpenInterest vade3.OpenInterest  );
VDLRTAPOZ.LastPriceConvert.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);