Kodlama yardımı - sayfa 294

 
mladen:
hava görevi

Bunu hesaba katmalısın yoksa işe yaramaz

Bu tür bir parametre ile göstergeleri çağırmanın en iyi yolu şudur:

iCustom(NULL,targetTimeFrame,indicatorName,"",...,buffer,shift);

Yani, bu parametre için "" kullanın

Teşekkürler Mladen, her zamanki gibi çok yardımcı oldun.

 

Mevcut olduğunda çubuğun açıklığında bu gösterge grafiğini yapabilen var mı? TradeStation'daki sürüm, fiyat fiilen değer üzerinden işlem görmeden önce alt zaman çerçevesi çubuğunda daha yüksek bir zaman çerçevesi göstergesi grafiğini (varsa) çizecektir. ancak, MT4 versiyonunda durum böyle değildir ve fiyat üzerinden işlem görene kadar çizim yapılmayacaktır.

çok teşekkürler,

Scott

***

#özellik göstergesi_chart_window

#özellik göstergesi_tamponları 2

#özellik göstergesi_renk1 Beyaz

#özellik göstergesi_renk2 Beyaz

//#özellik göstergesi_width1 5

//#özellik göstergesi_width2 5

//---- giriş parametreleri

/******************************************************** **************************

PERIOD_M1 1

PERIOD_M5 5

PERIOD_M15 15

PERIOD_M30 30

PERIOD_H1 60

PERIOD_H4 240

PERIOD_D1 1440

PERIOD_W1 10080

PERIOD_MN1 43200

Kullanmak istediğiniz zaman diliminin sayısal değerini kullanmalısınız.

gösterge girişleriyle TimeFrame' değerini ayarladığınızda.

******************************************************* *****************************/

harici int Zaman Çerçevesi = 240;

harici int sayı = 6;

dış renk Renk = Beyaz;

çift vftop[];

çift vfbot[];

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

//| Özel gösterge başlatma işlevi |

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

int init()

{

//---- göstergeler

Gösterge Tamponları(2);

SetIndexBuffer(0, vfbot);

SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 5, Renkli);

// SetIndexArrow(0, 117);

SetIndexEmptyValue(0, 0);

SetIndexBuffer(1, vftop);

SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 5, Renkli);

// SetIndexArrow(1, 117);

SetIndexEmptyValue(1, 0);

geçiş (Zaman Çerçevesi)

{

durum 1: string TimeFrameStr="Period_M1"; kırmak;

durum 5 : TimeFrameStr="Period_M5"; kırmak;

durum 15 : TimeFrameStr="Period_M15"; kırmak;

durum 30 : TimeFrameStr="Period_M30"; kırmak;

durum 60 : TimeFrameStr="Period_H1"; kırmak;

durum 240 : TimeFrameStr="Period_H4"; kırmak;

durum 1440 : TimeFrameStr="Period_D1"; kırmak;

case 10080 : TimeFrameStr="Period_W1"; kırmak;

durum 43200 : TimeFrameStr="Period_MN1"; kırmak;

varsayılan : TimeFrameStr=" Geçerli Zaman Çerçevesi ";

}

GöstergeShortName("MTF_VolumeFinder ("+TimeFrameStr+")");

//----

dönüş(0);

}

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

//| Özel gösterge sıfırlama işlevi |

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

int tanım()

{

//----

//----

dönüş(0);

}

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

//| Özel gösterge yineleme işlevi |

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

int başlangıç()

{

int counted_bars=IndicatorCounted();

int i = Çubuklar - sayılan_barlar;

if(counted_bars == 0) i = Çubuklar - num*2;

int j = 0;

çift t1, t2;

int y = 0;

süre(i >= 0)

{

y = iBarShift(Symbol(), TimeFrame, Zaman);

t1 = iLow(Symbol(), TimeFrame, y);

t2 = iYüksek(Symbol(), Zaman Çerçevesi, y);

for(j = y+1; j < y + sayı; j++)

{

t1 = MathMax(t1, iLow(Symbol(), TimeFrame, j));

t2 = MathMin(t2, iHigh(Symbol(), TimeFrame, j));

}

if(t1 <= t2)

{

vftop = t2;

vfbot = t1;

}

ben--;

}

//----

dönüş(0);

}

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

 
scott TTM:
Mevcut olduğunda çubuğun açıklığında bu gösterge grafiğini yapabilen var mı? TradeStation'daki sürüm, fiyat fiilen değer üzerinden işlem görmeden önce alt zaman çerçevesi çubuğunda daha yüksek bir zaman çerçevesi göstergesi grafiğini (mevcut olduğunda) çizecektir. ancak, MT4 versiyonunda durum böyle değildir ve fiyat üzerinden işlem görene kadar çizim yapılmayacaktır.

çok teşekkürler,

Scott

***

#özellik göstergesi_chart_window

#özellik göstergesi_tamponları 2

#özellik göstergesi_renk1 Beyaz

#özellik göstergesi_renk2 Beyaz

//#özellik göstergesi_width1 5

//#özellik göstergesi_width2 5

//---- giriş parametreleri

/******************************************************** **************************

PERIOD_M1 1

PERIOD_M5 5

PERIOD_M15 15

PERIOD_M30 30

PERIOD_H1 60

PERIOD_H4 240

PERIOD_D1 1440

PERIOD_W1 10080

PERIOD_MN1 43200

Kullanmak istediğiniz zaman diliminin sayısal değerini kullanmalısınız.

Gösterge girişleriyle TimeFrame' değerini ayarladığınızda.

******************************************************* *****************************/

harici int Zaman Çerçevesi = 240;

harici int sayı = 6;

dış renk Renk = Beyaz;

çift vftop[];

çift vfbot[];

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

//| Özel gösterge başlatma işlevi |

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

int init()

{

//---- göstergeler

Gösterge Tamponları(2);

SetIndexBuffer(0, vfbot);

SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 5, Renkli);

// SetIndexArrow(0, 117);

SetIndexEmptyValue(0, 0);

SetIndexBuffer(1, vftop);

SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 5, Renkli);

// SetIndexArrow(1, 117);

SetIndexEmptyValue(1, 0);

geçiş (Zaman Çerçevesi)

{

durum 1: string TimeFrameStr="Period_M1"; kırmak;

durum 5 : TimeFrameStr="Period_M5"; kırmak;

durum 15 : TimeFrameStr="Period_M15"; kırmak;

durum 30 : TimeFrameStr="Period_M30"; kırmak;

durum 60 : TimeFrameStr="Period_H1"; kırmak;

durum 240 : TimeFrameStr="Period_H4"; kırmak;

durum 1440 : TimeFrameStr="Period_D1"; kırmak;

case 10080 : TimeFrameStr="Period_W1"; kırmak;

durum 43200 : TimeFrameStr="Period_MN1"; kırmak;

varsayılan : TimeFrameStr="Geçerli Zaman Çerçevesi";

}

GöstergeShortName("MTF_VolumeFinder ("+TimeFrameStr+")");

//----

dönüş(0);

}

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

//| Özel gösterge sıfırlama işlevi |

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

int tanım()

{

//----

//----

dönüş(0);

}

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

//| Özel gösterge yineleme işlevi |

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

int başlangıç()

{

int counted_bars=IndicatorCounted();

int i = Çubuklar - sayılan_barlar;

if(counted_bars == 0) i = Çubuklar - num*2;

int j = 0;

çift t1, t2;

int y = 0;

süre(i >= 0)

{

y = iBarShift(Symbol(), TimeFrame, Zaman);

t1 = iLow(Symbol(), TimeFrame, y);

t2 = iYüksek(Symbol(), Zaman Çerçevesi, y);

for(j = y+1; j < y + sayı; j++)

{

t1 = MathMax(t1, iLow(Symbol(), TimeFrame, j));

t2 = MathMin(t2, iHigh(Symbol(), TimeFrame, j));

}

if(t1 <= t2)

{

vftop = t2;

vfbot = t1;

}

ben--;

}

//----

dönüş(0);

}

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

Orijinal ticaret istasyonu kodunu gönderebilir misiniz?

 

Onu aradım ama bulamıyorum. İndikatörü 2004 yılında aldım.

 
scott TTM:
Onu aradım ama bulamıyorum. İndikatörü 2004 yılında aldım.

Kodu karşılaştırmak istediğim için sordum - bazen kolay dil kodu metatrader'a dönüştürmek için basit bir görev gibi görünüyor, ancak bazı durumlarda dönüşümün olması gerektiği gibi yapıldığı durumlarda farklılıklar %100 olamayacak kadar büyük

 

Lütfen, bana yardım edin

merhaba

Lütfen MT4 Build 600+ için çalışmasına yardımcı olabilir misiniz?

Şimdiden teşekkürler!

Dosyalar:
sap_robot.mq4  32 kb
forexhacked.mq4  19 kb
 

WPR_MA hatası

Merhaba mladen!

Biraz kodlama yardımı alabilir miyim?

Ben, bir gösterge penceresinde ortalama 4 diğer WPR olan bir gösterge yazdım.

Şablonu yüklerseniz, WPR'lerde MA arasındaki farkı görebilirsiniz.

Üst göstergedir, alt kısım manuel olarak karıştırılır. Amaç, kılavuzu bir göstergeye dönüştürmektir.

Sorarım neden böyle yapıyor? WPR_MA'yı yanlış kodladığım yer ..

zaman ayırdığınız için teşekkürler

Adledion

Dosyalar:
 
adledion:
Merhaba mladen!

Biraz kodlama yardımı alabilir miyim?

Ben, bir gösterge penceresinde ortalama 4 diğer WPR olan bir gösterge yazdım.

Şablonu yüklerseniz, WPR'lerde MA arasındaki farkı görebilirsiniz.

Üst göstergedir, alt kısım manuel olarak karıştırılır. Amaç, kılavuzu bir göstergeye dönüştürmektir.

Sorarım neden böyle yapıyor? WPR_MA'yı yanlış kodladığım yer ..

zaman ayırdığınız için teşekkürler

Adledion

Adledion

Şablonda ma yalnızca bir WPR'ye uygulanır (bu şablon durumunda WPR(50)). ma'yı birden fazla göstergeye uygulayamazsınız ve bu nedenle göstergeniz ile şablonunuz arasında bir fark vardır.

Deneyin - göstergenizdeki tüm WPR dönemlerini 50'ye ayarlayın ve göstergenin değerlerini şablondaki önceki ma değeriyle karşılaştırın (önceki, iMAOnArray() için göstergede birinci vardiyayı kullandığınızdan beri) ve bunu göreceksiniz. bu durumda tam olarak aynı değerlere sahipsin

 
mladen:
Adledion

Şablonda ma yalnızca bir WPR'ye uygulanır (bu şablon durumunda WPR(50)). ma'yı birden fazla göstergeye uygulayamazsınız ve bu nedenle göstergeniz ile şablonunuz arasında bir fark vardır.

Deneyin - göstergenizdeki tüm WPR dönemlerini 50'ye ayarlayın ve göstergenin değerlerini şablondaki önceki ma değeriyle karşılaştırın (önceki, iMAOnArray() için göstergede birinci vardiyayı kullandığınızdan beri) ve bunu göreceksiniz. bu durumda tam olarak aynı değerlere sahipsin

Vay be teşekkürler o kadar derine inmemiştim

edit: ve bu, manuel karışımda ma'nın sadece bir wpr'de olduğu anlamına mı geliyor? ilk gösterge verileri..? yani temelde kılavuz, 3 veya 4 wpr ma hesaplayan orijinal fikrime kıyasla yanlıştır (bir wpr ma hesaplanıyor).

 

Mladen ,

Biraz kafam karıştı, bu 2 gösterge yeniden mi çiziliyor? https://www.mql5.com/en/forum/172895

Bu histogramlar neyi temsil ediyor biliyor musunuz? Teşekkürler.

Dosyalar:
forexmtn.mq4  3 kb
rd-combo.mq4  11 kb