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,
Je ne peux pas le compiler à cause d'une erreur de parenthèses déséquilibrées. Quelqu'un peut-il me dire pourquoi elles sont déséquilibrées ?
MerciSi vous obtenez cette erreur, c'est qu'il vous manque un des éléments suivants : [ ou { ou (
probablement quelque part dans votre code il y a une fonction où vous mettez trop de {[(
J'ai vérifié une partie de votre code et j'ai trouvé quelques erreurs. Essayez ceci :
if ((type == _OP_BUYSTOP) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))//Time Delay for the next Buy Stop Order
{
int hstTotal=OrdersHistoryTotal();
for(i=0;i<hstTotal;i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) == false)
{
Print("Access to history failed ("+GetLastError()+")");
break;
}
else
{
if (OrderDelete() && (((TimeCurrent() - OrderCloseTime())/60) =< NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;
}
}
Je pense également que la dernière partie de votre code (OrderDelete) ne fonctionnera pas, car la fonction OrderDelete ne vérifie rien - elle supprime la commande sélectionnée. Vous devez donc lui passer un paramètre avec le ticket de commande. Au lieu de cela, vous pouvez reconnaître les commandes supprimées en vérifiant leurs commentaires. Chaque ordre supprimé aura "canceled" dans son commentaire - vous pouvez comparer le résultat de la fonction OrderComment() pour le découvrir.
Quelqu'un peut-il m'aider ?
Bonjour,
J'essaie d'écrire un EA, et j'ai besoin d'aide pour écrire une formule.
Je veux que la formule calcule la différence entre la clôture de la bougie précédente (PCC1) et la clôture de la bougie deux bougies plus loin (PCC2) (je vais exécuter ceci sur plusieurs paires). HoL=(PCC1-PCC2)
Mon but est de signaler un achat ou une vente ;
bool BuySignal=false ;
bool SellSignal=false ;
si(HoL>0) BuySignal=vrai ;si(HoL<0) SellSignal=vrai ;
Merci pour votre aide.
...
Si vous voulez utiliser plusieurs symboles à partir d'une instance d'EA que vous pouvez utiliser quelque chose comme ceci :
double HoL=iClose(symbolName,0,1)-iClose(symbolName,0,2);[/php]Or to prevent some back testing surprises, a slightly more complicated code
int symbolShift2 = iBarShift(symbolName,0,Time[2]);
double HoL = iClose(symbolName,0,symbolShift1)-iClose(symbolName,0,symbolShift2);
If you are going to use it only on symbol that your EA is attached to than this
[php]
double HoL=Close[1]-Close[2];
est suffisant
PS :"symbolName" doit être réglé sur le symbole de votre choix.
Salutations
mladen
Bonjour,
J'essaie d'écrire un EA, et j'ai besoin d'aide pour écrire une formule.
Je veux que la formule calcule la différence entre la clôture de la bougie précédente (PCC1) et la clôture de la bougie deux bougies plus loin (PCC2) (je vais exécuter ceci sur plusieurs paires). HoL=(PCC1-PCC2)
Mon but est de signaler un achat ou une vente ;
bool BuySignal=false ;
bool SellSignal=false ;
si(HoL>0) BuySignal=vrai ;si(HoL<0) SellSignal=vrai ;
Merci pour votre aide.Cacher le TP
Remplacer
{
int ticket,err;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,1,0,Ask+TP*Poin t,"Ask-StopLoss*Point,EA Order",magic,0,Red);
GlobalVariableDel("InTrade"); // clear lock indicator
}
}
void OpenSell()
{
int ticket,err;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
ticket = OrderSend(Symbol(),OP_SELL,lot2,Bid,1,0,Bid-TP*Point,Bid+StopLoss*Point,"EA Order",magic,0,Red);
GlobalVariableDel("InTrade"); // clear lock indicator
}
}[/CODE]
to
[CODE]void OpenBuy()
{
int ticket,err;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,1,0,0,"Ask-StopLoss*Point,EA Order",magic,0,Red);
GlobalVariableDel("InTrade"); // clear lock indicator
}
}
void OpenSell()
{
int ticket,err;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
ticket = OrderSend(Symbol(),OP_SELL,lot2,Bid,1,0,0,"EA Order",magic,0,Red);
GlobalVariableDel("InTrade"); // clear lock indicator
}
}Distance entre les ordres d' achat stop
Bonjour à tous, J'essaie d'implémenter une distance entre un ordre d'achat stop supprimé et l'ordre d'achat stop suivant.
J'ai écrit ce code qui fonctionne sauf si le dernier ordre est autre chose. Je ne sais pas comment sélectionner un ordre d'achat stop supprimé dans l'historique. Si quelqu'un pouvait m'indiquer la bonne direction, je l'apprécierais vraiment.
Merci
// Délai avant que le prochain ordre "Buy Stop" soit supprimé.
//Time Delay for the next Buy Stop Order
if ((type == _OP_BUY) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))
{
total = OrdersHistoryTotal();
for(e = total - 1; e >= 0; e--)
{
OrderSelect(e, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol() != Symbol()) continue;
{
if(((TimeCurrent() - OrderOpenTime())/60) < NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;
}
}
}
Salut tout le monde,
Je pense que c'est mieux :
if ((type == _OP_BUY) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))
{
total = OrdersHistoryTotal();
for(e = total - 1; e >= 0; e--)
{
OrderSelect(e, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol() != Symbol()) continue;
if(((TimeCurrent() - OrderOpenTime())/60) < NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;
break;
}
}Je pense que c'est mieux :
Bonjour Roger,
Je suis très novice en matière de codage, pourquoi dois-je utiliser le "break" à cet endroit ? Est-ce qu'il serait automatiquement interrompu lorsque l'instruction est terminée ?
En outre, avez-vous des indices sur la façon de sélectionner un ordre supprimé dans l'historique ?
Merci
Vous ne nous montrez qu'un fragment du code et je ne peux que deviner.
Je suppose que vous commencez à vérifier l'historique après la fermeture du dernier ordre, donc vous avez besoin de connaître l'heure à laquelle il a été fermé. L'ordre le plus récemment clôturé se trouve à la fin de l'historique, donc vous n'avez pas besoin d'en connaître un autre et de "casser" la vérification.
Il y a des tonnes de méthodes pour trouver le bon ordre dans l'historique, vous avez le type, le numéro magique, les commentaires, etc.
besoin d'un codeur pour un EA simple
système rentable : min 50 pips -200 pips de profits par trade
système en 1 heure
utiliser seulement 1 indicateur plus ATR (20)
EA simple avec tp/sl/trailing stop
EA coder peut aider gratuitement s'il vous plaît PM avec votre email