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
"OrderSelect()" renvoie un nombre entier, alors que la documentation indique clairement qu'il renvoie un booléen ?
Un booléen, c'est 0 ou 1
Vous ne vérifiez même pas le résultat de "OrderClose()" ou si une erreur d'exécution s'est produite ! J'écrirai le code après avoir compris le FMIC de sélection de commande.
la programmation c est importante à comprendre. heureux ?
"OrderSelect()" renvoie un nombre entier, alors que la documentation indique clairement qu'il renvoie un booléen ?
Un booléen, c'est 0 ou 1
Vous ne vérifiez même pas le résultat de "OrderClose()" ou si une erreur d'exécution s'est produite ! oui mais cela vient après le CCMI
C'est déjà un booléen, vous n'avez pas besoin de le comparer avec quoi que ce soit, que ce soit une autre constante booléenne ou un Integer typé. Vous ne devriez pas coder en dur les valeurs booléennes représentées en interne ! Vous devriez utiliser "true" ou "false", mais idéalement uniquement lors de l'initialisation d'une variable, et non dans les comparaisons.
Si vous aviez pris la peine d'apprendre le "C", vous l'auriez su !
Voici ma question
qu'est-ce qui fait passer la fonction de sélection de commande de faux à vrai ?
Je comprends ! equals not
exemples
if not order select ou if order select BUT
par défaut la sélection de la commande est 0 alors qu'est-ce qui fait passer la sélection de la commande de 0 à 1 ?
La documentation indique
"Valeur retournée
Il retourne vrai si la fonction réussit,"
ce n'est pas assez d'informations pour que je comprenne
merci FMIC
seulement ce forum
Eddie, tu connais la fonction de sélection des commandes ?
Bien sûr que je m'y connais.
J'ai appris d'autres codeurs et je suis capable de lire les livres et manuels MQL.
Mais le point le plus important est que j'ai appris à utiliser le débogueur. Cela m'a fait gagner beaucoup de temps dans la recherche de MES erreurs d'analyse et de codage.
Si vous comprenez, pourquoi ne pas l'avoir fait correctement dès le départ !
boopa26 : voici ma question
qu'est-ce qui fait passer la fonction de sélection d'ordre de false à true ?
exemples
if not order select ou if order select BUT
par défaut, la fonction order select est 0, alors qu'est-ce qui fait passer la fonction order select de 0 à 1 ?
La documentation indique
"Valeur retournée Elle retourne vrai si la fonction réussit,"
ce n'est pas assez d'information pour que je comprenneIl n'y a pas de "défaut" et la fonction ne passe pas d'une valeur à une autre ! Soit elle réussit à sélectionner la commande et renvoie "true", soit elle échoue et renvoie "false" et vous devez vérifier le code d'erreur pour savoir pourquoi !
1. n'a pas besoin de connaissances en c. mql4 a des fonctions différentes
3. déjà lu la documentation4. code déjà écrit
S'il vous plaît, ne nourrissez pas le troll. Quand vous répondez, vous donnez du pouvoir au troll. Quand vous ignorez le troll, il a faim d'attention et finit par mourir.
Bonjour, je peux faire un cycle de sélection d'ordre pour trouver des ordres ouverts mais je ne peux pas faire un cycle de sélection d'ordre pour trouver des profits d'ordres fermés. Par exemple, je veux trouver le dernier profit d'un ordre fermé.
ce code permet de faire un cycle de sélection d'ordre pour trouver les ordres ouverts
//cycle order select
if(OrdersTotal()>0&&
a<OrdersTotal()&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)
a++;
//close open order
if(OrdersTotal()>0&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==1&&
OrderMagicNumber()==magic_number&&
OrderType()==OP_BUY&&
// close order signal)
OrderClose(OrderTicket(),lots_2,Bid,3,Blue);
https://docs.mql4.com/trading/orderselect
https://docs.mql4.com/trading/orderprofit
peut-être ceci
b<OrdersHistoryTotal()&&
OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==0)
b++;
//cycle order select
if(OrdersTotal()>0&&
a<OrdersTotal()&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)
a++;
//close open order
if(OrdersTotal()>0&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==1&&
OrderMagicNumber()==magic_number&&
OrderType()==OP_BUY&&
// close order signal)
OrderClose(OrderTicket(),lots_2,Bid,3,Blue);
vous n'initialisez pas la variable a et pourquoi est-elle statique ?
On vous a déjà dit que vous deviez utiliser true ou false, et non 1 ou 0.
// OR
!OrderSelect(a,SELECT_BY_POS,MODE_TRADES))
Vous n'effectuez pas de cycle dans les commandes
//cycle order select
if(OrdersTotal()>0&&
a<OrdersTotal()&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)
a++;
//close open order
if(OrdersTotal()>0&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==1&&
OrderMagicNumber()==magic_number&&
OrderType()==OP_BUY&&
// close order signal)
OrderClose(OrderTicket(),lots_2,Bid,3,Blue);
vous n'initialisez pas la variable a et pourquoi est-elle statique ?
On vous a déjà dit que vous deviez utiliser true ou false, et non 1 ou 0
// OR
!OrderSelect(a,SELECT_BY_POS,MODE_TRADES))
Vous ne passez pas par les commandes
static int a ; sits ci-dessus start(){ VALEUR GLOBALE
il n'y a pas de différence entre 1 et 0. vrai ou faux
j'augmente la valeur a après que les conditions aient pris effet