Kodlama yardımı - sayfa 112

 
mladen:
rsi ve cci için iCustom() kullanmak yerine yerleşik işlevleri kullanın.

RSI için gerekli parametreler:

[TD] string sembolü, int zaman çerçevesi, int periyodu, int uygulanan_fiyat, int shift)
çift iRSI([/TD] string sembolü, int zaman çerçevesi, int periyodu, int uygulanan_fiyat, int shift)[/TD]

[/TR]

[/TABLO]

CCİ için gerekli parametreler:

[TABLE="sınıf: docvar"]

[TR]

[TD] çift iCCI(

Ve CMO için, ilk parametre LastBarOnly ve ikincisi CMO_Range'dir, bu nedenle iCustom() çağrısı şöyle olmalıdır:

iCustom(NULL,0,"cmo",false,CMORange,0,i);

CMORange'ın bir parametre olduğu yerde

mql4'e acemiyim, yazabilir misin? lütfen

 
anonimm:
mql4'e acemiyim, yazabilir misin? lütfen

Bunun gibi bir şey yapın:

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Crimson

#property indicator_color2 RoyalBlue

extern int barsToProcess=100;

extern int RsiPeriod = 14;

extern int RsiPrice = PRICE_CLOSE;

extern int CciPeriod = 14;

extern int CciPrice = PRICE_TYPICAL;

extern int CmoRange = 14;

//

double ExtMapBuffer1[];

double ExtMapBuffer2[];

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

//

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

int init()

{

SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,233);

SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,234);

return(0);

}

int deinit() { return(0); }

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

//

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

int start()

{

int counted_bars=IndicatorCounted();

if(counted_bars>0)counted_bars--;

int limit=Bars-counted_bars; if(limit>barsToProcess)limit=barsToProcess;

for(int i=limit;i>=0;i--)

{

double rsi=iRSI(NULL,0,RsiPeriod,RsiPrice,i);

double cci=iCCI(NULL,0,CciPeriod,CciPrice,i);

double cmo=iCustom(NULL,0,"cmo",false,CmoRange,0,i);

if(rsi>60.0 && cci>150.0 && cmo>30.0)

ExtMapBuffer1=High+5*Point;

else ExtMapBuffer1=EMPTY_VALUE;

if(rsi<40.0 && cci<-150.0 && cmo<-30.0)

ExtMapBuffer2=Low-5*Point;

else ExtMapBuffer2=EMPTY_VALUE;

}

return(0);

}

Bir test göstergesi de eklemek (yukarıdaki kodla aynı)

Dosyalar:
_test.mq4  2 kb
 

FX5'ten şimdiye kadar gördüğüm en iyi Stokastik sapmalardan birini burada paylaşıyorum 5 (böyle pek çok indis deniyorum),

"Normal sapma" ve çok ilginç "Gizli sapma" anlamına gelir.

Birisi koda grafik ve stokastikteki trend çizgilerinin rengini değiştirme imkanı ekleyebilir mi?

Ve birisi bu kodu çok güzel bir RSI ayrışması için kullanabilir mi çünkü onu asla bulamıyorum

Yapacak kodlayıcı için çok teşekkürler

İyi günler

Zilliq

https://mon-partage.fr/f/qtt6kDOR/

Not: Bu gönderiyi doğru yerde değiştiren moderatöre teşekkürler ;-)

Dosyalar:
 
zilliq:
FX5'ten şimdiye kadar gördüğüm en iyi Stokastik sapmalardan birini burada paylaşıyorum 5 (böyle pek çok indis deniyorum),

"Normal sapmayı" ve çok ilginç "Gizli sapmayı" gösterir.

Birisi koda grafik ve stokastikteki trend çizgilerinin rengini değiştirme imkanı ekleyebilir mi?

Ve birileri bu kodu çok güzel bir RSI ayrışması için kullanabilir mi çünkü onu asla bulamıyorum

Yapacak kodlayıcı için çok teşekkürler

İyi günler

Zilliq

https://mon-partage.fr/f/qtt6kDOR/

Not: Bu gönderiyi doğru yerde değiştiren moderatöre teşekkürler ;-)

zilliq

Şimdi deneyin: renkler parametrelerden ayarlanabilir

Dosyalar:
 

Çok teşekkürler Mladen ,

hemen denerim

Zilliq

 

Merhaba Mladen

Gelişmiş elitlerden korelasyon göstergesi değerleri görünmüyor, yardımcı olabilir misiniz?Teşekkürler.

 
nevar:
Merhaba Mladen Gelişmiş elitlerden Korelasyon gösterge değerleri görünmüyor, yardımcı olabilir misiniz? Teşekkürler.

Merhaba Nevar, eğer bu https://www.mql5.com/en/forum/180028 ise dll'yi de alıp dll içe aktarmayı etkinleştirdiniz mi?

 

Teşekkürler MrTools

Evet dll dosyası ile çözüldü.

 

Kodlama Yardımı gerekli...

OBJ_VLINE ile oynuyorum ve hiçbir yere hızlı gitmiyorum. Aşağıdaki kodu kullanarak, örnek olarak iki hareketli ortalamanın kesişimine bir VLINE çizebilirim.

{

string name="vline"+DoubleToStr(i,0);

ObjectCreate(name,OBJ_VLINE,0,iTime(Symbol(),0,i),0);

}

Gerçekten yapmaya çalıştığım şey, MA'nın eğimi pozitiften negatife çevirdiği noktada bir VLINE ve Yatay çizgi oluşturmak. Değişikliğin gerçekleştiği gerçek fiyatı gösteren Yatay çizgi. Eğimde renkleri değiştirmek için aşağıdaki kodu kullanıyorum.

hızlı trend=hızlı trend;

if (MABuf>MABuf) hızlı trend= 1;

if (MABuf<MABuf) hızlı trend=-1;

eğer (hızlı trend>0)

{

FastUpBuffer = MABuf;

if (fasttrend<0) FastUpBuffer=MABuf;

FastDnBuffer = EMPTY_VALUE;

}

else if (fasttrend<0)

{

FastDnBuffer = MABuf;

if (fasttrend>0) FastDnBuffer=MABuf;

FastUpBuffer = EMPTY_VALUE

}

İlk denemem, her çubuğa rengarenk ama gerçekten aklımdaki gibi olmayan vline'ların çizilmesiyle sonuçlandı. Ayrıca yeni bir tane oluşturulduğunda eski "artı işaretinin" nasıl silineceği hakkında hiçbir fikrim yok. Bunu yapan etrafında yüzen bir işlev var mı? Bunu, göstergenin gerçekten yön değiştirdiği çubukta gerçek fiyatı görebileceğimiz eğim değişimini belirtmek için oklara alternatif olarak ayarlamak istiyorum.

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

Alex

 
hughesfleming:
Kodlama Yardımı gerekli....

OBJ_VLINE ile oynuyorum ve hiçbir yere hızlı gitmiyorum. Aşağıdaki kodu kullanarak, örnek olarak iki hareketli ortalamanın kesişimine bir VLINE çizebilirim.

{

string name="vline"+DoubleToStr(i,0);

ObjectCreate(name,OBJ_VLINE,0,iTime(Symbol(),0,i),0);

}

Gerçekten yapmaya çalıştığım şey, MA'nın eğimi pozitiften negatife çevirdiği noktada bir VLINE ve Yatay çizgi oluşturmak. Değişikliğin gerçekleştiği gerçek fiyatı gösteren Yatay çizgi. Eğimde renkleri değiştirmek için aşağıdaki kodu kullanıyorum.

hızlı trend=hızlı trend;

if (MABuf>MABuf) hızlı trend= 1;

if (MABuf<MABuf) hızlı trend=-1;

eğer (hızlı trend>0)

{

FastUpBuffer = MABuf;

if (fasttrend<0) FastUpBuffer=MABuf;

FastDnBuffer = EMPTY_VALUE;

}

else if (fasttrend<0)

{

FastDnBuffer = MABuf;

if (fasttrend>0) FastDnBuffer=MABuf;

FastUpBuffer = EMPTY_VALUE

}

İlk denemem, her çubuğa rengarenk ama gerçekten aklımdaki gibi olmayan vline'ların çizilmesiyle sonuçlandı. Ayrıca yeni bir tane oluşturulduğunda eski "artı işaretinin" nasıl silineceği hakkında hiçbir fikrim yok. Bunu yapan etrafında yüzen bir işlev var mı? Bunu, göstergenin gerçekten yön değiştirdiği çubukta gerçek fiyatı görebileceğimiz eğim değişimini belirtmek için oklara alternatif olarak ayarlamak istiyorum.

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

Alex

Alex

Bunun gibi bir şey denediniz mi ( yatay çizgi ekleme için):

{

string name="vline"+Time;ObjectCreate(name,OBJ_VLINE,0,Time,0);

name="hline"+Time;ObjectCreate(name,OBJ_HLINE,0,Time,MABuff);

}