T3 - sayfa 30

 

Evet, sadece 2 x ATR eklemek için

 
sohocool:
Merhaba Mladen,

Uyarlanabilir Gövde Hareketli Ortalama V2 yapmak mümkün mü sizce ???

Ondalık nokta işe yarıyor gibi görünüyor.

Saygılarımızla

Gövde LWMA'ya dayanmaktadır ve LWMA kesinlikle çubuk tabanlı olduğundan, değişikliklerde EMA tabanlı olanlar kadar düzgün olmayacaktır, örneğin (HULL'ı elde etmek için hesaplanan 3 LWMA'nın alt periyotları tamsayı değerleri olmalıdır). Gövdedeki LWMA'yı EMA ile değiştirirsek, denemeye değer olabilir (ve hesaplanan alt periyotların yuvarlanmasından kaçınırsak). O zaman artık bir HULL olmayacağı doğru, ama belki iyi bir tane olurdu ve o zaman adapte olmak için mükemmel olurdu.

 
mladen:
Gövde LWMA'ya dayanmaktadır ve LWMA kesinlikle çubuk tabanlı olduğundan, değişikliklerde EMA tabanlı olanlar kadar düzgün olmayacaktır, örneğin (HULL'ı elde etmek için hesaplanan 3 LWMA'nın alt periyotları tamsayı değerleri olmalıdır). Gövdedeki LWMA'yı EMA ile değiştirirsek, denemeye değer olabilir (ve hesaplanan alt periyotların yuvarlanmasından kaçınırsak). O zaman artık bir HULL olmayacağı doğru, ama belki iyi bir tane olurdu ve o zaman adapte olmak için mükemmel olurdu.

Teşekkürler, Ema ile yapmaya çalışacağım.

 
sohocool:
Teşekkürler, Ema ile yapmaya çalışacağım.

Noktaları tamsayı değerlerine yuvarladığı için yerleşik iMA() işlevini kullanmayın.

Bu işlevi (veya benzer bir şeyi) kullanın:

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

//

//

double workEma[][3];

double iEma(double price, double period, int r, int instanceNo=0)

{

if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars); r = Bars-r-1;

//

//

//

//

//

double alpha = 2.0 / (1.0+period);

workEma[r] = workEma[r-1]+alpha*(price-workEma[r-1]);

return(workEma[r]);

}

3 farklı hesaplama örneğinde. Parametreler basittir: fiyat, dönem, dizin ve örnek numarası

 
mladen:
Noktaları tamsayı değerlerine yuvarladığı için yerleşik iMA() işlevini kullanmayın.

Bu işlevi (veya benzer bir şeyi) kullanın:

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

//

//

double workEma[][3];

double iEma(double price, double period, int r, int instanceNo=0)

{

if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars); r = Bars-r-1;

//

//

//

//

//

double alpha = 2.0 / (1.0+period);

workEma[r] = workEma[r-1]+alpha*(price-workEma[r-1]);

return(workEma[r]);

}

3 farklı hesaplama örneğinde. Parametreler basittir: fiyat, dönem, dizin ve örnek numarası

Silip buraya yapıştırmam gerekiyor ???

double iT3(çift fiyat, çift dönem, çift sıcak, bool clean, int i, int örnekNo=0)

{

if (ArrayRange(workT3,0) !=Barlar) ArrayResize(workT3,Barlar);

if (ArrayRange(workT3Coeffs,0) < (instanceNo+1)) ArrayResize(workT3Coeffs,instanceNo+1);

if (workT3Coeffs[_period] != nokta)

{

workT3Coeffs[_period] = periyot;

çift a = sıcak;

workT3Katları[_c1] = -a*a*a;

workT3Katları[_c2] = 3*a*a+3*a*a*a;

workT3Katları[_c3] = -6*a*a-3*a-3*a*a*a;

workT3Katları[_c4] = 1+3*a+a*a*a+3*a*a;

eğer (temiz)

workT3Coeffs[_alpha] = 2.0/(2.0 + (dönem-1.0)/2.0);

else workT3Coeffs[_alpha] = (MathCos(2*Pi/dönem)+MathSin(2*Pi/dönem)-1)/MathCos(2*Pi/dönem);

}

 
sohocool:
Silip buraya yapıştırmam gerekiyor ???

double iT3(çift fiyat, çift dönem, çift sıcak, bool clean, int i, int örnekNo=0)

{

if (ArrayRange(workT3,0) !=Barlar) ArrayResize(workT3,Barlar);

if (ArrayRange(workT3Coeffs,0) < (instanceNo+1)) ArrayResize(workT3Coeffs,instanceNo+1);

if (workT3Coeffs[_period] != nokta)

{

workT3Coeffs[_period] = periyot;

çift a = sıcak;

workT3Katları[_c1] = -a*a*a;

workT3Katları[_c2] = 3*a*a+3*a*a*a;

workT3Katları[_c3] = -6*a*a-3*a-3*a*a*a;

workT3Katları[_c4] = 1+3*a+a*a*a+3*a*a;

eğer (temiz)

workT3Coeffs[_alpha] = 2.0/(2.0 + (dönem-1.0)/2.0);

else workT3Coeffs[_alpha] = (MathCos(2*Pi/dönem)+MathSin(2*Pi/dönem)-1)/MathCos(2*Pi/dönem);

}

sohocool

Burada nasıl yapılabileceğinin bir sürümü yayınlandı (bu hala uyarlanabilir bir sürüm değil): https://www.mql5.com/en/forum/174961/page10

Şimdi onu uyarlanabilir hale getirmelisiniz (sonuçta bu sizin fikrinizdi)

 
sohocool:
Merhaba Mladen,

Adaptif fonksiyon çok ilginç.

Uyarlanabilir T3'ü "İsviçre Ordusu" Alpha ile yaptım.

2 alfa seçebiliriz: temiz veya İsviçre ordusu.

Saygılarımızla.

Not: Normal alfa periyodu istiyorsanız temiz alfa kullanabilirsiniz: 2 x periyot

Herkese selam,

ATR kanalını ekledim.

 
mladen:
Uyarlama için standart sapma kullanan T3 göstergesi (T3, uyarlama için çok iyidir, çünkü hesaplama uzunluğunun bir tamsayı olması gerekmez - örneğin bir nnn.5 T3 hesaplayabilirsiniz - ve bu, uyarlama yapıldığında bile mükemmel bir pürüzsüz T3 değeri verir. buna uygulanan, diğer bazı ortalama türlerinin uyarlanmasıyla ilgili bir durum değildir)

Not: kaynağı derlemede sorun yaşayabilecek olanlar için ex4'ü de eklemek. Gösterge ilk harfinden son harfine kadar tarafımdan yazılmış olsa da derlemem bir süredir derlemeyi reddediyordu. Şimdi, birdenbire, sorunsuz bir şekilde derliyor, bu yüzden bir başkasının benim yaşadığım aynı sorunu yaşamayacağından emin değilim. Bu durumda ex4'ü indirin (yapı 500 ile oluşturulmuştur)

Not: "normal" T3 göstergeleri ile karşılaştırırken, T3Original'i false olarak ayarlayın (çünkü T3 göstergelerinin çoğu, orijinal Tim Tillson hesaplamasını değil, Fulks/Matulich hesaplamasını kullanır)

Sevgili Mladen

Ekli göstergeyi 'Uyarlanabilir T3 hesaplamaları' ile dönüştürmeniz mümkün mü?

herhangi bir yardım için teşekkürler

gizli kod

Dosyalar:
ma_i-ca.mq4  2 kb
 
secretcode:
Sevgili Mladen

Ekteki göstergeyi 'Uyarlanabilir T3 hesaplamaları' ile dönüştürmeniz mümkün mü?

herhangi bir yardım için teşekkürler

gizli kod

gizli kod

Hadi bakalım Orijinal göstergeyle aynı varsayılan parametreleri kullanın (böylece kolayca karşılaştırılabilirler - beklendiği gibi bu çok daha hızlıdır)

Dosyalar:
 

Merhaba Mladen,

Fiyatı yumuşatmak veya piyasa döngülerine uyum sağlamak vb. için güzel kodlama yöntemlerinizi toplayan bir kitaplık dosyası yapmayı hiç düşündünüz mü? Böyle bir dosyanın birçok yönden çok faydalı olacağını düşünüyorum, en azından göstergelerinizin çoğunda kodlama yapısını daha temiz ve net hale getirin (zaten çok temiz ve netler, biliyorum ama her zaman daha iyisini dileyin ve daha mükemmeli arayın).

Şahsen, ünlü DynamicZone.dll'nizle aynı, sizden böyle bir lib dosyası almayı seviyorum. Hepsi kodlama dünyasını en azından benim için daha ilginç ve kullanışlı hale getiriyor.

Neden: