MOM[i-2] > 0 && MOM[i-1] > 0
veya
var X=Sistem.liste(0);
Döngü icinde
X [i-1]= (MOM[i-2] > 0 && MOM[i-1] > 0) ? -1 : X [i];
gibi olabilir.
|
|
arkadaşlar merhaba bayramınız kutlu olsun
arkadaşlar yukarıdaki sistemde sarı ile işaretli bölümlerde bir bir önceki var da al verirken bir sonraki barda sat veriyor
benim yapmak istediğim şey şu
arka arkaya verilen al-sat sinyallerini
sistem al veya sat vereli 1 veya 2 bar geçmişse şu şartla al sat demek istiyorum
tam derdimi anlatabildimmi bilmiyorum ama
sat verdiği bara -1 sayac atamak
al verdiği bara +1 sayac atasmak
gibi
if ( sayac 2 den buyukse (sat verdiği barı 2 bar geçmişse gibi ) && MOM[i] > 0 && SonYon != "A")
else if ( sayac -2 den buyukse (al verdiği barı 2 bar geçmişse gibi ) && MOM[i] < 0 && SonYon != "S")
MOM[i-2] > 0 && MOM[i-1] > 0
veya
var X=Sistem.liste(0);
Döngü icinde
X [i-1]= (MOM[i-2] > 0 && MOM[i-1] > 0) ? -1 : X [i];
gibi olabilir.
şu video da anlatıldığı şeklinde uygulama yaptığım 2 paremetreli bir formülüm var fakat ideal algo da yapılan optimizasyon da tüm sonuçlar aynı yani optsiz sonuçları koyuyor önüme.
https://www.youtube.com/watch?v=XdVQDGBj9Zg
Merhaba
Testlerinizi kaç barda yapıyorsunuz? Çok yüksek bar sayısında test yaptığımda;
1- Farklı fiyat seviyeleri (3 TL ve 10 TL)
2- Farklı ekonomik konjonktür
3- Farklı global olaylar (pandemi, resesyon vb.) gibi dezavantajlar olabiliyor.
Düşük bar sayısında yaptığım testlerde ise çıkan parametreleri daha geçmiş verilere uyguladığımda kabul edilebilir sonuçlar çıkmıyor.
Bu işin minimumu kaç olmalıdır?
Bar sayısı hakkında;
Backtestlerin beklenilene yakın şekilde gerçek piyasada çalışması bakımından bar sayısından ziyade işlem sayısı önemlidir. Bar periyoduna göre bu sayı değişecektir. 20.000 bar ile 150 işlem açan bir sistem 100.000 bar ile 30 işlem açan bir sisteme göre daha az curve fitting olasılığı içerebilir. Optimize edilen parametre sayısı arttıkça toplam işlem sayısının artması backtestin güvenirliğini arttırır. Örneğin sadece 2 parametreli bir sistem için 200 işlemli bir backtest yeterli olabilirken 4 parametre optimize edilecekse 400 işlem anlamlı olabilir. Bu sayıların genel geçer görmüş bir tablosu yoktur. Sistemci zamanla kendi tecrübelerine göre karar vermek zorundadır.
İşlemlerinin neredeyse tamamı boğa piyasasında oluşmuş bir backtestin ayı piyasasında nasıl çalışacağını kimse bilemez ama para kaybettireceğini tahmin etmek zor değil. Eğer sistemlerinizi market rejimine göre açıp kapatıyorsanız bu bir problem değildir. Her piyasaya uygun sistemi çalıştırarak bu sorunun etrafından dolanabilirsiniz. Tüm zamanlarda aynı sistemi aktif tutmayı planlıyorsanız daha detaylı bir sisteme ihtiyacınız var demektir.
Herkese Selam, Lib.cs de kendi kütüphanemi oluşturmaya çalışıyorum ve daha öğrenmem gereken çok şey var.
Aşağıdaki koddaki, KCiz ve DCiz değerlerini ideal'in kod penceresinden nasıl çekabilirim?
Yardımı olanlara şimdiden teşekkürler.
public STOCiz STO(int PeriyotK, int PeriyotD, List<float> Kapanis, List<float> Yuksek, List<float> Dusuk)
{
STOCiz liste = new STOCiz();
liste.KCiz = new List<float>(new float[Kapanis.Count]);
liste.DCiz = new List<float>(new float[Kapanis.Count]);
try
{
if (Kapanis.Count > PeriyotK)
{
var Kendusuk = XBarEnDusuk(PeriyotK, Dusuk);
var Kenyuksek = XBarEnYuksek(PeriyotK, Yuksek);
for (int i = 0; i < Kapanis.Count; i++)
if (i > PeriyotK)
liste.KCiz[i] = ((Kapanis[i] - Kendusuk[i]) / (Kenyuksek[i] - Kendusuk[i])) * 100f; //fast stoK **sabit
liste.DCiz = EMA(PeriyotD, liste.KCiz); //fast stoD
//liste.KCiz = EMA(PeriyotD, liste.KCiz); //slow stoK
//liste.DCiz = MA(PeriyotD, liste.KCiz); //slow stoD
}
return liste;
}
catch { return liste; }
}
public struct STOCiz
{
public List<float> KCiz { get; set; }
public List<float> DCiz { get; set; }
}
sorgudan bazı matematiksel hesapları çekip excele aktarıp sonrasında bu veriler üzerinden yapay sinir ağları ile tahminleme yapmaya çalışacağım ama sorgu ekranından excele aktaramıyorum ya da ideal sistemine servis gibi bağlanmak mümkün mü?
Yer İmleri