Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1877
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
Pour MQL, cette fonction ne fonctionnera pas correctement
https://www.mql5.com/ru/docs/strings/stringcompare
Paramètres
Chaîne 1
[in] La première chaîne de caractères.
chaîne2
[in] Deuxième corde.
case_sensitive=true
[en] Mode sensible à la casse. Si c'est vrai, alors "A">"a". Si elle est fausse, alors "A"="a". La valeur par défaut est true.
S'il y aura deux constantes dans l'enum, par exemple ENUM1 et enum1, alors à i_str : la fonction"enum1" peut retourner la valeur de la constanteENUM1. Pourquoi StringCompare? Si cela peut être fait de la manière suivante :
J'en ai besoin pour prendre une décision sur ce qu'il faut faire ensuite.
Dans la fenêtre de l'historique du terminal MT5, vous pouvez sélectionner une transaction, un ordre ou une position.
Dans l'historique des transactions, vous devez rechercher une transaction avec DEAL_REASON égale à DEAL_REASON_SL.
Ajouté : Cela peut être simplifié - dans OnTradeTransaction, il suffit d'attraper la transaction TRADE_TRANSACTION_DEAL_ADD et d'appeler l'historique des transactions pour rechercher la DEAL qui a créé cette transaction. Et ensuite la même recette : ... DEAL_REASON égale DEAL_REASON_SL
La fonction ne fonctionnera pas correctement pour MQL
https://www.mql5.com/ru/docs/strings/stringcompare
S'il y a deux constantes dans enum, par exemple ENUM1 et enum1, alors avec i_str :"enum1" la fonction peut retourner la valeur de la constanteENUM1. Pourquoi avons-nous besoin de StringCompare de toute façon? Si cela peut être fait de la manière suivante :
Et une variante plus rapide :
A quoi sert tout cela ? Voulez-vous remplacer les valeurs numériques de ENUM_TIMEFRAMES par les vôtres ? Ou quoi ?
Pour l'instant, je dois écrire les paramètres des indicateurs et de l'EA dans la base de données. En même temps, je voudrais avoir :
1. les enregistrements lisibles par l'homme
2. les enregistrements lisibles par machine
3. la stabilité pour ajouter de nouvelles valeurs dans l'enum personnalisé, pas nécessairement à la fin.
Il n'y a pas de problème avec record - EnumToString, mais les développeurs n'ont pas fait de fonction inverse, contrairement à tous les autres types.
Et une version plus rapide :
Je suis d'accord sur la comparaison insensible à la casse, j'ai écrit un vélo plus généralisé pour moi-même, pour mon propre enum, où je n'utilise pas les minuscules.
Mais si pour ENUM_TIMEFRAMES on utilise cette variante :
vous pouvez avoir le temps de prendre un café pendant qu'il reprend, par exemple pour PERIOD_MN1 :)Obtenez les prix des lignes droites sur chaque barre et comparez ou trouvez la différence, aux endroits où les signes des différences de croisement changent) Il se peut qu'il n'y ait pas d'égalités sur la barre, d'ailleurs.
Aidez-moi s'il vous plaît, j'ai dessiné deux lignes de Gunn et elles se croisent à un certain point, j'ai besoin de connaître les coordonnées du point d'intersection de ces lignes.
Je suis d'accord sur la comparaison avec l'ignorance de la casse, j'ai écrit un vélo plus généralisé pour moi-même, pour mon propre enum, où je n'utilise pas les minuscules.
Mais si pour ENUM_TIMEFRAMES cette variante est exécutée :
vous pouvez avoir le temps de boire un café pendant qu'il reprend, par exemple, pour PERIOD_MN1 :)Eh bien, dans ENUM_TIMEFRAMES, les valeurs minimale et maximale sont connues. C'est pourquoi ils peuvent être spécifiés explicitement.
Pour le reste de l'enum, il suffit de connaître leur plage de valeurs approximative. Si les constantes ne sont pas spécifiées dans la déclaration de l'enum, les valeurs qui s'y trouvent sont généralement de 0. i_max_enum peut être spécifié par n'importe quel nombre à deux ou trois chiffres : 50, 100, 255.
Pour l'instant, j'ai besoin d'écrire les paramètres des indicateurs et de l'EA dans la base de données. En même temps, je voudrais avoir :
1. les enregistrements lisibles par l'homme
2. les enregistrements lisibles par machine
3. stabilité pour ajouter de nouvelles valeurs dans son enum personnalisé, pas nécessairement à la fin.
Il n'y a pas de problème avec record - EnumToString, mais les développeurs n'ont pas fait une fonction inverse, contrairement à tous les autres types.
Avez-vous déjà essayé d'imprimer une énumération ?
A votre avis, qu'est-ce qui sera imprimé ?
Mais créer une énumération de façon programmatique... oui. Ce serait intéressant.
Pourquoi ne pouvons-nous pas passer en boucle les paramètres d'entrée? Pourquoi nous punissez-vous comme ça ?