![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
base de sortie MACD
Mr guru, pouvez-vous m'aider à faire en sorte que cet EA ferme la base sur MACD cross 0.
J'ai édité mais c'est trop difficile pour moi... Merci beaucoup.
Je cherche de l'aide pour écrire un morceau de code sans couverture
Bonjour,
J'espère obtenir un peu d'aide pour un bout de code. J'ai un système de support et de résistance et j'essaie de modifier l'ea pour inclure l'option de couverture. (Puisque je vis aux États-Unis et que je suis avec un courtier sans couverture).
Je sais que lorsque mon EA est activé et que j'ai un ordre ouvert, l'ordre opposé en attente sera automatiquement supprimé. Le problème est que je ne peux pas backtester correctement et modifier le système car le testeur de stratégie n'a pas d'options de couverture ou de non couverture.
J'essaie donc de modifier le code pour inclure cette option. Il est évident que je dois mettre un bool et le mettre à false (ce que j'ai fait), mais je ne suis pas sûr de savoir où aller à partir de là.
L'EA est un EA typique de support/résistance. Il place des ordres en attente à une distance x du support ou de la résistance. En utilisant un exemple, si le marché est dans une tendance baissière et frappe ma vente en attente et la transforme en un ordre de marché, puis la tendance s'inverse, je dois supprimer les ordres d'achat en attente (ou interdire les ordres d'achat en attente) jusqu'à ce que l'ordre de vente soit fermé.
L'EA supprime également les ordres en attente sur une minuterie d'expiration et à la fin des heures de négociation saisies. Je ne savais pas si je pouvais modifier une partie de ce code pour faire ce à quoi je pense.
Voici le code de l'EA qui supprime les ordres en attente. Y a-t-il un moyen de modifier ce code pour faire ce que j'essaie de faire, ou sinon, quelqu'un peut-il m'indiquer la bonne direction ?
void deletebuypending(int magic)
{
for(i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() &&
OrderMagicNumber()==magic &&
OrderType()==OP_BUYSTOP)
{
OrderDelete(OrderTicket());
}
}
}
void deletesellpending(int magic)
{
for(i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() &&
OrderMagicNumber()==magic &&
OrderType()==OP_SELLSTOP)
{
OrderDelete(OrderTicket());
}
}
}
Toute aide ou orientation dans la bonne direction est appréciée.
Merci d'avoir essayé de m'aider (en déplaçant à nouveau mon fil de discussion sans commentaire). J'ai lu ce fil de discussion, mais je n'ai rien vu qui se rapportait à ce que je demandais. J'ai commencé à essayer d'écrire le code moi-même.
Je pense que je suis en quelque sorte sur la bonne voie. J'ai écrit ce morceau de code, mais ce qui se passe, c'est que les ordres de vente en attente ( ordres de vente stop) sont supprimés dès qu'ils sont placés, qu'il y ait un ordre d'achat actif ou non.
J'espère toujours que quelqu'un pourra m'aider.
if (hedge==false)
{
int total = OrdersTotal();
for(m=total-1;m>=0;m--)
{
OrderSelect(m, SELECT_BY_POS);
int type=OrderType();
int type1=OP_BUY;
int type2=OP_BUYSTOP;
int type3=OP_SELL;
int type4=OP_SELLSTOP;
if(type==type2 && type1>0)
{
OrderDelete(OrderTicket());
}
if(type==type4 && type3>0)
{
OrderDelete(OrderTicket());
}
}
}
Bonjour Gregwendland,
Je suppose que vous pouvez dire que c'est mon commentaire tardif, nous essayons de garder les choses un peu organisées dans le forum, et il semblait que vous aviez besoin d'aide pour le codage donc c'est là que je vous ai déplacé, la section d'aide au codage, la raison pour laquelle je n'ai pas fait de commentaire était que je pensais que l'endroit où je vous ai déplacé parlerait de lui-même et je ne pouvais pas offrir d'aide à votre question de codage, de toute façon j'espère que vous trouverez quelqu'un pour vous aider.
Merci, MrTools.
Je vous en remercie. J'ai compris ce que vous faisiez en déplaçant mon fil. Je n'ai simplement pas trouvé de réponse dans les messages précédents. Je continue à travailler sur le sujet. Je crois que j'ai trouvé. Il semble qu'il autorise un ordre actif et supprime l'ordre opposé en attente. Ainsi que la commutation entre les deux.
if (hedge==false)
{
int total = OrdersTotal();
for(m=total-1;m>=0;m--)
{
OrderSelect(m, SELECT_BY_POS);
if(OrderType()==OP_BUY)
{
deletesellpending(magic);
}
if(OrderType()==OP_SELL)
{
deletebuypending(magic);
}
}
}
[/PHP]
Now, it sort of brings up another question. The EA places objects and connecting lines to show where an order was opened and closed. With setting up the deletepending this way, My chart actually gets filled with continuous Sell/Buy Stop indicators immediately followed by closing/deleted indicators. This continues until there is no longer an open position.
So, what I'd like to try now is to figure out if I can put in a check at the ordering function to stop a pending order from even being placed. This will create a cleaner chart screen for me.
I know I figured that one out on my own, but I'm still looking for help since I am not very good with programming languages.
This is the Order Function:
[PHP]
if((count(OP_BUYSTOP,magic)+count(OP_BUY,magic))<maxtrades && buy && tpb<tradesperbar && IsTradeAllowed())
{
// -- Taken out coding to shorten post
ticket=OrderSend(Symbol(),OP_BUYSTOP,ilots,resistance+distance*pt,slippage*mt,sl,tp,comment+"Bid: "+DoubleToStr(Bid,5),magic,expire,Blue);
if(ticket<=0)
{
Print("Error Occured : "+errordescription(GetLastError()));
}
else
{
tps++;
Print("Order opened : "+Symbol()+" Buy @ "+Ask+" SL @ "+sl+" TP @"+tp+" ticket ="+ticket);
}
}
if((count(OP_SELLSTOP,magic)+count(OP_SELL,magic))<maxtrades && sell && tpb<tradesperbar && IsTradeAllowed())
{
// -- Taken out coding to shorten post
ticket=OrderSend(Symbol(),OP_SELLSTOP,ilots,support-distance*pt,slippage*mt,sl,tp,comment+"Ask: "+DoubleToStr(Ask,5),magic,expire,Red);
if(ticket<=0)
{
Print("Error Occured : "+errordescription(GetLastError()));
}
else
{
tpb++;
Print("Order opened : "+Symbol()+" Sell @ "+Bid+" SL @ "+sl+" TP @"+tp+" ticket ="+ticket);
}
}
Je pensais que si je mettais quelque chose comme && OP_SELL==false (ou OP_BUY==false dans la section des ordres de vente ). Est-ce que c'est la bonne idée ?
Bar Counter pour MT4 - IndicatorCounter
Bonjour à tous.
Ceci est mon premier message.
J'ai besoin de l'aide de tous ceux qui le peuvent.
J'ai développé mon premier EA MT4 en utilisant un générateur de code et en le modifiant après compilation et j'essaie de :
1. Après l'entrée, sortir de la transaction après, par exemple, 15 barres.
2. Le nombre de barres pour sortir est modifiable dans la section "extern int".
L'EA trade sur les paramètres RSI spécifiés et sort actuellement sur TP, SL et TS (trailing stop).
J'aimerais aussi pouvoir sortir, par exemple, lorsque 10 ou 15 barres se sont écoulées.
J'ai essayé comme un fou mais je n'arrive pas à le faire fonctionner.
J'apprécierais vraiment que quelqu'un puisse m'aider.
J'ai joint l'EA pour que quiconque puisse y jeter un coup d'œil.
Merci et meilleures salutations
cj
Bonjour à tous.
C'est mon premier message.
J'ai besoin de l'aide de tous ceux qui le peuvent.
J'ai développé mon premier EA MT4 en utilisant un générateur de code et en le modifiant après compilation et j'essaye de :
1. Après l'entrée, sortir de la transaction après, par exemple, 15 barres.
2. Le nombre de barres pour sortir est modifiable dans la section "extern int".
L'EA trade sur les paramètres RSI spécifiés et sort actuellement sur TP, SL et TS (trailing stop).
J'aimerais aussi pouvoir sortir par exemple lorsque 10 ou 15 barres se sont écoulées.
J'ai essayé comme un fou mais je n'arrive pas à le faire fonctionner.
J'apprécierais vraiment que quelqu'un puisse m'aider.
J'ai joint l'EA pour que quiconque puisse y jeter un coup d'œil.
Merci et meilleures salutations
cjBonjour Cj,
Je vous ai transféré ici, j'espère que vous trouverez une solution dans ce fil ou que quelqu'un viendra vous aider.
Merci MrTools
Merci MrTools
Bonjour à tous,
J'ai besoin d'un indicateur qui puisse donner une alerte sonore et visuelle pour
a) Acheter lorsque le bas croise au-dessus de 34 EMA des hauts vers le haut
b) Vendre quand le haut croise la 34 EMA des bas vers le bas
Quelqu'un peut-il m'aider ?
Toute forme d'aide sera appréciée.
Merci d'avance
Salutations
Sahilsri
...
Mladen... pourquoi Squize MA n'affiche pas les bandes où se trouve la flèche... d'après ce que j'ai compris, il doit afficher les bandes lorsque les MA se trouvent à une certaine distance l'une de l'autre ?