Merhaba arkadaşlar , brüt takas hisselerini gösteren kod nedir. Bilen var mı?
Printable View
Merhaba arkadaşlar , brüt takas hisselerini gösteren kod nedir. Bilen var mı?
bir kaç sayfa geride yazılmıştı.
PHP Code:
/// hektor salamanca
//Brüt Takas listesini gedik yatırım sayfasından oku.
string webData = System.Text.Encoding.UTF8.GetString((new System.Net.WebClient()).DownloadData("https://www.gedik.com/bilgi-egitimler/tedbirli-hisseler"));
string pattern = "(?<=\\t\\t\\t<p>)(.+?)(?=</p>)";
System.Text.RegularExpressions.MatchCollection matches = System.Text.RegularExpressions.Regex.Matches(webData, pattern);
var BrutTakasList = new Dictionary< string, List<string> >();
for (int i = 9; i < matches.Count; i+=9)
{
List<string> HisseDetayBilgileri = new List<string>();
HisseDetayBilgileri.Add(matches[i+1].Value.ToString()); // 0-Başlangıç Tarihi
HisseDetayBilgileri.Add(matches[i+2].Value.ToString()); // 1-Bitiş Tarihi
HisseDetayBilgileri.Add(matches[i+3].Value.ToString()); // 2-Brüt Takas
HisseDetayBilgileri.Add(matches[i+4].Value.ToString()); // 3-Kredi Yasağı
HisseDetayBilgileri.Add(matches[i+5].Value.ToString()); // 4-Açık Satış Yasağı
HisseDetayBilgileri.Add(matches[i+6].Value.ToString()); // 5-İnternet Yasağı
HisseDetayBilgileri.Add(matches[i+7].Value.ToString()); // 6-Tek Fiyat Uygulaması
HisseDetayBilgileri.Add(matches[i+8].Value.ToString()); // 7-Hisse Pazar
BrutTakasList[matches[i].Value.ToString()] = HisseDetayBilgileri;
}
//Örnek Kullanım
string TemizAd= Sistem.Sembol.Replace("IMKBH'","");
if( BrutTakasList.ContainsKey(TemizAd))
Sistem.Mesaj(TemizAd+": Bu Hissede Brüt Takas Uygulaması bulunuyor! Bitiş Tarihi:"+BrutTakasList[TemizAd][1] +" Tek Fiyat Uygulaması: "+BrutTakasList[TemizAd][6] );
else
Sistem.Mesaj(TemizAd+": Alınır abi alınır..");
Sorguda çıkan hisseleri anlık alıma nasıl yönlendirebiliriz?
Yani sorguda 10 hisse çıktı, tek tuş 10 ar lot alım yapsın.
Böyle bir yapı varmı? Yada yazılabilirmi?
İyi günler,
frama'daki N değerini değiştirmek bir etki etmiyor,
N= ne yazarsanız yazın EMA 200 ile hemen hemen aynı değeri veriyor.
Hata mı var acaba ?
Kod:var N = 40;
var HHV = Sistem.HHV(N, "Yuksek");
var LLV = Sistem.LLV(N, "Dusuk");
var HHV2 = Sistem.HHV(N/2, "Yuksek");
var LLV2 = Sistem.LLV(N/2, "Dusuk");
var HHV2_ = Sistem.HHV(N/2-1, "Yuksek");
var LLV2_ = Sistem.LLV(N/2-1, "Dusuk");
var N1 = Sistem.Liste(0);
var N2 = Sistem.Liste(0);
var N3 = Sistem.Liste(0);
var Price = Sistem.GrafikFiyatSec("OrtaNokta");
var Dimen = Sistem.Liste(0);
var alpha1 = Sistem.Liste(0);
var alpha = Sistem.Liste(0);
var Frama = Sistem.Liste(0);
for (int i= 1; i < Sistem.BarSayisi; i++)
N3[i] = (HHV[i] - LLV[i]) / N;
for (int i= 1; i < Sistem.BarSayisi; i++)
N1[i] = (HHV2_[i] - LLV2_[i]) / (N/2);
for (int i= N; i < Sistem.BarSayisi; i++)
N2[i] = (HHV2[i-N/2-1] - LLV2[i-N/2-1]) / (N/2);
for (int i= 1; i < Sistem.BarSayisi; i++)
{
if (N1[i] > 0 && N2[i] > 0 && N3[i] > 0)
Dimen[i] =(float)((float)Math.Log(N1[i] + N2[i]) - (float)Math.Log(N3[i])) / (float)Math.Log(2);
alpha1[i] = (float)Math.Exp(-4.6*(Dimen[i]-1));
if(alpha[i] < 0.01f)
alpha[i] = 0.01f;
else if(alpha[i] > 1f)
alpha[i] = 1f;
else
alpha[i] = alpha1[i];
Frama[i] = (alpha[i]*Price[i]) + (1 - alpha[i])*Frama[i-1];
}
Sistem.Cizgiler[0].Deger = Frama;
Hocam sorguda değil de indikatör alarmı ekleyip emir bağlayabiliyorsunuz koşul gerçekleştiğinde otomatik alım yapıyor. Garan hissesine ma20 üzerine çıkarsa diye alarm kuruyorsunuz alarma emir bağlıyorsunuz koşul gerçekleşince otomatik alıyor
merhaba arkadaşlar, içinde ref fonksiyou olan şu kodu ideale nasıl çevirebilirim?
HHV(Ref(C,-1),21)-ATR(14);
LLV(Ref(C,-1),21)+ATR(14);
HHV(C,21)+0.4*ATR(14);
LLV(C,21)-0.4*ATR(14)
Merhaba,
Sistem içinde FK'yı bulmaya çalışıyorum fakat aşağıdaki kod hata veriyor.
Yardımcı olabilir misiniz?
var daily_chart_data = Sistem.GrafikVerileriniOku("IMKBH'EREGL","G");
int daily_chart_last_bar = daily_chart_data.Count-1;
var FK = Sistem.BilancoFK("IMKBH'EREGL",daily_chart_data);
Sistem.Debug( " FK = " + FK[daily_chart_last_bar].ToString() );
grafiğin üzerine atın.PHP Code:
var Sembol = Sistem.Sembol;
var yuzeysel = Sistem.YuzeyselVeriOku(Sembol);
var FK = yuzeysel.PriceEarningValue;
Sistem.ZeminYazisiEkle( " F/K "+FK.ToString("0.00"), 1, 150, 100 FK>10? Color.White : FK<=0 ? Color.Red: Color.Green, "Calibri", 12);
Viop 30 için 1 dakikalık ve 5 dakikalık verisi olup da yükleyen olursa altın bulsun , en güzel sistemler onun olsun.
Olup da yüklemeyenin canı sağ olsun :)
/*HHV(Ref(C,-1),21)-ATR(14);
LLV(Ref(C,-1),21)+ATR(14);
HHV(C,21)+0.4*ATR(14);
LLV(C,21)-0.4*ATR(14)*/
var V = Sistem.GrafikVerileri ;
var C = Sistem.GrafikFiyatOku(V, "Kapanis" ) ;
var RC = Sistem.Ref(C, -1);
var HHV1 = Sistem.HHV(21, RC);
var LLV1 = Sistem.LLV(21, RC);
var HHV = Sistem.HHV(21, "kapanis");
var LLV = Sistem.LLV(21, "kapanis");
var ATR = Sistem.AverageTrueRange(14) ;
var X = Sistem.Liste(0);
var X1 = Sistem.Liste(0);
var X2 = Sistem.Liste(0);
var X3 = Sistem.Liste(0);
var X4 = Sistem.Liste(0);
for (int i = 10; i < V.Count; i++)
{
X[i] = (HHV1[i] - ATR[i]);
X1[i] = (LLV1[i] + ATR[i]);
X2[i] = (HHV[i] + 0.4f*ATR[i]);
X3[i] = (LLV1[i] - 0.4f*ATR[i]);
}
Sistem.Cizgiler[0].Deger = X;
Sistem.Cizgiler[1].Deger = X1;
Sistem.Cizgiler[2].Deger = X2;
Sistem.Cizgiler[3].Deger = X3;
Buyrun...
İndirme bağlantısı
https://we.tl/t-6JfPghLr8N
2 öge
VIP'VIP-X030.01
25 MB
VIP'VIP-X030.05
9,6 MB
Merhaba bol kazançlar. Otomatik al satan Robot sistemlerinde izleyen stop kullananların deneyimlerini paylaşabilir mi.
Rica etsem basit bir örnek robot kod var ise
Kapanış 60 exp yukarı kestiginde
İzleyen stop %2
Garan 60dk 100 lot ...vs
benzer kod var ise paylasabilirmisiniz
// kapanış fiyatlarını oku
var C = Sistem.GrafikFiyatSec("Kapanis");
// hareketli ortalamaları hesapla
var MA1 = Sistem.MA(C, "Exp", 5);
var MA2 = Sistem.MA(C, "Exp", 21);
Sistem.Cizgiler[0].Deger = MA1;
Sistem.Cizgiler[1].Deger = MA2;
// strateji
var SonYon = "";
double Fiyat = 0;
for (int i = 1; i<Sistem.BarSayisi; i++)
{
if (MA1[i-1] < MA2[i-1] && MA1[i] >= MA2[i] && SonYon != "A") // AL
{
Sistem.Yon[i] = "A"; // alış
SonYon = Sistem.Yon[i];
Fiyat = C[i];
}
else if (MA1[i-1] > MA2[i-1] && MA1[i] <= MA2[i] && SonYon != "S") // SAT
{
Sistem.Yon[i] = "S"; // satış
SonYon = Sistem.Yon[i];
Fiyat = C[i];
}
else if (SonYon == "A" && C[i] > Fiyat * 1.05) // % 5 kar realizasyonu
{
Sistem.Yon[i] = "F"; // flat
SonYon = Sistem.Yon[i];
}
else if (SonYon == "A" && C[i] < Fiyat * 0.98) // % 2 stop
{
Sistem.Yon[i] = "F"; // flat
SonYon = Sistem.Yon[i];
}
else if (SonYon == "S" && C[i] < Fiyat * 0.95) // % 5 kar realizasyonu
{
Sistem.Yon[i] = "F"; // flat
SonYon = Sistem.Yon[i];
}
else if (SonYon == "S" && C[i] > Fiyat * 1.02) // % 2 stop
{
Sistem.Yon[i] = "F"; // flat
SonYon = Sistem.Yon[i];
}
}
Bilanço odaklı arama tarama kod sözlüğü varmı? Ne nasul yapılır? Örnek v.s.
Herkese bol kazançlar.
Toma indikatörü için sorgu yapmak istiyorum hangi kağıtlar al vermiş ve sat vermiş şeklinde. Bunu yapmak mümkün mü?
bir de öncesinde matriks kullanıyordum, grafik üzerinde AL-SAT yazdırabiliyorduk. İdeal'de bu var mı? Teşekkürler
Kod bilginiz varsa herşey mümkün. https://uploads.tapatalk-cdn.com/202...3398edc74b.jpg
İdeal veri yayınında sabahtan beri problem var. Muhtemelen herkeste var sanırım? Bilginiz var mı?
Tamam ideali arayıp sorunu çözdüm,
Bu mesaj silinebilir.
POT-LX1 cihazımdan hisse.net mobile app kullanarak gönderildi.
Arkadaşlar kolay gelsin.
Forumu uzun zamandır takip ediyorum, herkese katkılarından dolayı teşekkür ediyorum.
İlk defa bir şey sorucam, size kolay gelecektir ama ben işin içinden çıkamadım.
Sistemimin gün içinde bir karlı işlem yapmasından sonra bir daha işlem açmasını istemiyorum.
Bunu bir türlü yazamadım. Bir yerde hata yapıyorum ama bulamadım. Sinirlerim bozuldu.
Basit bir ma sistemi yazıp dediğim sistemi oluşturmanızı rica edicem.
Teşekkürler
Cevap için teşekkürler.
Ancak;
"Günde bir işlem" değil "günde bir karlı işlem" yaptığında bir daha işlem yapmamasını istiyorum.
gerek görmemiştim onu yazmaya;
son madde şöyleydi:
işlem yaptığın yerde bunu yap;
GundeBir=false;
bu maddeyi
if(karli ise) GundeBir=false;
şekline çevirmeniz yeterli zaten.
"karli ise" daha önce kodlanmadı ise bunu da şöyle yapabilirsiniz;
sonalfiyat ve sonsatfiyat diye 2 değişken oluşturun.
işlem noktalarında bunları işlem fiyatına eşitleyin.
"karli ise" = sonsatfiyat - sonalfiyat; yada tersidir.
Çok teşekkürler cevap için.
Aslında sizin dediklerinizi yaptım zaten. Ama biliyorsunuz bu kodlama işinde en ufak bir hatada maalesef çalışmıyor. Hatayı da bulamıyorum.
İşte bu ufak hatadan dolayı bir türlü çalıştıramadım. O yüzden de "Basit bir ma sistemi yazıp dediğim sistemi oluşturmanızı rica edicem." şeklide istekte bulunmuştum.
Sizden ricam bu şekilde yapabilir misiniz? Çok zahmet verdim ama kusura bakmayın...
Istediginiz robot tarafinda da yapilabilir ancak sistem tarafinda olmasi backtest yapilabilirligi saglar. Gunde 1 karli islem belki 3 zararli islem sonrasi 25 puanla gelecek. Bu yaklasimin beklentinize paralel sonuc uretip uretmedigini gecmis verilerle muhakkak test etmenizi oneririm.
Asagidaki goruntude sari bolgeler mevcut sisteminiz, mavi bolgeler ise hangi bolgeye neler eklenmesi gerektigini gosteriyor. "GunlukLimit" ve karli islem icin "KarMargin" istege gore ayarlanabilir veya optimize edilebilir.
https://i.ibb.co/nCqnd98/2020-07-04-17-27-19.png
Kod:var V = Sistem.GrafikVerileri ;
var C = Sistem.GrafikFiyatOku(V, "Kapanis");
//Diger tum sistem degiskenleri
var SonYon = "";
float islemKZ = 0f;
float KarMargin = 0.05f;
float Sayac = 0f;
float AlFiyat = 0f;
float SatFiyat = 0f;
int GunlukLimit = 1;
for (int i=1; i<V.Count; i++)
{
//Sistem hesaplamalari
if ( V[i].Date.Date != V[i-1].Date.Date) Sayac=0f;
if ("Al Kosulu" && SonYon != "A" && Sayac < GunlukLimit ) //Alis
{
AlFiyat=C[i]; islemKZ= AlFiyat>0 && SatFiyat>0 ? SatFiyat-AlFiyat : 0f;
if (islemKZ > KarMargin) {Sayac++; SonYon="F"; Sistem.Yon[i]="F";}
else
{ SonYon="A"; Sistem.Yon[i]="A"; }
}
else if ("Sat Kosulu" && SonYon != "S" && Sayac < GunlukLimit ) //Satis
{
SatFiyat=C[i]; islemKZ= AlFiyat>0 && SatFiyat>0 ? SatFiyat-AlFiyat : 0f;
if (islemKZ > KarMargin) {Sayac++; SonYon="F"; Sistem.Yon[i]="F";}
else
{ SonYon="S"; Sistem.Yon[i]="S"; }
}
}
Çok zahmet etmişsiniz..
Çok teşekkürler...
Islem basina KZ nin hatasiz hesaplanmasi icin ufak bir ekleme yapildi.
Kod:var V = Sistem.GrafikVerileri ;
var C = Sistem.GrafikFiyatOku(V, "Kapanis");
//Diger tum sistem degiskenleri
var SonYon = "";
float islemKZ = 0f;
float KarMargin = 0.05f;
float Sayac = 0f;
float AlFiyat = 0f;
float SatFiyat = 0f;
var GunlukLimit = 1;
for (int i=1; i<V.Count; i++)
{
//Sistem hesaplamalari
if ( V[i].Date.Date != V[i-1].Date.Date) {Sayac=0f; AlFiyat=0f; SatFiyat=0f;}
if ("Al Kosulu" && SonYon != "A" && Sayac < GunlukLimit ) //Alis
{
AlFiyat=C[i]; islemKZ= AlFiyat>0 && SatFiyat>0 ? SatFiyat-AlFiyat : 0f;
if (islemKZ > KarMargin) {Sayac++; SonYon="F"; Sistem.Yon[i]="F";}
else
{ SonYon="A"; Sistem.Yon[i]="A"; }
}
else if ("Sat Kosulu" && SonYon != "S" && Sayac < GunlukLimit ) //Satis
{
SatFiyat=C[i]; islemKZ= AlFiyat>0 && SatFiyat>0 ? SatFiyat-AlFiyat : 0f;
if (islemKZ > KarMargin) {Sayac++; SonYon="F"; Sistem.Yon[i]="F";}
else
{ SonYon="S"; Sistem.Yon[i]="S"; }
}
}
Backtest yaparken 1, 5, 60 ve G periyotlarını kullanmak mantıklı olan sanırım çünkü 10, 15, 20, 30 grafikleri 5 dk'lıktan, 120, 240 grafikleri 60 dk'lıktan ve H, A, U, Y grafikleri de Günlük grafikten türetiliyor böyle olunca da canlıdayken 5 dk'lık bar kapanıyor ama diyelim 15 dk'lıkta sistemimiz var ve 15 dk barı kapanmadığı için bakctestte karlı olan canlı da karlı olamayabilir diye düşünüyorum. Bu konuda ne dersiniz?
ideal robotumda kullanmak üzere vip-usd ve vip-gld 5 dk ve 1 dk geçmiş datasına ihtiyacım var. Elinde bu datalar olan varsa bizimle paylaşabilir mi? Tşk.
bool FiltreUP = (C[i] >= SonFiyat * 1.003 || C[i] <= SonFiyat);
bool FiltreDN = (C[i] >= SonFiyat || C[i] <= SonFiyat * 0.997);
buna benzer fiyat ile filtre biliyormusunuz elinde olan paylaşabilirmi