Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Mntiwana, sur Bar to Use, si vous mettez zéro, il prendra des signaux sur la barre encore ouverte (dangereux pour un EA, IMHO). Si la valeur est supérieure à zéro, l'EA recevra des signaux de barres fermées en retour de la barre ouverte, donc si vous avez BarToUse = 2, alors votre EA vérifiera 2 barres en arrière.
Bonjour mladen.... s'il vous plaît aidez-moi....ı a été posté mais ı suppose que vous ne pouvez pas voir ... ok ... ı ont un indicateur obtenu ... ı besoin de la version histo.merci beaucoup
Bonjour mladen.... s'il vous plait aidez moi....ı a été posté mais ı suppose que vous ne pouvez pas voir...ok...ı j'ai un indicateur ...ı j'ai besoin de la version histo.merci beaucoup
aress
Avez-vous le code source original (non-décompilé) de l'indicateur ? Si oui, merci de poster le fichier mq4 original afin de pouvoir travailler dessus.
_________________
PS : vous pouvez également vérifier ce qui suit https://www.mql5.com/en/forum/174961/page4 D'après ce que j'ai vu, c'est tout.
Bonjour à tous,
Jetez un coup d'oeil à mon code.
Cet indicateur appelle un autre indicateur avec la fonction icustom.
Le problème que j'ai est que, parfois, même lorsque les conditions pour les signaux ne sont pas remplies,
cet indicateur produit toujours de fausses alertes sonores et ces fausses alertes n'affichent pas de flèches.
Je ne sais pas d'où vient le problème. J'ai essayé ( avec mes connaissances limitées) mais sans succès.
Comment faire en sorte que les fausses alertes cessent ? Comment faire en sorte que l'alerte sonore ne se déclenche que s'il y a une flèche ?
Merci de m'aider.
Merci.
int start()
{
int counted_bars=IndicatorCounted() ;
//----
if(counted_bars>0) counted_bars-- ;
int limit=Bars-counted_bars ;
int j ;
for(int i=limit ; i>=0 ; i--)
{
arr_up = EMPTY_VALUE ; arr_dn = EMPTY_VALUE ;
j=i ;
double var1 = 0 ;
double var2 = 0 ;
for (j = i ; j <= i + 9 ; j++) var2 += MathAbs(High[j] - Low[j]) ;
var1 = var2 / 10.0 ;
double sellprevious = iCustom(NULL,0, "MA-Repaint", FastEMA,SlowEMA,SlowEMA,signal,price,0,i) ;
double buyprevious = iCustom(NULL,0, "MA-Repaint", FastEMA,SlowEMA,SlowEMA,signal,price,1,i) ;
statique datetime LastAlert ;
datetime curbar = Time[0] ;
if (buyprevious !=EMPTY_VALUE )
{
arr_up=iLow(Symbol(),0,i) - (var1/2) ;
DrawLine("EntryLine11",iHigh(Symbol(),0,i+1),EntryLineColor) ;
if ( LastAlert != curbar && !upalert){
Alert (Symbol()," ",Period(), "BUY") ;
upalert=true ;
downalert=false ;
LastAlert =curbar ;
}
}
else if(sellprevious !=EMPTY_VALUE )
{
arr_dn=iHigh(Symbol(),0,i) + (var1/2) ;
DrawLine("EntryLine11",iLow(Symbol(),0,i+1),EntryLineColor) ;
if ( LastAlert != curbar && !downalert){
Alert (Symbol()," ",Period(), "SELL") ;
downalert=true ;
upalert=false ;
LastAlert = curbar ;
}
}
}
Bonjour à tous,
Veuillez jeter un coup d'oeil à mon code.
Cet indicateur appelle un autre indicateur avec la fonction icustom.
Le problème que j'ai est que, parfois, même lorsque les conditions pour les signaux ne sont pas remplies,
cet indicateur produit toujours de fausses alertes sonores et ces fausses alertes n'affichent pas de flèches.
Je ne sais pas d'où vient le problème. J'ai essayé ( avec mes connaissances limitées) mais sans succès.
Comment faire en sorte que les fausses alertes cessent ? Comment faire en sorte que l'alerte sonore ne se déclenche que s'il y a une flèche ?
Merci de m'aider.
Merci.
int start()
{
int counted_bars=IndicatorCounted() ;
//----
if(counted_bars>0) counted_bars-- ;
int limit=Bars-counted_bars ;
int j ;
for(int i=limit ; i>=0 ; i--)
{
arr_up = EMPTY_VALUE ; arr_dn = EMPTY_VALUE ;
j=i ;
double var1 = 0 ;
double var2 = 0 ;
for (j = i ; j <= i + 9 ; j++) var2 += MathAbs(High[j] - Low[j]) ;
var1 = var2 / 10.0 ;
double sellprevious = iCustom(NULL,0, "MA-Repaint", FastEMA,SlowEMA,SlowEMA,signal,price,0,i) ;
double buyprevious = iCustom(NULL,0, "MA-Repaint", FastEMA,SlowEMA,SlowEMA,signal,price,1,i) ;
statique datetime LastAlert ;
datetime curbar = Time[0] ;
if (buyprevious !=EMPTY_VALUE )
{
arr_up=iLow(Symbol(),0,i) - (var1/2) ;
DrawLine("EntryLine11",iHigh(Symbol(),0,i+1),EntryLineColor) ;
if ( LastAlert != curbar && !upalert){
Alert (Symbol()," ",Period(), "BUY") ;
upalert=true ;
downalert=false ;
LastAlert =curbar ;
}
}
else if(sellprevious !=EMPTY_VALUE )
{
arr_dn=iHigh(Symbol(),0,i) + (var1/2) ;
DrawLine("EntryLine11",iLow(Symbol(),0,i+1),EntryLineColor) ;
if ( LastAlert != curbar && !downalert){
Alert (Symbol()," ",Period(), "SELL") ;
downalert=true ;
upalert=false ;
LastAlert = curbar ;
}
}
}
luffy
Pouvez-vous également poster l'indicateur appelé, afin qu'il puisse être testé ?
Mntiwana, sur la barre à utiliser, si vous mettez zéro, il prendra des signaux sur la barre encore ouverte (dangereux pour un EA, IMHO). Si elle est supérieure à zéro, l'EA recevra des signaux des barres fermées en retour de la barre ouverte, donc si vous avez BarToUse = 2, alors votre EA vérifiera 2 barres en arrière.
Très chers MLADEN et MRTOOLS,
merci pour votre aide, désolé de prendre beaucoup de votre temps, de demander autant ....... .......so dans le cas de cet EA, ce qui est le mieux et le plus approprié, quelle barre devrait être ajoutée.....i veux quand la ligne lente MA a traversé complètement par la ligne rapide MA (dans les deux sens) ......... sur la deuxième barre suivante, le trade devrait être exécuté, pouvons-nous coder de cette façon qu'après le croisement, combien de barres plus tard le trade pourrait être exécuté, par exemple après le croisement sur la première barre, après le croisement sur la deuxième ou troisième barre ? les images sont jointes pour mieux expliquer la question, merci.
salutations
Voici les indicateurs.
Merci.
Mntiwana, sur la barre à utiliser, si vous mettez zéro, il prendra des signaux sur la barre encore ouverte (dangereux pour un EA, IMHO). Si elle est supérieure à zéro, l'EA recevra des signaux de barres fermées en retour de la barre ouverte, donc si vous avez BarToUse = 2, alors votre EA vérifiera 2 barres en arrière.
Cher MRTOOLS,
vous voulez dire .... barre à utiliser = 2 ...... 2 barre après le croisement...pas 2 N barres, quand vous écrivez Bars BACK, j'ai confondu, ma faute....pourriez-vous me corriger. merci.
Salutations
Cher MRTOOLS,
vous voulez dire .... barre à utiliser = 2 ...... 2 barre après le croisement...pas 2 N barres, quand vous écrivez Bars BACK, j'ai confondu, ma faute....pourriez-vous me corriger. merci.
Salutationsmntiwana
Non, mais lorsque les barres à utiliser == 2, alors le croisement sera vérifié à 2 barres de la barre actuelle - il ne vérifiera pas le croisement à la barre actuelle. Donc, avec un délai de 2 barres
mntiwana Non, mais lorsque les barres à utiliser == 2, alors le croisement sera vérifié à 2 barres de la barre actuelle - il ne vérifiera pas le croisement à la barre actuelle. Donc, avec un délai de 2 barres
Très cher MLADEN,
merci patron, donc dans ce cas, le code pourrait être comme ceci ? corrigez-moi s'il vous plaît,
salutations
===================================================================
code original "simple MA cross EA
//
#define _doNothing 0
#define _doBuy 1
#define _doSell 2
int start()
{
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) ;
si ((diffc*diffp)<0)
si (diffc>0)
doWhat = _doBuy ;
sinon doWhat = _doSell ;
si (doWhat==_doNothing) return(0) ;
//
================================================
modifié de cette façon
#define _doNothing 0
#define _doBuy 1
#define _doSell 2
int start()
{
int doWhat = _doNothing ;
double diffc = iCustom(NULL,0, "Hull parabolic 2.1",PERIOD_CURRENT,Ma1Period,Ma1Price,2,0 ,0,BarToUse)
-iCustom(NULL,0, "Coque parabolique 2.1",PERIOD_CURRENT,Ma2Period,Ma2Price,2,0 ,0,BarToUse) ;
double diffp = iCustom(NULL,0, "Hull parabolic 2.1",PERIOD_CURRENT,Ma1Period,Ma1Price,2,0 ,0,BarToUse==2)
-iCustom(NULL,0, "Coque parabolique 2.1",PERIOD_CURRENT,Ma2Period,Ma2Price,2,0 ,0,BarToUse==2) ;
si ((diffc*diffp)<0)
si (diffc>0)
doWhat = _doBuy ;
sinon doWhat = _doSell ;
si (doWhat==_doNothing) return(0) ;
//
=====================================