Alıntı Originally Posted by gencparaci Yazıyı Oku
Benim tek derdim manuel girdiğim emri kar kitleyerek robotun takip etmesi oda olmuyor malesef yıl olmuş 2017 elimde telefonla pozu açayım işime bakarım robot pozu algılasın her 100 puanın 50 puanını izleyen kar al yaparak yoluna devam etsin
 Alıntı Originally Posted by alekss Yazıyı Oku
sayın gencparaci
ben de sizin ggibi pozisyonumu kendim açmak istiyorum sonrasında stop u veya karl veya ilerleyen kar al ı robota bırakmak istiyorum ,alış veya satış seviyemi manuel olarak da girebilirim ,
şu kod daha önce paylaşılmıştı işinize yarayabilir.
Parametreler kısmını MANUEL doldurmanız gerekmektedir.

//Pozisyon Kontrol Robotu / Girilen Pozisyonun Otomatik Kontrolünü Sağlar Kontrolsüz Zarar Etmenizi Önler
//########################################### YAZAN ###### ERDAL KARAKAŞ
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:30", "18:14") ) { //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