Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1257
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
Vous n'avez pas besoin d'écrire ce code dans OnInit, mais dans OnTick().
Non, tu ne peux pas.
Je ne peux pas expliquer comment les modèles.... fonctionnent. c'est comme ça - tant que vous n'appelez pas une telle fonction, le compilateur ne sait rien de son existence (souvent, il n'y a même pas d'erreurs de compilation s'il n'y a pas d'appel)
vous appelez alors une telle fonction modèle et le compilateur remplit les types nécessaires et vérifie ensuite que tout fonctionne correctement.
et ensuite vous faites un autre appel au modèle avec différents types de paramètres - et le compilateur crée une nouvelle fonction, c'est-à-dire une de plus, c'est-à-dire comme si vous écriviez 2 fonctions, qui font la même chose, mais avec différents types de paramètres
whew, c'est comme ça que ça marche ))))
UPD :
vous pouvez, mais si les types dans le modèle correspondent, voici un exemple, cela fonctionne correctement :
Merci, encore plus clair que dans les docs) Il s'avère que dans le modèle la prédéfinition des variables ne permet pas de ne pas les spécifier. J'en ai besoin pour imprimer dans un fichier. Le journal ne me donne pas la possibilité de fractionner les enregistrements. J'aimerais qu'il y ait 5 bûches). En conséquence, les modèles donnent une option pour ne pas amener le type de variable à celui désiré, cela peut être fait à l'intérieur d'une fonction de modèle, mais le nombre de variables doit être spécifié en entier. Une fonction simple avec des variables prédéfinies du type requis donne la possibilité de spécifier moins de variables à un appel, mais les types de variables doivent être amenés au bon. Bien sûr, cela peut être fait à l'appel, mais l'enregistrement sera trop long.
Bonjour à tous !
J'ai créé une fonction pour modifier le stoploss. Mais quand il fonctionne, il donne EURUSD,H1 : OrderModify error 130.
Et le prix est loin de l'endroit où le stoploss devrait être fixé.
Voici la fonction :
Essayez de cette façon :
Merci, ça a marché !
Mais deux autres nuances :
1 quelle condition ajouter pour ne pas fermer les ordres qui ont été ouverts le vendredi de la semaine en cours, et les vendredis des semaines précédentes, respectivement, ont été fermés ?
2. comment corriger le code - OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(nameSym,MODE_ASK),MarketInfo(nameSym,MODE_DIGITS)),3,CLR_NONE) ;
pour supprimer l'avertissement"perte possible de données due à la conversion de type" ? Il semble s'agir de "...MarketInfo(nameSym,MODE_DIGITS)...".
Veuillez me conseiller.
Dans le testeur, la valeur de retour de la fonction de sommation de lots GetAmountLotFromOpenPos donne une valeur de -1717986918.
J'ai trouvé la raison. J'aurais dû mettre OrderTakeProfit() dans OrderModify au lieu de OrderProft(). Je l'ai parcouru un peu.
Merci quand même pour votre aide.
Merci, ça a marché !
Mais deux autres nuances :
1 quelle condition ajouter pour ne pas fermer les ordres qui ont été ouverts le vendredi de la semaine en cours, et les vendredis des semaines précédentes, respectivement, ont été fermés ?
2. comment corriger le code - OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(nameSym,MODE_ASK),MarketInfo(nameSym,MODE_DIGITS)),3,CLR_NONE) ;
pour supprimer l'avertissement"perte possible de données due à la conversion de type" ? Il doit s'agir de "...MarketInfo(nameSym,MODE_DIGITS)...".
Pour la première question, vous devez réaliser cette fonction :
{Print("Erreur lors de la sélection de la commande ", GetLastError();}
Pour la deuxième question, il devrait y avoir l'entrée suivante :
OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(MarketInfo(nameSym,MODE_ASK)), 3, clrNONE) ;
Bonne chance.