Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 672
![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
Je n'ai pas travaillé avec cette fonction. L'hypothèse est que si le terminal sélectionne un caractère une fois, la tentative suivante de sélectionner le même caractère peut retourner un faux. Essayez d'ignorer la vérification du retour par cette fonction.
Il s'avère que SymbolSelect("AUDUSD", true) renvoie true seulement si AUDUSD n'est pas dans MarketWatch - c'est-à-dire, quand la paire est ajoutée à MarketWatch. Une fois que la paire est dans MarketWatch, les appels suivants retournent faux.
Ce comportement ne correspond pas du tout au manuel de cette fonction.
J'ai dû utiliser une fonction auto-écrite qui scanne tous lesSymbolName(i, true) pour i=0...SymbolsTotal(true).
Il s'avère que SymbolSelect("AUDUSD", true) renvoie true seulement si AUDUSD n'est pas dans MarketWatch - c'est-à-dire quand la paire est ajoutée à MarketWatch. Une fois que la paire est dans MarketWatch, les appels suivants retournent faux.
Ce comportement ne correspond pas du tout au manuel de cette fonction.
Quelque chose me dit que vous pouvez vous passer de SymbolSelect().
Oui, je viens de mettre à jour mon message ci-dessus
C'est quoi l'autre, ou on devrait déjà faire un tour sur celui-là ? !
Master Forex
il m'a fallu 4 mois pour faire une chouette sur alpari..... le code nano quanto est très putain de chronophage et pas petit..... et maintenant tout est ! !!!! c'est une honte .... Je ne suis pas sûr de ce qu'il faut en faire.
Troisième hibou et toujours la même erreur, heureux que le problème ne soit pas avec le code :)
Master Forex
Merci, je vais regarder !
Merci, je vais regarder !
Je ne fais pas campagne, je réponds simplement à une question :)
Bonjour à tous. J'ai commencé à écrire des EA il n'y a pas si longtemps. J'ai été confronté à un problème apparemment élémentaire, que je ne parviens pas à résoudre. Veuillez m'aider.
Le problème. Lors d'un nouveau tick, je perds la valeur d'une variable.
Brève description. Assignez à une variable la valeur de retour de la fonction OrderSend() et sortez en utilisant la commande return. Au prochain tick, la valeur de la variable devient égale à zéro.
L'élément clé du code source. Le code source complet ci-dessous.
si (SAR_Prev>LastClose && SAR_Prev2<LastClose2)
{
int ticket_sell=OrderSend(Symbol(),OP_SELL,Lots,Bid,0,Ask+StopLoss*Point,Bid-TakeProfit*Point,",111,0,Red) ;
Alert ("Assigned value to ticket_sell variable ", ticket_sell) ;
retour ;
}
}
Alert ("Position existante = ", position_existante, "Ordre d'achat ", ticket_buy, "Ordre de vente ", ticket_sell) ;
Résultat.
La capture d'écran montre que la position a été ouverte avec succès et que le ticket d'ordre a été mémorisé dans la variable ticket_sell. Cependant, la variable ticket_sell devient nulle au prochain tick. Et je ne peux pas modifier/supprimer la commande sur le ticket.
Bonjour à tous. J'ai commencé à écrire des EA il n'y a pas si longtemps. J'ai été confronté à un problème apparemment élémentaire, que je ne parviens pas à résoudre. Veuillez m'aider.
Le problème. Lors d'un nouveau tick, je perds la valeur d'une variable.
Brève description. Assignez à une variable la valeur de retour de la fonction OrderSend() et sortez en utilisant la commande return. Au prochain tick, la valeur de la variable devient égale à zéro.
L'élément clé du code source. Le code source complet ci-dessous.
si (SAR_Prev>LastClose && SAR_Prev2<LastClose2)
{
int ticket_sell=OrderSend(Symbol(),OP_SELL,Lots,Bid,0,Ask+StopLoss*Point,Bid-TakeProfit*Point,",111,0,Red) ;
Alert ("Assigned value to ticket_sell variable ", ticket_sell) ;
retour ;
}
}
Alert ("Position existante = ", position_existante, "Ordre d'achat ", ticket_buy, "Ordre de vente ", ticket_sell) ;
Résultat.
La capture d'écran montre que la position a été ouverte avec succès et que le ticket d'ordre a été mémorisé dans la variable ticket_sell. Cependant, la variable ticket_sell devient nulle au prochain tick. Et je ne peux pas modifier/supprimer la commande sur le ticket.
Pour éviter de perdre la valeur, nous avons besoin d'une variable globale, mettez sa déclaration en dehors deOnTick() ou rendez-la statique