ideal kullanan arkadaşlara bişey sormak istiyorum. özellikle bear_bull abi cevap verirse sevinirim.
idealde sisteme bar birleştirme yazılabilir mi?
yani matriksde olduğu gibi örneğin günlük barların 3 er adet birleşitirecek şekilde.
Printable View
ideal kullanan arkadaşlara bişey sormak istiyorum. özellikle bear_bull abi cevap verirse sevinirim.
idealde sisteme bar birleştirme yazılabilir mi?
yani matriksde olduğu gibi örneğin günlük barların 3 er adet birleşitirecek şekilde.
bugün biraz öptüler beni ..
1-2-3-4 dk ve 3 ay olduğuna göre bir şekilde mümkün İdeal kendisi yazabiliyor
ancak ben nasıl yazacağımı bilemediğimden yorum yapamıyorum.
High Low Box indikatörü ilede denenebilir.
örnek 5 dk lık grafikte 3 bar birleştirme
http://666kb.com/i/dt5r5h2e3yiugjsnx.png
istediğinize uyan arşivimde bulunan başka yazılmış sistemin maalesef yoktur.
yolladığım örnek üzerinde biraz çalışın isterseniz. (Erdal KARAKAŞ yazılımı mıydı?)
Kar al ve Şartlı emir kullanabilirsiniz.
dikkat edilecek nokta şu:
her hangi bir Kar_Flat veya ZararStop çalıştığında yazılı kalan emirleride manuel iptal etmek gerekir.
teşekkürler abi. benim istediğim görüntü olarak değil. matrikste olduğu gibi 3 barı tek bar şeklinde birleştirilmesi.
birleşince haliye, en yüksek, en düşük, barın ağırlıklı ortalaması vs. tek bar gibi olsun istiyorum. sonra bu periyodu robota tanımlayıp kullanmak istiyorum.
robota periyoa "60" yerine "60x3" gibi bişey yazarak birleşik barı görmesini sağlamak istiyorum.
soruyu ideale sordum aslında ama olmaz dediler.
ancak daha önceden olmaz dedikleri bazı şeyleri şu anda yapabildiğim için ve matriksde bu olduğundan, teknik olarak mümkün gibime geliyor.
önceki forumdan Sn Erdal Karakaş yazılımıdır.
önemli not
Parametre bölümüne Yön kar zararstop lot ve ensturuman değerleri manuel girilmelidir.
sistem içindeki seans saatlerini kendinize göre ayarlarsınız.
PHP Code:
//Pozisyon Kontrol Robotu / Girilen Pozisyonun Otomatik Kontrolünü Sağlar Kontrolsüz Zarar Etmenizi Önler
//#################################################
var Sembol_VIP30 = "VIP'VIP-X030";
//Kontrol Edilecek Pozisyon Bilgileri Parametrelerden Alınır.
string Pozisyon_Yonu = Sistem.Parametreler[0]; // Girilen pozisyonun yönü belirlenir Örnek: Satış = S Alış = A
float Lot_Miktari = Convert.ToSingle(Sistem.Parametreler[1]); //Alış/Satış yapılan Aktif Lot Miktarı belirlenir.
float islem_Fiyati = Convert.ToSingle(Sistem.Parametreler[2]); //Lot Alış/Satış fiyatı belirlenir.
float Zarar_Limiti = Convert.ToSingle(Sistem.Parametreler[3])/1000; //Pozisyonda maksimum edilecek zarar seviyesi. Örnek: 300 Puan için = 300
float Kar_Limiti = Convert.ToSingle(Sistem.Parametreler[4]); //Pozisyonda maksimum kar seviyesi belirlenir. Örnek: 1250 Puan için = 1250
float Kar_Alma_Seviyesi = Convert.ToSingle(Sistem.Parametreler[5]); //Pozisyondan alınacak olan kar seviyesi
//string HesapAdi = Sistem.Parametreler[8];
//string AltHesapAdi = Sistem.Parametreler[9];
string SozlesmeAdi = Sistem.Parametreler[10];
var Renk_Kirmizi = Sistem.Renk(250, 250, 0, 0); //Kırmızı
var Renk_Siyah = Sistem.Renk(0, 300, 0, 0); //Siyah
var Renk_Mavi = Sistem.Renk(250, 50, 50, 250); //Mavi
var Renk_Mor = Sistem.Renk(250, 191, 62, 255); //Mor
var Renk_Gri = Sistem.Renk(255, 160, 160, 160); //Gri
var Renk_Yesil = Sistem.Renk(250, 0, 160, 50); //Yeşil
//Anlık VIOP değeri alınır.
float VIP30 = Sistem.SonFiyat(Sembol_VIP30);
if (VIP30 != 0 )
{
//-------------------------------------------------------------------------------------
// Strateji İşlemleri Yapılır.
float Kar_Zarar = 0;
float Stop_Seviyesi = 0;
var Sinyal = 0; // Al, Sat veya Stop sinyali olduğunda değer 1 olur ve pozisyona göre işlem yapılır.
if (Pozisyon_Yonu == "A")
{
Stop_Seviyesi = islem_Fiyati - Zarar_Limiti; //Stop Seviyesi Hesaplanır.
Kar_Zarar = Sistem.SayiYuvarla(((VIP30 - islem_Fiyati) * 1000),1); //Anlık Kar Zarar Durumu Hesaplanır ve Virgülden sonrası yuvarlanır.
}
if (Pozisyon_Yonu == "S")
{
Stop_Seviyesi = islem_Fiyati + Zarar_Limiti; //Stop Seviyesi Hesaplanır.
Kar_Zarar = Sistem.SayiYuvarla(((islem_Fiyati - VIP30) * 1000),1); //Anlık Kar Zarar Durumu Hesaplanır ve Virgülden sonrası yuvarlanır.
}
if ( (Pozisyon_Yonu == "A") || (Pozisyon_Yonu == "S") ) //Robotun Pozisyonda ise hesaplama yapılır.
{
if ( (Kar_Zarar >= 150) && (Kar_Alma_Seviyesi < 50) ) { Kar_Alma_Seviyesi = 50; } //50 TL kar alır //Kar Alma Seviyesi Belirlenir.
if ( (Kar_Zarar >= 200) && (Kar_Alma_Seviyesi < 100) ) { Kar_Alma_Seviyesi = 100; } //100 TL kar alır //Kar Alma Seviyesi Belirlenir.
if ( (Kar_Zarar >= 300) && (Kar_Alma_Seviyesi < 200) ) { Kar_Alma_Seviyesi = 200; } //200 TL kar alır //Kar Alma Seviyesi Belirlenir.
if ( (Kar_Zarar >= 500) && (Kar_Alma_Seviyesi < 250) ) { Kar_Alma_Seviyesi = 250; } //250 TL kar alır //Kar Alma Seviyesi Belirlenir.
}
//-----------------------------------------------------------------------------------------
//Stop ve Kar Alma Seviyeleri kontrol edilir. Duruma göre pozisyon kapatılır.
if (Pozisyon_Yonu == "A") //Pozisyon Alış Yönde ise
{
if (VIP30 < Stop_Seviyesi) { Sinyal = 1; } //Stop Seviyesi Geçilmiş ise Pozisyon Kapatılır.
if (Kar_Zarar >= Kar_Limiti) { Sinyal = 1; } //Maksimum Kar Limitine Gelinmiş ise Pozisyon Kapatılır.
if ( (Kar_Alma_Seviyesi > 0) && (VIP30 <= (islem_Fiyati + (Kar_Alma_Seviyesi/1000))) ) { Sinyal = 1; } //Kar Alma Seviyesi Geçilmiş ise Pozisyon Kapatılır.
}
if (Pozisyon_Yonu == "S") //Pozisyon Satış Yönde ise
{
if (VIP30 > Stop_Seviyesi) { Sinyal = 1; } //Stop Seviyesi Geçilmiş ise Pozisyon Kapatılır.
if (Kar_Zarar >= Kar_Limiti) { Sinyal = 1; } //Maksimum Kar Limitine Gelinmiş ise Pozisyon Kapatılır.
if ( (Kar_Alma_Seviyesi > 0) && (VIP30 >= (islem_Fiyati - (Kar_Alma_Seviyesi/1000))) ) { Sinyal = 1; } //Kar Alma Seviyesi Geçilmiş ise Pozisyon Kapatılır.
}
//Stop ve Kar Alma Seviyeleri kontrol edilir. Duruma göre pozisyon kapatılır. BİTTİ
//-------------------------------------------------------------------------------------
// Strateji İşlemleri Yapılır. BİTTİ
//----------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// AL - SAT İşlemleri Yapılır.
if (Sistem.HaftaSonu == false) { //Hafta Sonu Kontrolü Yapılır.
if (Sistem.BaglantiVar == true) { //iDeal Bağlantı Kontrolü Yapılır.
if (Sistem.SaatAraligi("09:10", "12:30") || Sistem.SaatAraligi("13:55", "17:30") ) { //Zaman Kontrolü Yapılır, Seans Saatleri
if ( (Sinyal == 1) && (Lot_Miktari != 0) && (Pozisyon_Yonu != "F")) // Sinyal ve Parametre Kontrolü Yapılır.
{
//Sistem.EmirHesapAdi = HesapAdi;
//Sistem.EmirAltHesap = AltHesapAdi;
Sistem.EmirSembol = SozlesmeAdi;
if (Pozisyon_Yonu == "A") { Sistem.EmirIslem = "Satış"; } else { Sistem.EmirIslem = "Alış"; }
Sistem.EmirMiktari = Lot_Miktari;
Sistem.EmirSuresi = "GUN"; // GUN, SNS, IKG
Sistem.EmirTipi = "NORMAL"; // NORMAL, KPY, KIE, GIE, SAR
Sistem.EmirFiyati = "Aktif";
Sistem.EmirFiyatTipi = "PYS"; // PYS, LMT, EIF, KAP
Sistem.EmirGonder();
Pozisyon_Yonu = "F"; //Pozisyon Kapatıldığı için Parametre Değerine Flat ifadesi atanır.
Sistem.Parametreler[1] = "0"; //Pozisyon Kapatıldığı için Parametre Değerine 0 atanır.
Kar_Alma_Seviyesi = 0; //Pozisyon Kapatıldığı için Parametre Değerine 0 atanır.
} // AL - SAT İşlemleri Yapılır. BİTTİ
//-----------------------------------------------------------------------------------------------------------------
}//HaftaSonu
}//Bağlantı
}//Saat
//----------------------------------------------------------------------------------
// Ekrana Robot ile ilgili Çeşitli Bilgiler Yazılır.
Sistem.ZeminYazisiEkle("Pozisyon Yönü ", 1, 165, 43, Renk_Siyah, "Tahoma", 7);
Sistem.ZeminYazisiEkle("Lot miktarı ", 1, 165, 55, Renk_Siyah, "Tahoma", 7);
Sistem.ZeminYazisiEkle("İşlem Fiyatı ", 1, 165, 67, Renk_Siyah, "Tahoma", 7);
Sistem.ZeminYazisiEkle("Stop Seviyesi ", 1, 165, 79, Renk_Siyah, "Tahoma", 7);
Sistem.ZeminYazisiEkle("Kar Alma Seviyesi ", 1, 165, 91, Renk_Siyah, "Tahoma", 7);
Sistem.ZeminYazisiEkle("Kar-Zarar (Puan) ", 1, 165, 103, Renk_Siyah, "Tahoma", 7);
Sistem.ZeminYazisiEkle("Kar-Zarar (TL) ", 1, 165, 115, Renk_Siyah, "Tahoma", 7);
//Sisteme ait Sonuçlar ve Strateji Ekrana Yazılır.
if (Pozisyon_Yonu == "A") { Sistem.ZeminYazisiEkle(": Alış ", 1, 265, 43, Renk_Mavi, "Tahoma", 7); } //Piyasa Yönü
if (Pozisyon_Yonu == "S") { Sistem.ZeminYazisiEkle(": Satış ", 1, 265, 43, Renk_Kirmizi, "Tahoma", 7); } //Piyasa Yönü
if (Pozisyon_Yonu == "F") { Sistem.ZeminYazisiEkle(": Pozisyon Kapalı ", 1, 265, 43, Renk_Mor, "Tahoma", 7); } //Piyasa Yönü
Sistem.ZeminYazisiEkle(": " + Lot_Miktari.ToString(), 1, 265, 55, Renk_Mor, "Tahoma", 7); //Lot Miktarı
Sistem.ZeminYazisiEkle(": " + islem_Fiyati.ToString(), 1, 265, 67, Renk_Mor, "Tahoma", 7); //İşlem Fiuyatı
Sistem.ZeminYazisiEkle(": " + Stop_Seviyesi.ToString(), 1, 265, 79, Renk_Kirmizi, "Tahoma", 7); //Stop Seviyesi
Sistem.ZeminYazisiEkle(": " + Kar_Alma_Seviyesi.ToString() + " Puan", 1, 265, 91, Renk_Yesil, "Tahoma", 7); //Kar Alma Seviyesi
if (Kar_Zarar >= 0) { Sistem.ZeminYazisiEkle(": " + Kar_Zarar.ToString() + " Puan", 1, 265, 103, Renk_Yesil, "Tahoma", 7); } //Kar Zarar Durumu Puan +
if (Kar_Zarar < 0) { Sistem.ZeminYazisiEkle(": " + Kar_Zarar.ToString() + " Puan", 1, 265, 103, Renk_Kirmizi, "Tahoma", 7); } //Kar Zarar Durumu Puan -
if (Kar_Zarar >= 0) { Sistem.ZeminYazisiEkle(": " + ((Kar_Zarar/10)*Lot_Miktari).ToString() + " TL", 1, 265, 115, Renk_Yesil, "Tahoma", 7); } //Kar Zarar Durumu Puan +
if (Kar_Zarar < 0) { Sistem.ZeminYazisiEkle(": " + ((Kar_Zarar/10)*Lot_Miktari).ToString() + " TL", 1, 265, 115, Renk_Kirmizi, "Tahoma", 7); } //Kar Zarar Durumu Puan -
if (Pozisyon_Yonu != "F") // Pozisyon kapalı ise çizgiler kapatılır.
{
Sistem.Cizgiler[0].Deger = Sistem.Liste(islem_Fiyati); Sistem.Cizgiler[0].Aciklama = "İşlem Fiyatı"; Sistem.Cizgiler[0].Kalinlik = 2; Sistem.Cizgiler[0].Renk = Renk_Mavi;
Sistem.Cizgiler[1].Deger = Sistem.Liste(Stop_Seviyesi); Sistem.Cizgiler[1].Aciklama = "Stop Seviyesi"; Sistem.Cizgiler[1].Kalinlik = 2; Sistem.Cizgiler[1].Renk = Renk_Kirmizi;
//Kar Alma Çizgisi Ekrana Çizdirilir.
if ( (Pozisyon_Yonu == "A") && (Kar_Alma_Seviyesi >0) ) { Sistem.Cizgiler[2].Deger = Sistem.Liste(islem_Fiyati + (Kar_Alma_Seviyesi/1000)); Sistem.Cizgiler[2].Aciklama = "Kar Seviyesi"; Sistem.Cizgiler[2].Kalinlik = 2; Sistem.Cizgiler[2].Renk = Renk_Yesil; }
if ( (Pozisyon_Yonu == "S") && (Kar_Alma_Seviyesi >0) ) { Sistem.Cizgiler[2].Deger = Sistem.Liste(islem_Fiyati - (Kar_Alma_Seviyesi/1000)); Sistem.Cizgiler[2].Aciklama = "Kar Seviyesi"; Sistem.Cizgiler[2].Kalinlik = 2; Sistem.Cizgiler[2].Renk = Renk_Yesil; }
}
// Ekrana Robot ile ilgili Çeşitli Bilgiler Yazılır. BİTTİ
//---------------------------------------------------------------------------------------
} //VIP30 Değişkeni 0 Sıfır kontrolü
//Kontrol Edilecek YENİ Pozisyon Bilgileri Parametrelere Aktarılır.
Sistem.Parametreler[0] = Pozisyon_Yonu; // Girilen pozisyonun yönü belirlenir Örnek: Satış = S Alış = A
Sistem.Parametreler[2] = islem_Fiyati.ToString(); //Lot Alış/Satış fiyatı belirlenir.
Sistem.Parametreler[5] = Kar_Alma_Seviyesi.ToString(); //Pozisyondan alınacak olan kar seviyesi. Örnek: 300 Puan için = 300
Algosoft @Algoyardim
ideal ile ilgili örnek kod ve sistemler paylaşılıyor
takip etmeniz ilgilenenlere fayda sağlayacaktır.