Kodlama yardımı - sayfa 193

 

Всем привет!

дорого дня!!

помогите добавить красную полоску в индикатор

полоска зелёная работает хорошо (ayı;// Kireç)

красная не работает(boğa;// Kırmızı;)

заранее Спасибо.

индикатор:

ayıbull.mq4

Dosyalar:
 

Merhaba Mrtools & Mladen

Resmimde gördüğünüz gibi TSV Boğa ve Ayı'nın sadece Gann Hilo Aktivatörünün geçmiş versiyonu olduğunu onaylıyorum...

Bazı insanların zaten var olan başka bir göstergeye ezoterik ve garip bir isim vermeyi neden sevdiğini asla anlayamayacağım (Gann Hilow aktivatörü zaten garip ve ezoterik bir isim...) ...

TSV Boğa ve Ayı bana çok ilginç geldi ama bunun gibi daha çok TSH Bullshit & Bearish

iyi günler arkadaşlar cevabınız için teşekkürler

Zilliq

mrtools:
Zilliq burada https://www.forex-tsd.com/forum/debates-discussions/116-something-interesting-Please-post-here/page299#comment_679505 kaynak kodlu bir versiyonu var.
Dosyalar:
 

Mladen,

Bu şekilde denedim:

int başlangıç()

{

//----

double _distance = pipDistance*Point*MathPow(10,Digits%2);

if (displayAlert==false) dönüşü;

statik tarihsaat Zaman0;

if (Zaman0 == Zaman[0]) dönüşü; // Çubuk başına bir uyarı.

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

dize adı = NesneAdı(iObj);

if (ObjectType(name) == OBJ_HLINE)

{

satır = ObjectGet(ad, OBJPROP_PRICE1);

}

else if (ObjectType(name) == OBJ_TREND)

{

satır = ObjectGetValueByShift(isim,0);

}

yoksa devam; // Satır bulunamadı

if ((Yüksek[0]>=(line-_mesafe) && (line+_mesafe)>=Düşük[0]))

{

Metin = Symbol()+" M"+Period()+" S/R @ "+Close[0]'a dokundu;

Uyarı(Metin);

Zaman0 = Zaman[0]; // Artık uyarı yok.

if (Bildirim) SendNotification (Metin);

}

}

//----

Şu anda test edemiyorum çünkü gerçek zamanlı alıntılar yok. Ancak ObjectGetValueByShift() işlevini bu şekilde kullanmak bana mantıklı geliyor. Yalnızca mevcut çubukta çizgi dokunuşları ararım. Bu nedenle (isim,0) kullandım.

Ama şimdi size gerçekten OBJ_HLINE ve OBJ_TREND arasında bir fark yaratmam gerekip gerekmediğini sormak istedim. ObjectGetValueByShift(name,0) kullandığımda yatay bir çizginin değerini de alıyorum yoksa yanılıyor muyum? Yalnızca geçerli dönemin satırının değeri gerektiğinde ObjectGet(name, OBJPROP_PRICE1) ve ObjectGetValueByShift(name,0) arasında mantıksal bir fark görmüyorum.

Belki bunu biraz açıklayabilirsin? Teşekkürler!!

 
Marbo:
Mladen,

Bu şekilde denedim:

int başlangıç()

{

//----

double _distance = pipDistance*Point*MathPow(10,Digits%2);

if (displayAlert==false) dönüşü;

statik tarihsaat Zaman0;

if (Zaman0 == Zaman[0]) dönüşü; // Çubuk başına bir uyarı.

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

dize adı = NesneAdı(iObj);

if (ObjectType(name) == OBJ_HLINE)

{

satır = ObjectGet(ad, OBJPROP_PRICE1);

}

else if (ObjectType(name) == OBJ_TREND)

{

satır = ObjectGetValueByShift(isim,0);

}

yoksa devam; // Satır bulunamadı

if ((Yüksek[0]>=(line-_mesafe) && (line+_mesafe)>=Düşük[0]))

{

Metin = Symbol()+" M"+Period()+" S/R @ "+Close[0]'a dokundu;

Uyarı(Metin);

Zaman0 = Zaman[0]; // Artık uyarı yok.

if (Bildirim) SendNotification(Metin);

}

}

//----

Şu anda test edemiyorum çünkü gerçek zamanlı alıntılar yok. Ancak ObjectGetValueByShift() işlevini bu şekilde kullanmak bana mantıklı geliyor. Yalnızca mevcut çubukta çizgi dokunuşları ararım. Bu nedenle (isim,0) kullandım.

Ama şimdi size gerçekten OBJ_HLINE ve OBJ_TREND arasında bir fark yaratmam gerekip gerekmediğini sormak istedim. ObjectGetValueByShift(name,0) kullandığımda yatay bir çizginin değerini de alıyorum yoksa yanılıyor muyum? Yalnızca geçerli dönemin satırının değeri gerektiğinde ObjectGet(name, OBJPROP_PRICE1) ve ObjectGetValueByShift(name,0) arasında mantıksal bir fark görmüyorum.

Belki bunu biraz açıklayabilirsin? Teşekkürler!!

marbo

Trend çizgisi yatay çizgiden farklı bir nesne türü olduğu için yatay çizgi ile trend çizgisi arasında bir fark yaratmalısınız (yatay çizgi için fiyat1 değerini okumak yeterlidir ve trend çizgisi için bu kadardır. , fiyat1 hiçbir şekilde fiyat 2 ile aynı olmak zorunda değildir ve bu fiyatlar aradaki fiyatlardan tamamen farklı olabilir)

 

Merhaba,

Bu göstergeyle ilgili bir sorunu çözmeye yardımcı olabilecek var mı?

Etkinleştirilmiş Backtesting modu ile mt4 görsel test cihazında mtf modunda Tamam çalışır (M5 grafiğinde H1-H4)

ama gerçek çizelgede - çizgiler gecikiyor.

Teşekkür ederim!

mtf_moving_average.mq4

Dosyalar:
 

Mladen,

bu gerçeği anlıyorum. Bunu sadece basit göstergem için söylüyorum. Benim için Trend çizgisinin nereden geldiği veya nereye gittiği önemli değil. Sadece mevcut çubuktaki değerine ihtiyacım var. Bu nedenle, her iki satır için bir araya getirip yalnızca ObjectGetValueByShift() ile çalışıp çalışamayacağımı sordum.

Ancak, yukarıdaki kodda yaptığım gibi çalıştığını düşünüyor musunuz?

Teşekkürler!!

 
Marbo:
Mladen,

bu gerçeği anlıyorum. Bunu sadece basit göstergem için söylüyorum. Benim için Trend çizgisinin nereden geldiği veya nereye gittiği önemli değil. Sadece mevcut çubuktaki değerine ihtiyacım var. Bu nedenle, her iki satır için bir araya getirip yalnızca ObjectGetValueByShift() ile çalışıp çalışamayacağımı sordum.

Ancak, yukarıdaki kodda yaptığım gibi çalıştığını düşünüyor musunuz?

Teşekkürler!!

marbo

Gördüğüm kadarıyla çalışması gerekiyor

 
cain82:
Merhaba,

Bu göstergeyle ilgili bir sorunu çözmeye yardımcı olabilecek var mı?

Etkinleştirilmiş Backtesting modu ile mt4 görsel test cihazında mtf modunda Tamam çalışır (M5 grafiğinde H1-H4)

ama gerçek çizelgede - çizgiler gecikiyor.

Teşekkür ederim!

mtf_moving_average.mq4

Bunun yerine bu gönderidekini kullanmayı deneyin: https://www.mql5.com/en/forum/173574/page239

 
mladen:
Bunun yerine bu gönderiden birini kullanmayı deneyin: https://www.mql5.com/en/forum/173574/page239

Cevap için teşekkürler!

Ama sen farklı çalışıyorsun.

 
cain82:
Cevap için teşekkürler! Ama sen farklı çalışıyorsun.

Evet, çünkü doğru çalışıyor. Düzeltilmesi gereken her şey gönderdiğiniz şeyde yapılsaydı, tamamen aynı olurdu.

Saygılarımızla