Originally Posted by
Santi78
selam
Idealde Saatlik periyotta imkb 30 da bulunan hisselerden dusen trendi kran hisselerin listesini cikarabilir mi? (Son 100 barda 10 bar haric sekilde trend cizdirilerek). Listede cikan hisseler icin bizim belirledigimiz kistasa gore (RSI>30) hisseleri secip robota al sat islemi nasil yaptirilabilir?
sagolun...
Kod:
var Semboller = new Dictionary<string, double>();
Semboller["IMKBH'AKBNK"] = 7;
Semboller["IMKBH'GARAN"] = 9;
Semboller["IMKBH'YKBNK"] = 11;
Semboller["IMKBH'SISE"] = 13;
Semboller["IMKBH'PGSUS"] = 15;
Semboller["IMKBH'KCHOL"] = 17;
Semboller["IMKBH'SAHOL"] = 19;
var Mesaj = "";
foreach (var item in Semboller)
{
var Sembol = item.Key;
var SembolLot = item.Value;
var Bars = Sistem.GrafikVerileriniOku(Sembol, "60");
var DusenTrend = Sistem.OtoTrendDusen(Bars, 100, 10);
var RSI = Sistem.RSI(Bars, 22);
var SonFiyat = Sistem.SonFiyat(Sembol);
var SonBarNo = Bars.Count - 1;
Mesaj += "\r\n" + Sembol + ", RSI = " + RSI[SonBarNo].ToString("0.00") + ", Trend = " + DusenTrend[SonBarNo].ToString("0.00") + ", Son Fyt = " + SonFiyat.ToString("0.00");
if (Bars[SonBarNo].High > DusenTrend[SonBarNo] && RSI[SonBarNo] > 30)
{
// emir gönder
var Anahtar = Sistem.Name + ", " + Sembol;
double IslemFiyat = 0;
DateTime IslemTarih;
var Miktar = SembolLot;
var Rezerv = "";
var Pozisyon = Sistem.PozisyonKontrolOku(Anahtar, out IslemFiyat, out IslemTarih);
if (Pozisyon == 0 && SembolLot > 0 && Sistem.Saat.CompareTo("10:00:05") >= 0 && Sistem.Saat.CompareTo("17:59:55") <= 0)
{
var Islem = "";
Islem = "ALIS";
Rezerv = "ALIŞ YAPILDI";
Sistem.PozisyonKontrolGuncelle(Anahtar, Miktar, SonFiyat, Rezerv);
Sistem.EmirSembol = Sembol;
Sistem.EmirIslem = Islem;
Sistem.EmirSuresi = "KIE";
Sistem.EmirTipi = "Piyasa";
Sistem.EmirMiktari = Math.Abs(Miktar);
Sistem.EmirAciklama = "Gerçekleşti";
Sistem.EmirGonder();
}
}
}
Sistem.Mesaj(Mesaj);
Yer İmleri