Kodlama yardımı - sayfa 200

 
alpha24:
Evet efendim ama kodlayamıyorum lütfen benim için yapın. Şimdiden teşekkürler

alfa24

Buraya gönderildi (bu afl formülündeki varsayılan parametreler kullanıldı): https://www.mql5.com/en/forum/173404/page5

 

mladen, mümkünse yapmak için bazı isteklerim var.

Ben her zaman 20-30 pip kârla (5 haneli komisyoncu) kafa derisi ticareti yaparım, ancak 1 dakikalık grafik kullandığım için bazen 20-30 pip tp küçük aralık nedeniyle beni kandırır, bu nedenle mevcut pip aralığını göstermek için basit bir gösterge yapabilirseniz grafik, ne demek istediğimi göstermek için aşağıdaki resmi gönderiyorum, tekrar teşekkürler

edit: pip aralığının değeriyle ilgili bir hata var, 170 pip olması gerekiyor

Dosyalar:
untitled.jpg  109 kb
 

herkese selam.

Aslında bunu başka bir konuya zaten göndermiştim ama sonra yardım istemek için daha uygun görünen bu konuyu buldum. Bu göstergenin pencere uyarısı göründüğünde para birimi adı eklememe yardımcı olabilecek var mı? Birçok çift açtığım için bu göstergenin hangisine atıfta bulunduğunu bilmek zor. sadece alım/satım sinyalinin gerçekleştiği anda söyler. bu yüzden bu uyarının hangisinden geldiğini bilmek için her çifti kontrol etmeliyim.

Teşekkürler.

 
forex_love:
herkese selam.

Aslında bunu başka bir konuya zaten göndermiştim ama sonra yardım istemek için daha uygun görünen bu konuyu buldum. Bu göstergenin pencere uyarısı göründüğünde para birimi adı eklememe yardımcı olabilecek var mı? Birçok çift açtığım için bu göstergenin hangisine atıfta bulunduğunu bilmek zor. sadece alım/satım sinyalinin gerçekleştiği anda söyler. bu yüzden bu uyarının hangisinden geldiğini bilmek için her çifti kontrol etmeliyim.

Teşekkürler.

Forex_love, ilk mesajınızdaki uyarıya döviz çiftini ekledi.

 
mrtools:
Forex_love, ilk mesajınızdaki uyarıya döviz çiftini ekledi.

çalışıyor.. bir kez daha teşekkürler mrtools.. eğer haklıysam, bu, mevcut çubuk doğru/yanlış seçeneği ve para birimi adında uyarı veren ilk bbstops göstergesi. şu anki doğru/yanlış seçeneği veya eklediğim gibi, geçerli doğru/yanlış olarak ayarlanmış ancak para birimi adı olmadan uyarı var .. şimdi her ikisini de bu göstergede yapıyorsunuz! umarım benim bozuk ingilizcemi anlayabilirsin..lol.. şimdi bu göstergeyle kolayca deney yapabilirim.. teşekkürler..

göstergeyi denemek isteyenler için, ilk mesajımda mrtools'un söylediği şey yukarıdaki mesajım değil, diğer konudaki mesajım.. )..

 

Mladen, bu göstergeyi düzeltmeme yardım eder misin? çizgiyi çizme...

Teşekkürler

#property indicator_separate_window

#property indicator_buffers 3

#property indicator_color1 Red

extern int ROC_Period=24;

extern int RSI_Period=3;

extern int bars_to_calculate = 250;

extern bool flip_line_up_side_down = false;

extern double USD = 1.0, // weights

JPY = 1.0,

GBP = 1.0,

CHF = 1.0,

CAD = 1.0,

AUD = 1.0,

NZD = 1.0;

double BIAS = 0; // starting value for the first bar

//---- indicator buffers

double Index[];

double ROC[];

double RSIonROC[];

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

string name = "";

//---- indicator line

IndicatorShortName(name);

IndicatorBuffers(3);

SetIndexStyle(0,DRAW_LINE,EMPTY,EMPTY);

SetIndexBuffer(0,RSIonROC);

SetIndexLabel(0,NULL);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Calculates the relative change of symbol between bar i and i+1 |

//+------------------------------------------------------------------+

double Sentinal(string symbol, int i = 0)

{

double a = iMA(symbol,0,1,0,0,4,i),

b = iMA(symbol,0,1,0,0,4,(i+1)),

move = a-b;

if(a==0||b==0)

{

if(i==0)

Print("Warning: No "+symbol+" data loaded.");

return(0);

}

double moveInPercent = 100*move/b;

return(moveInPercent);

}

//+------------------------------------------------------------------+

int start()

{

// int iMax = Bars - 1 - IndicatorCounted();

int iMax = Bars -1 ;

if(iMax >= bars_to_calculate)

{

iMax = bars_to_calculate;

}

Index = BIAS;

//----

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

{

double x = 0;

x += USD * Sentinal("EURUSD",i);

x += JPY * Sentinal("EURJPY",i);

x += GBP * Sentinal("EURGBP",i);

x += CHF * Sentinal("EURCHF",i);

x += CAD * Sentinal("EURCAD",i);

x += AUD * Sentinal("EURAUD",i);

x += NZD * Sentinal("EURNZD",i);

if (flip_line_up_side_down)

x *= -1;

Index = Index+x;

ROC=iClose(Index,0,i)-iClose(Index,0,i+ROC_Period);

RSIonROC=iRSIOnArray(ROC,Bars,RSI_Period,i);

}

return(0);

}

 
k3rn3l:
Mladen, bu göstergeyi düzeltmeme yardım eder misin? çizgiyi çizme...

Teşekkürler

#property indicator_separate_window

#property indicator_buffers 3

#property indicator_color1 Red

extern int ROC_Period=24;

extern int RSI_Period=3;

extern int bars_to_calculate = 250;

extern bool flip_line_up_side_down = false;

extern double USD = 1.0, // weights

JPY = 1.0,

GBP = 1.0,

CHF = 1.0,

CAD = 1.0,

AUD = 1.0,

NZD = 1.0;

double BIAS = 0; // starting value for the first bar

//---- indicator buffers

double Index[];

double ROC[];

double RSIonROC[];

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

string name = "";

//---- indicator line

IndicatorShortName(name);

IndicatorBuffers(3);

SetIndexStyle(0,DRAW_LINE,EMPTY,EMPTY);

SetIndexBuffer(0,RSIonROC);

SetIndexLabel(0,NULL);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Calculates the relative change of symbol between bar i and i+1 |

//+------------------------------------------------------------------+

double Sentinal(string symbol, int i = 0)

{

double a = iMA(symbol,0,1,0,0,4,i),

b = iMA(symbol,0,1,0,0,4,(i+1)),

move = a-b;

if(a==0||b==0)

{

if(i==0)

Print("Warning: No "+symbol+" data loaded.");

return(0);

}

double moveInPercent = 100*move/b;

return(moveInPercent);

}

//+------------------------------------------------------------------+

int start()

{

// int iMax = Bars - 1 - IndicatorCounted();

int iMax = Bars -1 ;

if(iMax >= bars_to_calculate)

{

iMax = bars_to_calculate;

}

Index = BIAS;

//----

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

{

double x = 0;

x += USD * Sentinal("EURUSD",i);

x += JPY * Sentinal("EURJPY",i);

x += GBP * Sentinal("EURGBP",i);

x += CHF * Sentinal("EURCHF",i);

x += CAD * Sentinal("EURCAD",i);

x += AUD * Sentinal("EURAUD",i);

x += NZD * Sentinal("EURNZD",i);

if (flip_line_up_side_down)

x *= -1;

Index = Index+x;

ROC=iClose(Index,0,i)-iClose(Index,0,i+ROC_Period);

RSIonROC=iRSIOnArray(ROC,Bars,RSI_Period,i);

}

return(0);

}

k3rn3l

Ekli test göstergesini deneyin. Çözülmeyen sorun, dizin arabelleği ile ne elde etmeye çalışıyorsunuz? Bunu şu şekilde kullanamazsınız: iClose(Index,0,i) (index double olarak bildirilmiş ve iClose o parametrede string bekliyor). Şimdi değerler çiziyor, ancak kodda biraz daha temizlik yapmanız gerekiyor

Dosyalar:
_test.mq4  3 kb
 

Herkese selam! Biri "Emtia Seçim Endeksi"ni kodlayabilir mi?

İşte formül ( http://www.indicatorsmt4.com/indicators-wiki/trend-indicators/commodity-selection-index-csi/?lang=it )

Gösterge, oynaklığı ve piyasa aralığını belirlemeye yardımcı olur.

 
Luca82:
Herkese selam! Biri "Emtia Seçim Endeksi"ni kodlayabilir mi?

İşte formül ( http://www.indicatorsmt4.com/indicators-wiki/trend-indicators/commodity-selection-index-csi/?lang=it )

Gösterge, oynaklığı ve piyasa aralığını belirlemeye yardımcı olur.

Luca82

Metatrader, bu göstergeyi hesaplamak için gereken tüm verilere sahip değil

Bu bağlantıda bile gösterilen örnek bir metatrader örneği değil

 

Okları Grafikte (Fx MTN) yukarı almak mümkün mü? Yardıma ihtiyacınız var

Merhaba, sormak istiyorum, bu Göstergeyi sadece okları gösterecek şekilde yeniden yazmanın mümkün olup olmadığını ve şamdanlarda görünmeleri gerektiğini sormak istiyorum. Biri bana bu konuda yardımcı olabilir mi, yoksa benim için kodlayabilir mi lütfen?

Saygılarımızla

Yavaş

fxmtn-test.mq4

Dosyalar: