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
Trop d'alerte Re : Aide au codage
Bonjour Masters Merci pour votre excellent travail, j'ai voulu partager avec tout le monde cette TrendLine Alert, il origine Plays son lorsque le prix Bid traverse toute ligne de tendance ou ligne horizontale que vous dessinez, je mod il à popup Alert ainsi, le seul problème avec elle est qu'il Alert chaque tick lorsque le prix (bid) croiser une ligne, j'ai essayé de mod il à Alert seulement un chaque barre quand il traverse la ligne par l'ajout d'une fonction d'horodatage à la fin de celui-ci .J'ai essayé de le modifier pour qu'il ne donne qu'une seule alerte par barre lorsqu'il franchit la ligne en ajoutant une fonction d'horodatage à la fin du programme.
datetime curbar = Time[0];
if(lastbar!=curbar)
{
lastbar=curbar;
return (true);
}
else return(false);
}Bonjour Masters Merci pour votre excellent travail, je voudrais partager avec tout le monde cette TrendLine Alert, il origine Plays son lorsque le prix Bid traverse une ligne de tendance ou une ligne horizontale que vous dessinez, je mod il à popup Alert ainsi, le seul problème avec elle est qu'il Alert chaque tick lorsque le prix (bid) traverse une ligne, j'ai essayé de mod il à Alert seulement un par barre quand il traverse la ligne par l'ajout d'une fonction d'horodatage à la fin de celui-ci .J'ai essayé de le modifier pour qu'il ne donne qu'une seule alerte par barre lorsqu'il franchit la ligne en ajoutant une fonction d'horodatage à la fin du programme.
datetime curbar = Time[0];
if(lastbar!=curbar)
{
lastbar=curbar;
return (true);
}
else return(false);
}Vous n'attribuez jamais de valeur à Close_Time. Dès que vous faites cela, il n'y aura qu'une seule alerte par barre.
@mladen J'ai trouvé cet indicateur sur TradingView et est-il possible de le faire pour mt4 ?
Voici le code source :
//Créé par l'utilisateur ChrisMoody 4-24-2014
//Plaque la majorité des moyennes mobiles
//Defaults to Current Chart Time Frame --- But But Can Be Changed to Higher Or Lower Time Frames
//Capacité de la 2ème MA avec la fonction "Show Crosses".
étude(title="CM_Ultimate_MA_MTF", shorttitle="CM_Ultimate_MA_MTF", overlay=true)
//entrées
src = fermer
useCurrentRes = input(true, title="Utiliser la résolution actuelle du graphique ?")
resCustom = input(title="Use Different Timeframe ? Décochez la case ci-dessus", type=resolution, defval="D")
len = input(20, title="Moving Average Length - LookBack Period")
atype = input(1,minval=1,maxval=7,title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA")
cc = input(true,title="Changer la couleur en fonction de la direction ?")
smoothe = input(2, minval=1, maxval=10, title="Lissage des couleurs - 1 = Pas de lissage")
doma2 = input(false, title="Option 2nd Moving Average")
len2 = input(50, title="Longueur de la moyenne mobile - 2ème MA optionnelle")
atype2 = input(1,minval=1,maxval=7,title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA")
cc2 = input(true,title="Change Color Based On Direction 2nd MA ?")
warn = input(false, title="***Vous pouvez activer le paramètre Show Dots ci-dessous sans tracer la 2ème MA pour voir les croisements***")
warn2 = input(false, title="***Si vous utilisez la fonction de croix sans tracer la 2ème MA, assurez-vous que les paramètres de la 2ème MA sont correctement définis***")
sd = input(false, title="Afficher les points sur le croisement des deux MA's")
res = useCurrentRes ? period : resCustom
/définition de la ma de la coque
hullma = wma(2*wma(src, len/2)-wma(src, len), round(sqrt(len)))
//Définition du TEMPUS
ema1 = ema(src, len)
ema2 = ema(ema1, len)
ema3 = ema(ema2, len)
tema = 3 * (ema1 - ema2) + ema3
avg = atype == 1 ? sma(src,len) : atype == 2 ? ema(src,len) : atype == 3 ? wma(src,len) : atype == 4 ? hullma : atype == 5 ? vwma(src, len) : atype == 6 ? rma(src,len) : tema
//2ème Ma - définition de hullma
hullma2 = wma(2*wma(src, len2/2)-wma(src, len2), round(sqrt(len2))))
//2ème définition de MA TEMA
sema1 = ema(src, len2)
sema2 = ema(sema1, len2)
sema3 = ema(sema2, len2)
stema = 3 * (sema1 - sema2) + sema3
avg2 = atype2 == 1 ? sma(src,len2) : atype2 == 2 ? ema(src,len2) : atype2 == 3 ? wma(src,len2) : atype2 == 4 ? hullma2 : atype2 == 5 ? vwma(src, len2) : atype2 == 6 ? rma(src,len2) : tema
out = avg
out_two = avg2
out1 = security(tickerid, res, out)
out2 = security(tickerid, res, out_two)
ma_up = out1 >= out1[smoothe]
ma_down = out1 < out1[smoothe]
col = cc ? ma_up ? lime : ma_down ? red : aqua : aqua
col2 = cc2 ? ma_up ? lime : ma_down ? red : aqua : aqua
circleYPosition = out2
plot(out1, title="Multi-Timeframe Moving Avg", style=line, linewidth=4, color = col)
plot(doma2 et out2 ? out2 : na, title="2nd Multi-TimeFrame Moving Average", style=circles, linewidth=4, color=col2)
plot(sd et cross(out1, out2) ? circleYPosition : na,style=cross, linewidth=5, color=yellow)
Capture d'écran de l'indicateur :
Un exemple d'accès partagé à un fichier à partir de plusieurs instances de code ?
Un exemple d'accès partagé à un fichier à partir de plusieurs instances de code ?
Vous pouvez voir un exemple ici : https://www.mql5.com/en/forum/175881/page5
Vous pouvez voir un exemple ici : https://www.mql5.com/en/forum/175881/page5
C'est fait.
Puis-je savoir s'il existe une application utilisant l'indicateur "HalfTrend-1.02" ?
J'ai besoin d'un exemple de code.
J'ai essayé d'utiliser cet indicateur pour le filtrage, mais j'ai vu qu'il manque beaucoup de commerce.
Je ne sais pas ce qui ne va pas avec ce ....
double MA_Signal1 = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,1);
double MA_Signala = iMA(Symbol(),0,UpperMa,UpperMaShift,UpperMaMode,UpperMaPrice,0);
double MA_Signalb = iMA(Symbol(),0,LowerMa,LowerMaShift,LowerMaMode,LowerMaPrice,0);
double Bbands = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,2);
double Bbands2 = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,3);
double Ma_Bid_Diff = MathAbs(MA_Signala - Bid)/vPoint;
double Ma_Bid_Diff1 = MathAbs(MA_Signalb - Bid)/vPoint;
if ( MA_Signal>MA_Signala ) if ( Bbands MAOpenDistance && Bid > MA_Signala ) Signal = 1;
if ( MA_Signal1MA_Signal1 ) if ( Ma_Bid_Diff1 > MAOpenDistance && Bid < MA_Signalb ) Signal = -1;Puis-je savoir s'il existe une application utilisant l'indicateur "HalfTrend-1.02" ?
J'ai besoin d'un exemple de code.
J'ai essayé d'utiliser cet indice pour le filtrage, mais j'ai vu qu'il manque de nombreux échanges.
Je ne sais pas ce qui ne va pas avec ce ....
double MA_Signal1 = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,1);
double MA_Signala = iMA(Symbol(),0,UpperMa,UpperMaShift,UpperMaMode,UpperMaPrice,0);
double MA_Signalb = iMA(Symbol(),0,LowerMa,LowerMaShift,LowerMaMode,LowerMaPrice,0);
double Bbands = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,2);
double Bbands2 = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,3);
double Ma_Bid_Diff = MathAbs(MA_Signala - Bid)/vPoint;
double Ma_Bid_Diff1 = MathAbs(MA_Signalb - Bid)/vPoint;
if ( MA_Signal>MA_Signala ) if ( Bbands MAOpenDistance && Bid > MA_Signala ) Signal = 1;
if ( MA_Signal1MA_Signal1 ) if ( Ma_Bid_Diff1 > MAOpenDistance && Bid < MA_Signalb ) Signal = -1;Bonjour Stevenpun,
Deux choses que vous pouvez essayer immédiatement :
1) Ajoutez l'impression et les commentaires pour voir TOUTES vos valeurs... et assurez-vous que vous obtenez toutes les valeurs de vos indicateurs correctement...
Les impressions vont aller dans le LOG... et les commentaires vont s'afficher à l'écran pour que vous puissiez les voir immédiatement.
2) Minimisez votre "Trade Logic"...et testez CHAQUE signal par lui-même... Puis s'ils fonctionnent...commencez à les combiner ensemble.
S'ils ne fonctionnent pas... alors vous avez trouvé votre problème.
Moins vous avez de "ifs imbriqués", plus il sera facile de localiser vos problèmes sans faire de transactions...
De plus, les "si" multiples filtrent la plupart des transactions... donc, même si tout fonctionne bien, il se peut qu'il n'y ait pas beaucoup de transactions...
J'espère que cela vous aidera,
Robert
Merci Mladen ,
.................. il n'y aura qu'une seule alerte par barre
C'est exactement ce que je veux qu'il fasse, voir l'image que je joins, le prix saute en haut et en bas avec la ligne tous les quelques tick, ce qui provoque l'alerte indi chaque fois qu'il passe ou touche la ligne .......... ce que je veux qu'il fasse est si la barre a déjà une alerte, attendre la nouvelle barre pour donner l'alerte à nouveau si elle passe la ligne. Mais le code que j'ai ajouté fait que l'indi ne fonctionne pas du tout (pas d'alerte). Pourriez-vous regarder à nouveau ce que j'ai fait de mal ? etun grand merci !