Elit göstergeler :) - sayfa 199

 

Dijital Filtreler EA bilgisi

Mladen, MrTools,

#1987 ile #1989 arasında gösterilen Dijital Filtreler çok etkileyici.

Bunları kullanarak bir EA denemek istiyorum - değerleri çıkarmak için iCustom'u nasıl kuracağınızı heceleyebilir misiniz?

Grafik Düzeltilmiş - Mod 1 (SATL) ve Mod 0 (FATL) üzerindeki Dijital Filtreler iyi bir seçim olabilir.

EA mantığı basit olabilir - FATL > SATL ve her ikisinin eğimi pozitif olduğunda satın alın; satmak için ters; FATL eğimi = 0 olduğunda kapanır.

Burada eğimin en iyi nasıl hesaplanacağına dair herhangi bir öneriniz var mı?

Teşekkürler!

Rex

 
mladen:
Rex

Düzleştirilmemiş versiyondaki eğimleri bulmak için bunun gibi bir şey kullanabilirsiniz.

int price = PRICE_CLOSE;

int filterType;

filterType = 0;

double fatlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double fatlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

filterType = 1;

double satlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double satlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

filterType = 2;

double rftlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double rftlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

filterType = 3;

double rstlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double rstlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

//

//

// slope of any of the values, fatl in this case

//

//

bool slopeUp = false;

bool slopeDown = false;

if (fatlCurrent>fatlPrevious) slopeUp = true;

if (fatlCurrent<fatlPrevious) slopeUp = true;

[/php]to find it out in the smoothed version use something like this (additional parameters needed in iCustom() call)

int length = 5;

int phase = 0

int price = PRICE_CLOSE;

int filterType;

filterType = 0;

double fatlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double fatlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

filterType = 1;

double satlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double satlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

filterType = 2;

double rftlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double rftlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

filterType = 3;

double rstlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double rstlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

//

//

// slope of any of the values, fatl in this case

//

//

bool slopeUp = false;

bool slopeDown = false;

if (fatlCurrent>fatlPrevious) slopeUp = true;

if (fatlCurrent<fatlPrevious) slopeUp = true;

[/php]Both examples are using current (open) bar value. To avoid it change the last parameter from 0 and 1 to 1 and 2. Also, included even unnecessary values calculations (as you can see all the digital filters types are calculated) in order to show how to retreive every value

To compare values of different filters simply compare (for example) if (fatlCurrent>rftlCurrent) or if (fatlCurrent<rftlCurrent) but that just shows their relative values. It does not show if they just crossed one above/bellow the other

______________________

To find crossings of a different filters, it gets a bit more complicated and the best way is to write a new indicator. It is more complicated because it depends how do you treat eventual equal values of two indicators. I prefer to treat them as a trend continuation and not as a possible trend reversal. Attaching an indicator that will show you "trends" (a simple "bigger"/ "smaller" relation) of 2 digital filters. To use it all you need is to check the value that is even not going to be displayed anywhere on chart, like this

[php] int price = PRICE_CLOSE;

int filterType1 = 0; // fatl

int filterType2 = 2; // rftl

int filtersTrendCurrent = iCustom(NULL,0,"Digital filters - on chart trend","",filterType1,FilterType2,price,5,0); // retrieve value from trend buffer

int filtersTrendPrevious = iCustom(NULL,0,"Digital filters - on chart trend","",filterType1,FilterType2,price,5,1); //

if (filterTrendCurrent!= filterTrendPrevious) // trend just changed

{

if (filtersTrendCurrent== 1) ....// trend changed to up

if (filtersTrendCurrent==-1) ....// trend changed to down

}

Also, the remark for a opened bar stands for this example too, so change the last parameter to desired value (1 for closed bar, for example) if you do not want to use opened bar signals. The target indicator is the histogram down on the picture (fatl / rftl crosses in this case on a 5 minute chart)
And in the end, you could do something like this :

[php] if (filterTrendCurrent!= filterTrendPrevious) // trend just changed

{

if ( fatlCurrent>fatlPrevious && rftlCurrent>rftlPrevious && filtersTrendCurrent== 1) Buy...

if ( fatlCurrent<fatlPrevious && eftlCurrent<rftlPrevious && filtersTrendCurrent==-1) Sell....

}

//

// the danger is that the slope and the crosses are not going to change in the same

// moment and buying or selling on every bar when slopes are equal would cause an

// EA to "overtrade"

//

Ancak bence sadece çarpıları kontrol etmek ve filtreleme için tamamen başka bir eğim kullanmak yeterlidir (bu örneklerde hızlı dijital filtre kullanılır, daha sonra yavaş dijital filtreler (satl veya rstl) "eğim" filtreleme olarak kullanılabilir)

______________________

Not: EA söz konusu olduğunda, herhangi bir değer göstermeyen bir gösterge yazmayı bile düşünebilirsiniz (bu durumda bu geçmiş sürümde 2 arabellek tasarrufu sağlar) ancak bu durumda ne yaptığınızdan %101 emin olmalısınız. kodla ("görsel kontrol" yok)

Saygılarımızla

Mladen

Rex,

Sadece Mladen'in bu dijital göstergelerinin Ea için çok iyi bir seçim olduğunu söylemek istiyorum, hepsi diğer eski sürümlere kıyasla Cpu'da ne kadar hafif olduklarını fark ettiler. Eski dijital sürümlerle, özellikle bilgisayarın acı çektiği birden fazla zaman diliminde STLM eğimi kullanarak bir dizi Ea;s yaptık, bunlar aynı derecede iyi veya daha iyi ama çok daha hafif görünüyor.

Saygılarımızla

aletler

 

Mladen, Mrtools,

İşte tam da bunu umuyordum!

Bu büyük bir yardım.

Tekrar teşekkürler.

Rex

 

Rex

Düzleştirilmemiş versiyondaki eğimleri bulmak için bunun gibi bir şey kullanabilirsiniz.

int price = PRICE_CLOSE;

int filterType;

filterType = 0;

double fatlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double fatlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

filterType = 1;

double satlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double satlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

filterType = 2;

double rftlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double rftlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

filterType = 3;

double rstlCurrent = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,0);

double rstlPrevious = iCustom(NULL,0,"Digital filters - on chart","",filterType,price,0,1);

//

//

// slope of any of the values, fatl in this case

//

//

bool slopeUp = false;

bool slopeDown = false;

if (fatlCurrent>fatlPrevious) slopeUp = true;

if (fatlCurrent<fatlPrevious) slopeUp = true;

[/php]to find it out in the smoothed version use something like this (additional parameters needed in iCustom() call)

int length = 5;

int phase = 0

int price = PRICE_CLOSE;

int filterType;

filterType = 0;

double fatlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double fatlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

filterType = 1;

double satlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double satlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

filterType = 2;

double rftlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double rftlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

filterType = 3;

double rstlCurrent = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,0);

double rstlPrevious = iCustom(NULL,0,"Digital filters smoothed - on chart","",filterType,price,length,phase,0,1);

//

//

// slope of any of the values, fatl in this case

//

//

bool slopeUp = false;

bool slopeDown = false;

if (fatlCurrent>fatlPrevious) slopeUp = true;

if (fatlCurrent<fatlPrevious) slopeUp = true;

[/php]Both examples are using current (open) bar value. To avoid it change the last parameter from 0 and 1 to 1 and 2. Also, included even unnecessary values calculations (as you can see all the digital filters types are calculated) in order to show how to retreive every value

To compare values of different filters simply compare (for example) if (fatlCurrent>rftlCurrent) or if (fatlCurrent<rftlCurrent) but that just shows their relative values. It does not show if they just crossed one above/bellow the other

______________________

To find crossings of a different filters, it gets a bit more complicated and the best way is to write a new indicator. It is more complicated because it depends how do you treat eventual equal values of two indicators. I prefer to treat them as a trend continuation and not as a possible trend reversal. Attaching an indicator that will show you "trends" (a simple "bigger"/ "smaller" relation) of 2 digital filters. To use it all you need is to check the value that is even not going to be displayed anywhere on chart, like this

[php] int price = PRICE_CLOSE;

int filterType1 = 0; // fatl

int filterType2 = 2; // rftl

int filtersTrendCurrent = iCustom(NULL,0,"Digital filters - on chart trend","",filterType1,FilterType2,price,5,0); // retrieve value from trend buffer

int filtersTrendPrevious = iCustom(NULL,0,"Digital filters - on chart trend","",filterType1,FilterType2,price,5,1); //

if (filterTrendCurrent!= filterTrendPrevious) // trend just changed

{

if (filtersTrendCurrent== 1) ....// trend changed to up

if (filtersTrendCurrent==-1) ....// trend changed to down

}

Also, the remark for a opened bar stands for this example too, so change the last parameter to desired value (1 for closed bar, for example) if you do not want to use opened bar signals. The target indicator is the histogram down on the picture (fatl / rftl crosses in this case on a 5 minute chart)
And in the end, you could do something like this :

[php] if (filterTrendCurrent!= filterTrendPrevious) // trend just changed

{

if ( fatlCurrent>fatlPrevious && rftlCurrent>rftlPrevious && filtersTrendCurrent== 1) Buy...

if ( fatlCurrent<fatlPrevious && eftlCurrent<rftlPrevious && filtersTrendCurrent==-1) Sell....

}

//

// the danger is that the slope and the crosses are not going to change in the same

// moment and buying or selling on every bar when slopes are equal would cause an

// EA to "overtrade"

//

Ama bence sadece çarpıları kontrol etmek ve filtreleme için tamamen başka bir eğim kullanmak yeterlidir (bu örneklerde hızlı dijital filtre kullanılır, daha sonra yavaş dijital filtreler (satl veya rstl) "eğim" filtreleme olarak kullanılabilir)

______________________

Not: EA söz konusu olduğunda, herhangi bir değer göstermeyen bir gösterge yazmayı bile düşünebilirsiniz (bu durumda bu geçmiş sürümde 2 arabellek tasarrufu sağlar) ancak bu durumda ne yaptığınızdan %101 emin olmalısınız. kodla ("görsel kontrol" yok)

______________________

PPS: bu gönderide doğru "dijital filtreler - grafik trendleri" göstergesi bulunur https://www.mql5.com/en/forum/general

Saygılarımızla

Mladen

rdoane:
Mladen, MrTools,

#1987 ile #1989 arasında gösterilen Dijital Filtreler çok etkileyici.

Bunları kullanarak bir EA denemek istiyorum - değerleri çıkarmak için iCustom'u nasıl kuracağınızı heceleyebilir misiniz?

Grafik Düzeltilmiş - Mod 1 (SATL) ve Mod 0 (FATL) üzerindeki Dijital Filtreler iyi bir seçim olabilir.

EA mantığı basit olabilir - FATL > SATL ve her ikisinin eğimi pozitif olduğunda satın alın; satmak için ters; FATL eğimi = 0 olduğunda kapanır.

Burada eğimin en iyi nasıl hesaplanacağına dair herhangi bir öneriniz var mı?

Teşekkürler!

Rex
Dosyalar:
 

Orijinal olarak şu gönderide yayınlanan "dijital filtreler - grafik trendleri"nde: https://www.mql5.com/en/forum/general bir hata vardı. Bu düzeltilmiş olan, bu yüzden lütfen bunu kullanın

Saygılarımızla

Mladen

 

Mladen,

Bu göstergeye yeniden boyamayan renklendirme ve mtf seçeneği ekleyebilir misiniz? Teşekkürler.

Dosyalar:
rsi_ma.mq4  4 kb
 

bilgisayar koparma

Mladen,

Sanal bir özel sunucuda bir EA kullanıyorum. Fareyi bilet numarasının üzerine koyduğumda bazen "PC-Breakout" mesajı alıyorum.

Bu ne anlama geliyor ? Bağlantı kaybı mı yoksa sunucunun yeniden başlatılması olabilir mi?

Teşekkürler

Saygılarımızla,

 
casaliss:
merhaba mladen

Lütfen mevcut grafiğe sıfır çizgi çapraz okları ekleyin.

teşekkürler

Merhaba Mladen

1997 sonrası

teşekkürler

 

Tradefx1

Tahminimce, EA'nızın sipariş üzerine yerleştirdiği yorumdur (sipariş listesine sağ tıkladığınızda "yorumları" kontrol etmeyi deneyin ve ardından yorumun aldığınız açılır metne karşılık gelip gelmediğine bakın)

Saygılarımızla

Mladen

Tradefx1:
Mladen,

Sanal bir özel sunucuda EA kullanıyorum. Fareyi bilet numarasının üzerine koyduğumda bazen "PC-Breakout" mesajı alıyorum.

Bu ne anlama geliyor ? Bağlantı kaybı mı yoksa sunucunun yeniden başlatılması olabilir mi?

Teşekkürler

Saygılarımızla,
 

ikiyüzlü

Hadi bakalım
Not: "mtf" kısmını gözden kaçırdım. Bir mtf sürümü de eklendi

Saygılarımızla

Mladen

biddick:
Mladen, Bu göstergeye yeniden boyamayan renklendirme ve mtf seçeneği ekleyebilir misiniz?Teşekkürler.
Dosyalar: