Şu dökümanın 56. sayfasında bilgi varmış.
Dökümana göre farklı kuruma emir gönderilebiliyor diye anladım ben
https://idealdata.com.tr/downloads/i...istemGenel.pdf
|
|
merhabalar,
Aşağıdaki sorguyu İdeal dilinde sorgu olarak çevirebilir misiniz.
https://resmim.net/i/SyQCTk
Şu dökümanın 56. sayfasında bilgi varmış.
Dökümana göre farklı kuruma emir gönderilebiliyor diye anladım ben
https://idealdata.com.tr/downloads/i...istemGenel.pdf
Hisse bazlı bakiye girişi yapılabilecek hali aşağıdaki gibi
PHP Code:
var SistemAdi = "Sistemim_1"; //sistemizin adı
var GrafikPeriyodu = "1"; //grafiğin priyodu
var ToplamPozisyon = 24; //Kaç defa alım yapılacak
var hisseBakiye = new Dictionary<string, int>();
hisseBakiye["IMKBH'PETKM"] = 1000;
hisseBakiye["IMKBH'KRDMD"] = 2000;
hisseBakiye["IMKBH'KCHOL"] = 3000;
hisseBakiye["IMKBH'AKBNK"] = 1000;
hisseBakiye["IMKBH'EREGL"] = 2000;
hisseBakiye["IMKBH'EKGYO"] = 3000;
for (var No = 0; No < hisseBakiye.Count; No++)
{
var item = hisseBakiye.ElementAt(No);
var Sembol = item.Key;//sistemin sinyal ürettiği grafik sembolü
var Bakiye = item.Value;//sistemin sinyal ürettiği hisse için yukarıda tanımlanan bakiye
var SonFiyat = (decimal)Sistem.SonFiyat(Sembol);
var SonYon = Sistem.SonYonGetir(SistemAdi, Sembol, GrafikPeriyodu);
var Anahtar = Sistem.Name + ", " + Sembol + ", " + GrafikPeriyodu;
var Anahtar2 = Sistem.Name + "::" + Sembol + "::" + GrafikPeriyodu;
double IslemFiyat = 0;
DateTime IslemTarih;
var Islem = "";
var Pozisyon = Sistem.PozisyonKontrolOku(Anahtar, out IslemFiyat, out IslemTarih);
var EmirTekrari = Sistem.PozisyonKontrolOku(Anahtar2);
var LotSize = (double)Math.Round(Sistem.SayiTablosunuOku(Anahtar2), 0);
var Basla = Sistem.SayiTablosunuOku(Anahtar);
if (Basla == 0)
{
Sistem.SayiTablosunuGuncelle(Anahtar, 1);
LotSize = (double)Math.Round(( Bakiye / SonFiyat), 0);
Sistem.SayiTablosunuGuncelle(Anahtar2, LotSize);
}
if (SonYon == "A" && (Pozisyon == 0 || Sistem.ZamanKontrolSaniye(Anahtar2) >= 10) && EmirTekrari <= ToplamPozisyon)
{
Islem = "ALIS";
}
if (SonYon == "F" && Pozisyon > 0 && Sistem.ZamanKontrolSaniye(Anahtar2) >= 10) // Sat
{
Islem = "SATIS";
}
if (Islem != "")
{
Sistem.ZamanKontrolGuncelle(Anahtar2);
if (Islem == "ALIS")
{
EmirTekrari++;
Sistem.PozisyonKontrolGuncelle(Anahtar2, EmirTekrari);
Sistem.PozisyonKontrolGuncelle(Anahtar, Pozisyon + LotSize, (double)SonFiyat);
}
else if (Islem == "SATIS")
{
EmirTekrari--;
Sistem.PozisyonKontrolGuncelle(Anahtar2, EmirTekrari);
Sistem.PozisyonKontrolGuncelle(Anahtar, Pozisyon - LotSize, (double)SonFiyat);
}
Sistem.EmirSembol = Sembol;
Sistem.EmirIslem = Islem;
Sistem.EmirSuresi = "GUN";
Sistem.EmirTipi = "Piyasa";
Sistem.EmirMiktari = (double)Math.Abs(LotSize);
Sistem.EmirGonder();
}
}
Hocam teşekkür ederim. oldu.
Hocam tekrardan çok teşekkür ederim. Buda oldu. Sonunda güzel bir robot kalıbı olduğunu düşünüyorum Kendim için.
Bunun Parasal değil lot olarak emir göndermek istersek nereyi düzeltmemiz lazım hocam.
Lotlu hali daha sade:
PHP Code:
var SistemAdi = "Sistemim_1"; //sistemizin adı
var GrafikPeriyodu = "1"; //grafiğin priyodu
var ToplamPozisyon = 24; //Kaç defa alım yapılacak
var hisseLot = new Dictionary<string, int>();
hisseLot["IMKBH'PETKM"] = 10;
hisseLot["IMKBH'KRDMD"] = 20;
hisseLot["IMKBH'KCHOL"] = 30;
hisseLot["IMKBH'AKBNK"] = 10;
hisseLot["IMKBH'EREGL"] = 20;
hisseLot["IMKBH'EKGYO"] = 30;
for (var No = 0; No < hisseLot.Count; No++)
{
var item = hisseLot.ElementAt(No);
var Sembol = item.Key;//sistemin sinyal ürettiği grafik sembolü
var LotSize = item.Value;//sistemin sinyal ürettiği hisse için yukarıda tanımlanan lot
var SonFiyat = (decimal)Sistem.SonFiyat(Sembol);
var SonYon = Sistem.SonYonGetir(SistemAdi, Sembol, GrafikPeriyodu);
var PozisyonAnahtari = Sistem.Name + ", " + Sembol + ", " + GrafikPeriyodu;
var EmirAnahtari = Sistem.Name + "::" + Sembol + "::" + GrafikPeriyodu;
double IslemFiyat = 0;
DateTime IslemTarih;
var Pozisyon = Sistem.PozisyonKontrolOku(PozisyonAnahtari, out IslemFiyat, out IslemTarih);
var EmirTekrari = Sistem.PozisyonKontrolOku(EmirAnahtari);
var Islem = "";
if (SonYon == "A" && (Pozisyon == 0 || Sistem.ZamanKontrolSaniye(EmirAnahtari) >= 10) && EmirTekrari <= ToplamPozisyon)
{
Islem = "ALIS";
}
if (SonYon == "F" && Pozisyon > 0 && Sistem.ZamanKontrolSaniye(EmirAnahtari) >= 10) // Sat
{
Islem = "SATIS";
}
if (Islem != "")
{
Sistem.ZamanKontrolGuncelle(EmirAnahtari);
if (Islem == "ALIS")
{
EmirTekrari++;
Sistem.PozisyonKontrolGuncelle(EmirAnahtari, EmirTekrari);
Sistem.PozisyonKontrolGuncelle(PozisyonAnahtari, Pozisyon + LotSize, (double)SonFiyat);
}
else if (Islem == "SATIS")
{
EmirTekrari--;
Sistem.PozisyonKontrolGuncelle(EmirAnahtari, EmirTekrari);
Sistem.PozisyonKontrolGuncelle(PozisyonAnahtari, Pozisyon - LotSize, (double)SonFiyat);
}
Sistem.EmirSembol = Sembol;
Sistem.EmirIslem = Islem;
Sistem.EmirSuresi = "GUN";
Sistem.EmirTipi = "Piyasa";
Sistem.EmirMiktari = (double)Math.Abs(LotSize);
Sistem.EmirGonder();
}
}
Merhaba arkadaşlar, sadece 1dk lık grafik verileri kullanarak 5dk, 15dk, 60dk ve günlük grafik verilerini oluşturmak mümkün mü?
|
|
Sorunuzu yanlış anlamadı isem...
Zaten grafik veriler bu şekilde oluşur.
5 adet 1 dakikalık grafik = 5 dakikalık grafik,
1. dakikanın açılışı = 5 dakikalık açılış,
5. dakikanın kapanışı = 5 dakikalık kapanış,
3 adet 5 dakikalık grafik = 15 dakikalık grafik,
1. 5 dakikanın açılışı = 15 dakikalık açılış,
3. 5 dakikanın kapanışı = 15 dakikalık kapanış,
4 adet 15 dakikalık grafik = 60 dakikalık grafik,
1. 15 dakikanın açılışı = 60 dakikalık açılış,
4. 15 dakikanın kapanışı = 60 dakikalık kapanış,
...
İstediğinizin bu olduğunu sanmıyorum ama;
"1 dk.lık grafik açıkken diğerlerini de göreyim" derseniz...
Benim aşağıya eklediğim görsel Tradingview ama İdeal'de de "Sistem Dönem Çevir" fonksiyonu ile yapılabilir.
Asıl istediğiniz grafik değil, gösterge, robot vb. ise de...
Yine 1 dk.lık grafiği kullanarak, üst periyod çizimlerini oluşturabilirsiniz. Yani aşağıdan yukarı bakmak mümkün.
Tersi değil!.
Repaint'i engellemek isterseniz, "kapanış" verilerini dikkate alın.
https://twitter.com/teknikcioblomov
Al,sat,tut,yakala,sık,bırak vb. tavsiye için aracı kurumunuzla görüşün.
Yer İmleri