Kodlama yardımı - sayfa 554

 

Mntiwana, Kullanım Çubuğunda Sıfır koyarsanız, hala açık çubukta sinyaller alacaktır (bir EA, IMHO için tehlikelidir) sıfırdan büyükse EA kapalı çubuklardan açık çubuktan sinyal alacaktır, bu nedenle BarToUse = 2'ye sahipseniz, EA'nız 2 çubuğu geri kontrol edecektir.

 

merhaba mladen....lütfen bana yardım edin....gönderildim ama sanırım göremiyorsunuz...tamam...bir göstergem var ...histo versiyonuna ihtiyacım var.çok teşekkür ederim

Dosyalar:
trend.ex4  9 kb
trend.mq4  2 kb
 
aress:
merhaba mladen....lütfen bana yardım edin....gönderildim ama sanırım göremiyorsunuz...tamam...bir göstergem var ...histo versiyonuna ihtiyacım var.çok teşekkür ederim

ess

Göstergenin orijinal (decompiled olmayan) kaynak koduna sahip misiniz? Evet ise, üzerinde çalışılabilmesi için lütfen orijinal mq4 dosyasını gönderin

_________________

Not: Bunu da kontrol edebilirsiniz https://www.mql5.com/en/forum/174961/page4 Gördüğüm kadarıyla bu kadar

 

Merhaba millet,

Lütfen koduma bir göz atın.

Bu gösterge, icustom işleviyle başka bir göstergeyi çağırır.

Karşılaştığım sorun şu ki, bazen, sinyaller için koşullar karşılanmadığında bile,

bu gösterge yine de yanlış sesli uyarılar verir ve bu yanlış uyarılar okları göstermez.

Sorunun nerede olduğunu bilmiyorum. Denedim (sınırlı bilgimle) ama başarılı olamadım.

Yanlış alarmın durduğundan nasıl emin olunur? Sesli uyarının yalnızca bir ok varsa gelmesini nasıl sağlayabilirim?

Lütfen yardım et.

Teşekkürler.

int başlangıç()

{

int counted_bars=IndicatorCounted();

//----

if(counted_bars>0) counted_bars--;

int limit=Barlar-sayılan_barlar;

int j;

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

{

arr_up = BOŞ_VALUE; arr_dn = BOŞ_VALUE;

j=i;

çift var1 = 0;

çift var2 = 0;

for (j = i; j <= i + 9; j++) var2 += MathAbs(Yüksek[j] - Düşük[j]);

var1 = var2 / 10.0;

double sellprevious = iCustom(NULL,0,"MA-Repaint", FastEMA,SlowEMA,SlowEMA,sinyal,fiyat,0,i);

double buyprevious = iCustom(NULL,0,"MA-Yeniden Boyama", FastEMA,SlowEMA,SlowEMA,sinyal,fiyat,1,i);

statik tarihsaat LastAlert;

tarihsaat curbar = Saat[0];

if (satın alönceki !=EMPTY_VALUE )

{

arr_up=iLow(Symbol(),0,i) - (var1/2);

DrawLine("EntryLine11",iHigh(Symbol(),0,i+1),EntryLineColor);

if ( LastAlert != bordür && !upalert){

Uyarı (Symbol()," ",Period(),"SATIN AL");

upalert=true;

downalert=yanlış;

LastAlert = bordür;

}

}

else if(sellprevious !=EMPTY_VALUE )

{

arr_dn=iYüksek(Symbol(),0,i) + (var1/2);

DrawLine("EntryLine11",iLow(Symbol(),0,i+1),EntryLineColor);

if ( LastAlert != bordür && !downalert){

Uyarı (Symbol()," ",Period(),"SAT");

downalert=true;

upalert=yanlış;

LastAlert = bordür;

}

}

}

 
luffy:
Merhaba millet,

Lütfen koduma bir göz atın.

Bu gösterge, icustom işleviyle başka bir göstergeyi çağırır.

Karşılaştığım sorun şu ki, bazen, sinyaller için koşullar karşılanmadığında bile,

bu gösterge yine de yanlış sesli uyarılar verir ve bu yanlış uyarılar okları göstermez.

Sorunun nerede olduğunu bilmiyorum. Denedim (sınırlı bilgimle) ama başarılı olamadım.

Yanlış alarmın durduğundan nasıl emin olunur? Sesli uyarının yalnızca bir ok varsa gelmesini nasıl sağlayabilirim?

Lütfen yardım et.

Teşekkürler.

int başlangıç()

{

int counted_bars=IndicatorCounted();

//----

if(counted_bars>0) counted_bars--;

int limit=Barlar-sayılan_barlar;

int j;

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

{

arr_up = BOŞ_VALUE; arr_dn = BOŞ_VALUE;

j=i;

çift var1 = 0;

çift var2 = 0;

for (j = i; j <= i + 9; j++) var2 += MathAbs(Yüksek[j] - Düşük[j]);

var1 = var2 / 10.0;

double sellprevious = iCustom(NULL,0,"MA-Yeniden Boyama", FastEMA,SlowEMA,SlowEMA,sinyal,fiyat,0,i);

double buyprevious = iCustom(NULL,0,"MA-Repaint", FastEMA,SlowEMA,SlowEMA,sinyal,fiyat,1,i);

statik tarihsaat LastAlert;

tarihsaat curbar = Saat[0];

if (satın alönceki !=EMPTY_VALUE )

{

arr_up=iLow(Symbol(),0,i) - (var1/2);

DrawLine("EntryLine11",iHigh(Symbol(),0,i+1),EntryLineColor);

if ( LastAlert != bordür && !upalert){

Uyarı (Symbol()," ",Period(),"SATIN AL");

upalert=true;

downalert=yanlış;

LastAlert = bordür;

}

}

else if(sellprevious !=EMPTY_VALUE )

{

arr_dn=iYüksek(Symbol(),0,i) + (var1/2);

DrawLine("EntryLine11",iLow(Symbol(),0,i+1),EntryLineColor);

if ( LastAlert != bordür && !downalert){

Uyarı (Symbol()," ",Period(),"SAT");

downalert=true;

upalert=yanlış;

LastAlert = bordür;

}

}

}

kabarık

Test edilebilmesi için lütfen aranan göstergeyi de gönderir misiniz?

 
mrtools:
Mntiwana, Kullanım Çubuğunda Sıfır koyarsanız, hala açık çubukta sinyaller alacaktır (bir EA, IMHO için tehlikelidir) sıfırdan büyükse EA kapalı çubuklardan açık çubuktan sinyal alacaktır, bu nedenle BarToUse = 2'ye sahipseniz, EA'nız 2 çubuğu geri kontrol edecektir.

Sevgili MLADEN ve MRTOOLS,

nazik yardımlarınız için teşekkürler, çok zamanınızı aldığım için çok özür dilerim, çok şey istedim ....... .......yani bu EA durumunda, daha iyi ve uygun olan, hangi Bar'ın eklenmesi gerektiği.....yavaş MA çizgisinin hızlı MA çizgisiyle (her iki şekilde) tamamen geçmesini istiyorum. ........ sonraki ikinci Bar'da işlem yapılmalı, geçişten sonra kaç Bar'dan sonra ticaretin gerçekleştirilebileceğini bu şekilde kodlayabilir miyiz, örneğin birinci Bar'ı geçtikten sonra, ikinci veya üçüncü Bar'ı geçtikten sonra Çubuk ? Soruyu daha iyi açıklamak için resimler ektedir, teşekkürler

Saygılarımızla

Dosyalar:
7.png  35 kb
8.png  38 kb
 

İşte göstergeler.

Teşekkürler.

Dosyalar:
 
mrtools:
Mntiwana, Kullanım Çubuğunda Sıfır koyarsanız, hala açık çubukta sinyaller alacaktır (bir EA, IMHO için tehlikelidir) sıfırdan büyükse EA kapalı çubuklardan açık çubuktan sinyal alacaktır, bu nedenle BarToUse = 2'ye sahipseniz, EA'nız 2 çubuğu geri kontrol edecektir.

Sevgili MRTOOLS,

.... bar demek mi demek istediniz = 2 ...... kesiştikten sonra 2 bar...2 N bar değil, Bars GERİ yazarken kafam karıştı, benim hatam....lütfen beni düzeltin. Teşekkürler.

Saygılarımızla

 
mntiwana:
Sevgili MRTOOLS,

.... bar demek mi demek istediniz = 2 ...... kesiştikten sonra 2 bar...2 N bar değil, Bars GERİ yazarken kafam karıştı, benim hatam....lütfen beni düzeltin. Teşekkürler.

Saygılarımızla

mtivana

Hayır, ancak çubuklar == 2 kullanıldığında, geçiş mevcut çubuktan 2 çubuk kontrol edilecektir - mevcut çubukta geçişi kontrol etmeyecektir. Yani 2 bar gecikme ile

 
mladen:
mntiwana Hayır, ancak çubuklar == 2 kullanıldığında, geçiş mevcut çubuktan 2 çubuk kontrol edilecek - mevcut çubukta geçişi kontrol etmeyecek. Yani 2 bar gecikme ile

Sevgili MLADEN,

teşekkürler patron, bu durumda kod şöyle olabilir mi? lütfen düzelt beni,

Saygılarımızla

================================================= =================

orijinal "basit MA çapraz EA" kodu

//

#define _doHiçbir şey 0

#define _doBuy 1

#define _doSell 2

int başlangıç()

{

int doWhat = _doNothing;

double diffc = iMA(NULL,0,Ma1Period,0,Ma1Method,Ma1Price,BarToUse) -iMA(NULL,0,Ma2Period,0,Ma2Method,Ma2Price,BarToUse);

double diffp = iMA(NULL,0,Ma1Period,0,Ma1Method,Ma1Price,BarToUse+1)-iMA(NULL,0,Ma2Period,0,Ma2Method,Ma2Price,BarToUse+1);

eğer ((fark*fark)<0)

eğer (fark>0)

doWhat = _doBuy;

başka doWhat = _doSell;

if (doWhat==_doNothing) return(0);

//

===============================================

bu şekilde değişti

#define _doHiçbir şey 0

#define _doBuy 1

#define _doSell 2

int başlangıç()

{

int doWhat = _doNothing;

double diffc = iCustom(NULL,0,"Gövde parabolik 2.1",PERIOD_CURRENT,Ma1Period,Ma1Price,2,0 ,0,BarToUse)

-iCustom(NULL,0,"Gövde parabolik 2.1",PERIOD_CURRENT,Ma2Period,Ma2Price,2,0 ,0,BarToUse);

çift fark = iCustom(NULL,0,"Gövde parabolik 2.1",PERIOD_CURRENT,Ma1Period,Ma1Price,2,0 ,0,BarToUse==2)

-iCustom(NULL,0,"Gövde parabolik 2.1",PERIOD_CURRENT,Ma2Period,Ma2Price,2,0 ,0,BarToUse==2);

eğer ((fark*fark)<0)

eğer (fark>0)

doWhat = _doBuy;

başka doWhat = _doSell;

if (doWhat==_doNothing) return(0);

//

====================================

Dosyalar:
9.png  108 kb
Neden: