Alıntı Originally Posted by Bear_Bull Yazıyı Oku
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);


Bear_Bull hocam eğer doğru anladıysam Oralet 9:35'ten önce işlem yapmak istemiyor.
Koda şöyle bir ekleme yapılırsa sorun çözülür gibi, siz ne dersiniz?

Kod:
for (var i = 1; i < P.Count; i++)
{
    if (P[i].Date.TimeOfDay <= new TimeSpan(9, 35, 0)) continue;

    // alis satis kararları burada yazilmali
}