|
|
int tenkansen = 9;
int kijunsen = 26;
int chikouspan = 26;
int senkouspan = 52;
int shift = 26;
var bars = Sistem.GrafikVerileri;
var ListeTENKANSEN = Sistem.Liste(0);
var ListeKIJUNSEN = Sistem.Liste(0);
var ListeCHIKOUSPAN = Sistem.Liste(0);
var ListeSENKOUSPANA = Sistem.Liste(0);
var ListeSENKOUSPANB = Sistem.Liste(0);
// TENKAN SEN
for (int i = tenkansen; i < bars.Count; i++)
{
var hhv = bars[i].High;
var llv = bars[i].Low;
for (int j = 1; j < tenkansen; j++)
{
int pos = i + j - tenkansen;
hhv = Math.Max(hhv, bars[pos].High);
llv = Math.Min(llv, bars[pos].Low);
}
ListeTENKANSEN[i] = (hhv + llv) / 2;
}
// KIJUN SEN
for (int i = kijunsen; i < bars.Count; i++)
{
var hhv = bars[i].High;
var llv = bars[i].Low;
for (int j = 1; j < kijunsen; j++)
{
int pos = i + j - kijunsen;
hhv = Math.Max(hhv, bars[pos].High);
llv = Math.Min(llv, bars[pos].Low);
}
ListeKIJUNSEN[i] = (hhv + llv) / 2;
}
// CHIKOU SPAN
for (int i = chikouspan; i < bars.Count; i++)
{
ListeCHIKOUSPAN[i-chikouspan+1] = bars[i].Close;
}
for (int i = bars.Count-chikouspan+1; i < bars.Count; i++)
{
ListeCHIKOUSPAN[i] = bars[bars.Count-1].Close;
}
// SENKOU SPAN A
for (int i = shift; i < bars.Count - shift; i++)
{
ListeSENKOUSPANA[i+shift] = (ListeTENKANSEN[i] + ListeKIJUNSEN[i]) / 2;
}
// SENKOU SPAN B
for (int i = senkouspan; i < bars.Count; i++)
{
var hhv = bars[i].High;
var llv = bars[i].Low;
for (int j = 1; j < senkouspan; j++)
{
int pos = i + j - senkouspan;
hhv = Math.Max(hhv, bars[pos].High);
llv = Math.Min(llv, bars[pos].Low);
}
ListeSENKOUSPANB[i] = (hhv + llv) / 2;
}
ListeSENKOUSPANB = Sistem.Ref(ListeSENKOUSPANB, -shift);
Sistem.Cizgiler[0].Deger = ListeTENKANSEN;
Sistem.Cizgiler[0].Aciklama = "TENKAN SEN";
Sistem.Cizgiler[1].Deger = ListeKIJUNSEN;
Sistem.Cizgiler[1].Aciklama = "KIJUN SEN";
Sistem.Cizgiler[2].Deger = ListeCHIKOUSPAN;
Sistem.Cizgiler[2].Aciklama = "CHIKOU SPAN";
Sistem.Cizgiler[3].Deger = ListeSENKOUSPANA;
Sistem.Cizgiler[3].Aciklama = "SENKOU SPAN A";
Sistem.Cizgiler[4].Deger = ListeSENKOUSPANB;
Sistem.Cizgiler[4].Aciklama = "SENKOU SPAN B";
// bölge renklendirme
var Renk1 = Sistem.Renk(100,255,0,0);
var Renk2 = Sistem.Renk(100,0,255,0);
Sistem.DolguEkle(3,4,Renk1,Renk2);
[QUOTE=sercanfx;3901019]Merhaba, yorumu olan var mı ?
[/Sistem Gereksinimleri Nelerdir?
iDeal programını kurabilmek ve çalıştırabilmek için aşağıdaki koşulların sağlanması gerekmektedir;
• Microsoft Windows Işletim Sistemi (En az Windows7)
• Microsoft .NET Framework 4.5
• En az 4GB RAM
• En az 20 GB Sabit Disk alanı
• 443 numaralı TCP port üzerinden internete erişim izni
• Robot Modülü kullanarak otomatik emir iletimi yapacak kullanıcıların, en az 4 çekirdekli işlemciye sahip bir bilgisayar kullanması tavsiye edilir.
İdealda CDS (Türkiye Kredi Risk Swapı ) verilerini görebilir muyuz?
Arkadaşlar merhabalar, tüm sistemlerimde ve robotlarımda kullanmak üzere; robotun çok fazla işlem yapmasına güvenlik araçlı bir kod arıyorum.Yani mesela idealde saniyede 3 işlem diyor ama saniyede 3 işlem yapıyor ve sonra durup devam ediyor.dakikada yine yüzlerce işlem yapmış oluyor.Bunun için kullandığınız bir güvenlik önlemi var mıdır mesela dakikada 10 işlem yaparsa tüm robotları durdur gibi veya portföyüm yüzde şu kadar kayba ulaştığında tüm robotları durdur gibi yardımcı olabilirseniz sevinirim.Teşekkürler.
Arsivden notlarim arasina aldigim ustadlarin ornek olabilecek bazi kodlari:
Alıntı Originally Posted by Bear_Bull
sn Tiberus
return Sistem;
komutu o komuta geldiğinde yazılı olan alttaki komutları pas geçerek sistemi en baştan mı başlatır ?
1
2
3
4 return Sistem; /// 5-6-7-satırları pas geç 1 e dön
5
6
7
doğru mudur? teşekkürler.
pratikteki etkisi öyle oluyor üstad ama gerçekte;
return olduğu yerde kod sonlandırılır sonraki satırlar işlenmez.
100 milisaniye sonra tekrar çalışınca ilk satırdan başlar.
Alıntı Originally Posted by Tiberius Yazıyı Oku
test etmek lazım
PHP Code:
// robot aynı gün sadece 3 kere çalışsın
var DefaKontrol = Sistem.SayiTablosunuOku("DEFA KONTROL, " + Sistem.Name + " , " + DateTime.Now.ToString("yyyyMMdd"));
DefaKontrol++;
Sistem.SayiTablosunuGuncelle("DEFA KONTROL, " + Sistem.Name + " , " + DateTime.Now.ToString("yyyyMMdd"), DefaKontrol);
if (DefaKontrol > 3) return Sistem;
// 1 dakikadan önce yeni emir gönderme
var SureKontrol = Sistem.SayiTablosunuOku("SURE KONTROL, " + Sistem.Name + " , " + DateTime.Now.ToString("yyyyMMdd"));
var SaatDakika = DateTime.Now.Hour * 24 + DateTime.Now.Minute;
if (SureKontrol == 0 || SaatDakika >= SureKontrol + 1)
Sistem.SayiTablosunuGuncelle("SURE KONTROL, " + Sistem.Name + " , " + DateTime.Now.ToString("yyyyMMdd"), SaatDakika);
else
return Sistem;
aşağıdaki örnek bir günde 3 defa emir gönderdikten sonra başka emir göndermez.
kod çalışır ama emir gönderimi olmaz.
test etmedim, sanalda test edin.
PHP Code:
var Anahtar = Sistem.Name + " ; " + DateTime.Today.ToString("yyyyMMdd");
var EmirSayisi = Sistem.SayiTablosunuOku(Anahtar);
if (EmirSayisi < 3)
{
var Islem = Sistem.RobotViopAktif("SISTEM", "VIP'VIP-X030" , Sistem.AktifViopKontrat, "5", 2);
if (Islem != "")
{
EmirSayisi++;
Sistem.SayiTablosunuGuncelle(Anahtar, EmirSayisi);
}
}
|
|
Selamlar herkese kolay gelsin, ben henüz idealgo kullanmıyorum onun için optimizasyonu kodlarla yapmaya çalışıyorum. Sistemlerde zaten birkaç tane örnek de var. Onlardan yararlanıp birşeyler yapmaya çalıştım fakat sistem performansındaki en güzel değerler ile en optimize edilmiş değerler birbirini tutmuyor. Hatta ordaki örnek kodda dahi değerler farklı çıkıyor. Kod karışık değil gibi açıkçası ama neyi kaçırdığımı bir türlü çözemedim. Yardımcı olabilecek arkadaşlar var mı acaba?
Yer İmleri