Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Evet... ne kadar dalgın olduğumu bilmiyorum. Doğru zaman tavsiyeniz sayesinde TB_TotalCount ve VACount sayıları doğru ve kesinlikle makul hale geliyor. Ancak VA High/Low'u bulma hedeflerim hala sorunlu, bilgisayarım kodlamanın bu kısmıyla tekrar çöküyor. Şimdi nedenini anlamaya çalışıyorum.
Çok teşekkürler Mladen! Tavsiyen bana bütün beyaz geceden sonra kısmi bir gülümseme veriyor
Merhaba Mladen,
Sonunda sorunumun geri kalanını çözdüğümü bildirmek için. Daha da geliştirmeye çalışıyor.
Bana bu durumda elinden geldiğince az yardım etmene rağmen, bazen ayakları üzerinde durarak öğrenenlere öğretmenin en iyi yönteminin bu olduğunu görüyorum.
Kalbimin derinliklerinden teşekkürler, Mladen!
Mutlu güzel günler önünüzde
uzakdoğu
Merhaba Mladen,
Göreceli ve mutlak momentumu kullanmayı başardım
Yardımın için çok teşekkürler, şimdi rsx için ivmeyi düzeltmem gerekiyor
Zilliq
Not: Birine yardımcı olabilecekse:
// Kapanışta Göreli Momentum
ind1= kapat-kapa[1]
// Mutlak momentum
ind2=abs(ind1)
ind3=wilderAverage[rs](ind1)
ind4=wilderAverage[rs](ind2)
ind3=(50*(ind3+ind4))/ind4
ind3'ü "RSI",0, 30, 70, 100 olarak döndürZilliq
Bu gönderiye bir göz atın: https://www.mql5.com/en/forum/178733/page36
Orada (yumuşatma) nasıl yapılabileceğine dair bir örneğiniz var.
Teşekkürler Mladen, bunu göreceğim
İyi günler ve tüm yardımlarınız ve çalışmalarınız için binlerce teşekkürler
Zilliq
Peki, göstergenizde rsi smoother 2'yi iyi anladıysam, daha vahşi ortalamayı ismooth işleviyle değiştirmeniz yeterlidir.
Ve sen göreli ve mutlak momentumu "düzeltiyorsun"
Aynısını Hull ortalama ile yapıyorum ama sonuç benim resmimde gördüğünüzle aynı değil
Neden olduğu hakkında bir fikriniz var mı, yoksa bir hata mı yapıyorum?
Teşekkürler Mladen
Ve RSI14 ve RSIsmoother 45 kodu
// Kapanışta Göreli Momentum
ind1= kapat-kapa[1]
// Mutlak momentum
ind2=abs(ind1)
// Gövde ortalaması ile Pürüzsüz Bağıl momentum
v =(2*weightedAverage[round(rs/2)](ind1))-weightedAverage[rs](ind1)
ind3 = ağırlıklıOrtalama[Yuvarlak(Sqrt(rs))](v)
// Gövde ortalaması ile Pürüzsüz Mutlak momentum
v2 =(2*weightedAverage[yuvarlak(rs/2)](ind2))-weightedAverage[rs](ind2)
ind4 = ağırlıklıOrtalama[Yuvarlak(Sqrt(rs))](v2)
ind5=(50*(ind3+ind4))/ind4
ind5'i "RSI düzgün" olarak döndür
Aynı problemle, daha vahşi ortalamayı her ikisinde de (göreceli ve mutlak momentum) bir T3 Tillson ile değiştiriyorum
Sadece farklı yumuşatma yöntemleri kullanmanın bir sonucudur. Farklı yumuşatma farklı sonuçlar verecektir
rsi başlığında yayınlanan rsi ile karşılaştırılabilir sonuçlar istiyorsanız, o göstergede kullanılan bu tür yumuşatma kullanmanız gerekir.
Cevabınız için teşekkürler Mladen
Göreceli ve mutlak momentumun düzgünlüğünün, Gövde ortalaması ve T3 ile bazı abartılarla böyle bir sonuç vermesi garip.
Matematiksel bir formülle (mümkünse) açıklayabilir misiniz (mümkünse) lütfen RSI ile karşılaştırılabilir pürüzsüz bir RSI elde etmek için MT4'ün düz fonksiyonunun düzgünlüğünün nasıl çalıştığını lütfen sonra kodlayacağım.
Çok teşekkürler ve iyi günler
Zilliq
MT4 kodunuz ve benim yorumum:
//bağıl momentum
double mom = iMA(NULL,0,1,0,MODE_SMA,Fiyat,i)-iMA(NULL,0,1,0,MODE_SMA,Fiyat,i+1);
//mutlak momentum
çift moa = MathAbs(anne);
//"İsmooth işlevi" ile düzgün bağıl momentum
double tmom = iSmooth(mom,Length,SmoothSpeed,i,0);
// "İsmooth işlevi" ile pürüzsüz mutlak momentum
double tmoa = iSmooth(moa,Length,SmoothSpeed,i,1);
eğer (tmoa != 0)
//Ve 50*(RM+AM)(AM) oranı
rsi = MathMax(MathMin((tmom/tmoa+1.0)*50.0,100.00),0.00);
başka rsi = 50;
Zilliq
Bu göstergede kaynak koduna sahipsiniz. Sadece prorealtime dönüştürün
Ah, düzgün işlevi yorumlamak benim için gerçekten kolay değil (MT4, PRT ile karşılaştırıldığında çok karmaşıktır)
MT4 kodunu PRT'de sonra kodlamak için matematiksel koda çevirmeye çalışıyorum
Lütfen, PRT'de kodlamadan önce, her satırın altındaki farklı satırla ilgili yorumumu onaylayabilir misiniz?
Çok teşekkürler Mladen
Zilliq
double iSmooth(çift fiyat,int uzunluk, çift hız, int r, int örnekNo=0)
{
if (ArrayRange(workSmooth,0)!=Barlar) ArrayResize(workSmooth,Barlar); örnekNo *= 5; r = Çubuklar-r-1;
if(r<=2) { workSmooth[r] = fiyat; workSmooth[r] = fiyat; workSmooth[r] = fiyat; iade(fiyat); }
//
//
//
//
//
__________________________________________________________
çift beta = 0.45*(uzunluk-1.0)/(0.45*(uzunluk-1.0)+2.0);
beta = 0.45*(uzunluk-1.0)/(0.45*(uzunluk-1.0)+2.0)
__________________________________________________________
çift alfa = MathPow(beta,hız);
alfa = beta^hız
__________________________________________________________
workSmooth[r] = fiyat+alfa*(workSmooth[r-1]-fiyat);
Filt0 = fiyat+alfa*(Filt0[1]-fiyat);
__________________________________________________________
workSmooth[r] = (fiyat - workSmooth[r])*(1-alpha)+alpha*workSmooth[r-1];
Filt1 = (fiyat - Filt0 )*(1-alpha)+alpha*Filt1[1]
__________________________________________________________
workSmooth[r] = workSmooth[r] + workSmooth[r];
Filt2 = Filtre0 + Filtre1
__________________________________________________________
workSmooth[r] = (workSmooth[r] - workSmooth[r-1])*MathPow(1.0-alpha,2) + MathPow(alpha,2)*workSmooth[r-1];
Filt3=Filt2-Filt4[1]*(1-alpha)*(1-alpha)+alpha*alpha*Filt3[1]
__________________________________________________________
workSmooth[r] = workSmooth[r] + workSmooth[r-1];
Filt4=Filt3+Filt4[1]
__________________________________________________________
dönüş(workSmooth[r]);
dönüş Filt4
Ah, düzgün işlevi yorumlamak benim için gerçekten kolay değil (MT4, PRT ile karşılaştırıldığında çok karmaşıktır)
MT4 kodunu PRT'de sonra kodlamak için matematiksel koda çevirmeye çalışıyorum
Lütfen, PRT'de kodlamadan önce, her satırın altındaki farklı satırla ilgili yorumumu onaylayabilir misiniz?
Çok teşekkürler Mladen
Zilliq
double iSmooth(çift fiyat,int uzunluk, çift hız, int r, int örnekNo=0)
{
if (ArrayRange(workSmooth,0)!=Barlar) ArrayResize(workSmooth,Barlar); örnekNo *= 5; r = Çubuklar-r-1;
if(r<=2) { workSmooth[r] = fiyat; workSmooth[r] = fiyat; workSmooth[r] = fiyat; iade(fiyat); }
//
//
//
//
//
__________________________________________________________
çift beta = 0.45*(uzunluk-1.0)/(0.45*(uzunluk-1.0)+2.0);
beta = 0.45*(uzunluk-1.0)/(0.45*(uzunluk-1.0)+2.0)
__________________________________________________________
çift alfa = MathPow(beta,hız);
alfa = beta^hız
__________________________________________________________
workSmooth[r] = fiyat+alfa*(workSmooth[r-1]-fiyat);
Filt0 = fiyat+alfa*(Filt0[1]-fiyat);
__________________________________________________________
workSmooth[r] = (fiyat - workSmooth[r])*(1-alpha)+alpha*workSmooth[r-1];
Filt1 = (fiyat - Filt0 )*(1-alpha)+alpha*Filt1[1]
__________________________________________________________
workSmooth[r] = workSmooth[r] + workSmooth[r];
Filt2 = Filtre0 + Filtre1
__________________________________________________________
workSmooth[r] = (workSmooth[r] - workSmooth[r-1])*MathPow(1.0-alpha,2) + MathPow(alpha,2)*workSmooth[r-1];
Filt3=Filt2-Filt4[1]*(1-alpha)*(1-alpha)+alpha*alpha*Filt3[1]
__________________________________________________________
workSmooth[r] = workSmooth[r] + workSmooth[r-1];
Filt4=Filt3+Filt4[1]
__________________________________________________________
dönüş(workSmooth[r]);
dönüş Filt4Gördüğüm kadarıyla öyle olmalı, ancak prorealtime ile hiç çalışmadığımı unutmayın.