Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 1154
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
Bonjour les amis.
Comment faire pour que les valeurs de stop loss, tekprofit et trailing soient affichées en pourcentage au lieu de pips.
Cette formule est trop encombrée et ne fonctionne pas du tout.
StopLoss=NormalizeDouble(Bid-(Bid-TrailingStop)/100*TRAL_PERCENT,Digits) ;
Je voudrais avoir la forme la plus simple de pourcentage.
Double Stoploss = 0.05 ;
--------
Profit=Enchère-Perte en pourcentages(c'est un exemple désordonné, mais juste pour la clarté).
Merci.
Un exemple bâclé conduit à une réponse bâclée. Pour le comprendre, il faut savoir à partir de quoi le pourcentage est mesuré.
.. Celui qui a besoin aide à la rédaction d'une EE, vous pouvez m'envoyer un courriel. Je vais aider
aider à prendre le prix de la barre de zéro, voici la discussion
https://www.mql5.com/ru/forum/160683/page237#comment_5350688
Un exemple peu convaincant donne lieu à une réponse peu convaincante. Pour comprendre, il faut comprendre par rapport à quoi les pourcentages sont mesurés.
Je l'ai.
Je vais essayer d'être plus clair.
Mon code est initialement écrit de la manière suivante :
extern double StopLoss =0 ;
extern double TakeProfit =0 ;
extern double SL_PERCENT = 0.02 ;
extern double TP_PERCENT = 0.03 ;
extern double TRALL_PERCENT = 0.01 ;
extern double Lots =0.5 ;
Ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,NormalizeDouble(OrderOpenPrice+(OrderOpenPrice + StopLoss)/100*SL_PERCENT,Digits),NormalizeDouble(OrderOpenPrice-(OrderOpenPrice - TakeProfit)/100*TP_PERCENT,Digits),",Magic,0,Red) ;
Le StopLoss est déclenché mais pas de 0,02% mais de 0,43%, ce qui est incorrect. Je ne sais pas ce qu'il en est de TakeProfit, car je ne l'ai jamais essayé auparavant, mais il semble qu'il soit également incorrect.
J'ai quelques suggestions que le code n'est pas correct.
Encore une chose, peut-être que c'est important. Mes commandes sont ouvertes pour tous mes dépo pour 3-4 paires. Parfois par cinq.
Je souhaite également modifier des paramètres tels que StopLoss, Takeprofit, TrailingStop en pourcentage et non en points.
Par exemple,
1) Takeprofit=OrderOnProfit+%TP_PERCENT
2) Stoploss=OrderOnPrice-%SL_PERCENT
I.e.
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,0,%,%,",Magic,0,clrGreen);
Je ne sais pas comment le modifier davantage à des fins de suivi.
J'ai pris un échantillon du tutoriel, mais je fais manifestement quelque chose de mal.
3.) TrailingStop=Bid-%TRALL_PERCENT
cas 0 : // Ordre d'achat
si (NormalizeDouble(OrderOpenPrice-SL*Point,Digits)*SL_PERCENT/100<=(OrderOpenPrice-Ask) // Si en dessous de
NormalizeDouble(Bid-(Bid-TS)/100*TRAL_PERCENT,Digits)
|| NormalizeDouble(SL,Digits)==0)
{
SL=Bid-TS*Point ; //puis le modifier
string Text="Buy " ; // Texte pour Buy
Modify=true ; // assigné à modifier.
}
J'espère vraiment que j'ai pu vous expliquer.
Merci.
Comment implémenter correctement l'ouverture d'une transaction (OrderSend) strictement au début de la bougie - OnTimer et/ou OnTick,
Afin de ne pas surcharger le terminal (20-30 graphiques ouverts et suivis simultanément) ?
découvert que le retard dans l'apparition d'un nouveau tick au début d'un chandelier peut aller jusqu'à 5-10 secondes ; l'écart avec le tick précédent est significatif (négatif pour les conditions de transaction)
p.s. en même temps dans le Conseiller Expert il est supposé notifier une possible transaction 1-2 minutes avant l'ouverture de la transaction, c'est à dire avant le début de l'ouverture d'une bougie.
Comment implémenter correctement l'ouverture d'une transaction (OrderSend) strictement au début de la bougie - OnTimer et/ou OnTick,
afin de ne pas surcharger le terminal (20-30 graphiques ouverts et suivis simultanément) ?
Il a été constaté que le retard dans l'apparition d'un nouveau tick au début d'une bougie peut aller jusqu'à 5-10 secondes avec un écart important par rapport au tick précédent (il est négatif pour les conditions de transaction).
p.s. dans ce cas, le Conseiller Expert est supposé informer de manière préliminaire d'une possible transaction 1-2 minutes avant l'ouverture de la transaction, c'est-à-dire avant le début de l'ouverture d'une bougie.
Vous devez afficher tous les graphiques ouverts dans la minuterie pour voir si une nouvelle barre apparaît.
Vous devez créer un tableau de pointeurs vers des instances de classes - une classe pour chaque période de temps de chaque graphique ouvert.
La classe qui surveillera l'ouverture d'un nouveau bar se trouve dans cet article.
Ouvrez le graphique - ajoutez-le au tableau des graphiques ouverts. Fermez le graphique - supprimez-le du tableau.
Dans la boucle de la minuterie, vous passez par un tableau de pointeurs vers des instances de classes et vérifiez le fait de l'ouverture d'une nouvelle barre, que la classe renverra en cas de formation d'une nouvelle barre.
Vous devez afficher tous les graphiques ouverts dans la minuterie pour voir si une nouvelle barre apparaît.
Vous devez créer un tableau de pointeurs vers des instances de classe ...
Et si vous utilisiez MQL4 ?
Et que faire avec - "...il est censé envoyer une notification préliminaire sur une transaction possible 1 à 2 minutes avant l'ouverture de la transaction, c'est-à-dire avant l'ouverture d'une bougie...", c'est-à-dire à l'intérieur d'une barre.
Bienvenue sur le site https://www.mql5.com/ru/forum/208120#comment_5412193
Je ne trouve pas de consensus.
Avant d'afficher le type de doublon, je le normalise à 2 décimales, mais parfois cela ne fonctionne pas. Pourquoi ? Voici une partie du code.
Le type prof[] est une chaîne de caractères
Et le problème se présente de la manière suivante
Avant d'afficher le type de doublon, je le normalise à 2 décimales, mais parfois cela ne fonctionne pas. Pourquoi ? Voici une partie du code.
Le type prof[] est une chaîne de caractères
Le problème se présente de la manière suivante
DoubleToString()
DoubleToString
Convertit une valeur numérique en une chaîne de texte.
stringDoubleToString(
valeur double,//nombre
intdigits=8//nombre de décimales
) ;
Paramètres
Valeur retournée
Exemple :
Print("DoubleToString(120.0+M_PI) : ",DoubleToString(120.0+M_PI);
Print("DoubleToString(120.0+M_PI,16) : ",DoubleToString(120.0+M_PI,16);
Print("DoubleToString(120.0+M_PI,-16) : ",DoubleToString(120.0+M_PI,-16);
Print("DoubleToString(120.0+M_PI,-1) : ",DoubleToString(120.0+M_PI,-1));
Print("DoubleToString(120.0+M_PI,-20) : ",DoubleToString(120.0+M_PI,-20);
Un insecte merveilleux ou autre.
Nous ajoutons les entrées :
input datetime test =0;