Questions des débutants MQL5 MT5 MetaTrader 5 - page 571
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
Il y a eu une question de ce genre une fois auparavant :
Alexey Viktorov:
lot = (valeur_absolue(ordre_de_profit) + profit souhaité) / (contrat_standard_de_taille * TR * point)
Merci, Artyom Trishkin.
Merci, Alexey Viktorov.
Comprenez-vous la définition même d'une "opération asynchrone" ? Si vous le faites, il ne devrait pas y avoir de questions à poser.
Chers collègues, aidezun programmeur novice.
J'ai essayé de créer un code de fonction personnalisée, de sorte que lorsque je définis l'heure dans les paramètres au format habituel "13:45" pour trois sessions de temps, ma fonction renvoie vrai ou faux. L'idée était d'insérer la fonction dans Expert en premier. Il vérifierait la valeur et, si c'est le cas, nous pourrions échanger et passer à autre chose.
Tout semblait bien se passer, tous les paramètres renvoyés étaient vérifiés avec Alert, de sorte que tout était clair à toutes les étapes, mais à la fin je me suis rendu compte que j'avais dû mal déclarer la fonction Start, car elle a généré l'erreur "wrong parameters count".
Le code est long, je vais vous donner les grandes lignes :
--------------------------------
void OnTick()
{
bool TradingAllowed = false ;
TradeTimeAllowed (TradingAllowed) ;
if (TradingAllowed = true) { Alert ("Buy 1 lot");}
else { Alert ("Trading is not allowed") ; }
}
//+------------------------------------------------------------------+
bool TradeTimeAllowed (string TS1, string TE1, string TS2, string TE2, string TS3, string TE3) //il y a une fonction elle-même. Je l'ai testée en l'insérant dans OnTick via Alert. Il sort vrai ou faux.
{ ....................}
---------------------
Et le deuxième problème est dans la fonction elle-même à la fin.
Maintenant, il est mal placé à cet endroit :
si (Trade_Session_1 = true) TradeTime_Ok = true ;
si (Trade_Session_2 = true) TradeTime_Ok = true ;
si (Trade_Session_3 = true) TradeTime_Ok = true ;
return(TradeTime_Ok) ;
// c'est-à-dire que le problème est "qui est le dernier, qui est le prochain". Si la première période est vraie ou la deuxième est vraie, et la troisième est fausse, elle se rappellera de faux. Mais selon mon idée, si au moins l'une d'entre elles est vraie, la valeur finale est toujours vraie.
J'ai essayé de le dire de cette façon :
if (Trade_Session_1 = true || Trade_Session_2 = true || Trade_Session_3 = true) TradeTime_Ok = true ; // mais il écrit une erreur comme ceci. Je ne sais pas ce qu'il n'aime pas.
Un bon conseil, s'il vous plaît.
Le premier problème a été résolu avec l'aide des aimables personnes du fil voisin. La fonction est appelée correctement et produit la valeur requise.
Le deuxième problème demeure :
Et le deuxième problème se trouve dans la fonction elle-même, à la fin.
C'est mal écrit maintenant :
si (Trade_Session_1 = true) TradeTime_Ok = true ;
si (Trade_Session_2 = true) TradeTime_Ok = true ;
si (Trade_Session_3 = true) TradeTime_Ok = true ;
return(TradeTime_Ok) ;
// c'est-à-dire que le problème est "qui est le dernier, qui est le prochain". Si la première période est vraie ou la deuxième est vraie, et la troisième est fausse, il se souviendra de faux. Mais selon mon idée, si au moins l'une d'entre elles est vraie, la valeur finale est toujours vraie.
J'ai essayé de le dire de cette façon :
if (Trade_Session_1 = true || Trade_Session_2 = true || Trade_Session_3 = true) TradeTime_Ok = true ; // mais il écrit une erreur comme ceci. Je ne sais pas ce qu'il n'aime pas.
Un bon conseil, s'il vous plaît.
Transféré de
Andrey Koldorkin:Collègues, aide pour un programmeur novice.
J'ai essayé de bricoler du code pour une fonction personnalisée qui renvoie vrai ou faux pour trois sessions de temps, lorsque je définis l'heure dans les paramètres au format familier "13:45". L'idée était d'insérer la fonction dans Expert en premier. Il vérifierait la valeur et, si c'est le cas, nous pourrions échanger et passer à autre chose.
Tout semblait bien se passer, tous les paramètres renvoyés étaient vérifiés avec Alert, de sorte que tout était clair à toutes les étapes, mais à la fin je me suis rendu compte que j'avais dû mal déclarer la fonction Start, car elle a généré l'erreur "wrong parameters count".
Le code est long, je vais vous donner les grandes lignes :
--------------------------------
void OnTick()
{
bool TradingAllowed = false ;
TradeTimeAllowed (TradingAllowed) ;
if (TradingAllowed = true) { Alert ("Buy 1 lot");}
else { Alert ("Trading is not allowed") ; }
}
//+------------------------------------------------------------------+
bool TradeTimeAllowed (string TS1, string TE1, string TS2, string TE2, string TS3, string TE3) //il y a une fonction. Je l'ai vérifiée en l'insérant dans OnTick via Alert. Produit vrai ou faux.
{ ....................}
---------------------
Et le deuxième problème est dans la fonction elle-même à la fin.
Maintenant, il est mal placé à cet endroit :
si (Trade_Session_1 = true) TradeTime_Ok = true ;
si (Trade_Session_2 = true) TradeTime_Ok = true ;
si (Trade_Session_3 = true) TradeTime_Ok = true ;
return(TradeTime_Ok) ;
// c'est-à-dire que le problème est "qui est le dernier, qui est le prochain". Si la première période est vraie ou la deuxième est vraie, et la troisième est fausse, il se souviendra de faux. Mais selon mon idée, si au moins l'une d'entre elles est vraie, la valeur finale est toujours vraie.
J'ai essayé de le dire de cette façon :
if (Trade_Session_1 = true || Trade_Session_2 = true || Trade_Session_3 = true) TradeTime_Ok = true ; // mais il écrit une erreur comme ceci. Je ne sais pas ce qu'il n'aime pas.
S'il vous plaît, aidez-moi.
Transféré de
1) La fonction requiert 6 paramètres de type chaîne et vous l'appelez avec un paramètre booléen. 2) Le signe égal est "==", pas "=".
Transféré de
LeonidB:Aidez à résoudre un problème !
Les paramètres des catégories de nouvelles ne sont pas sauvegardés. Réinitialiser les paramètres après le redémarrage du terminal. La réinstallation n'aide pas, l'exécution en tant qu'administrateur n'aide pas. Windpws 10. J'ai trouvé tous les fichiers responsables de la configuration, les dates des modifications coïncident toujours avec la date d'arrêt du terminal, c'est-à-dire que les fichiers sont écrasés. D'après ce que je comprends, les fichiers suivants sont responsables de la configuration : terminal.ini, settings.ini, hotkeys.ini, common.ini (situés dans le dossier config), news.dat (situé dans le dossier news).
En outre, le paramètre suivant n'est pas sauvegardé : Afficher - Dernière ligne de prix. Ce point n'est pas critique par rapport aux paramètres de l'actualité, mais je pense que ce sont des maillons de la même chaîne.
Bonjour à tous, j'ai posté sur quatre, j'espère avoir une réponse bientôt..... Les gars, regardez ce qui ne va pas. Il semble être le code de l'indicateur en deux lignes, mais il ne veut pas fonctionner en temps réel :-(
Voici un lien vers un post avec trois photos....
https://forum.mql4.com/ru/56236/page1041
Merci !!!!
J'ai jeté un coup d'oeil au journal de bord :
- L'une des tentatives d'installation d'une EA a donné lieu à un message de changement de profil ;
- Dans toutes les autres tentatives, l'EA est chargé sans aucun problème.
J'avais l'habitude de travailler avec des profils : j'augmentais le nombre de profils, je définissais des graphiques différents sur chaque profil. S'il y avait un problème, malheureusement, je ne le connais pas. Je ne sais pas ce qui doit être cassé pour que le programme envoie un message sur le changement de profil. Bien qu'il soit possible que l'échec soit dû à une autre raison. Ce n'est pas clair pour moi.
Pour des raisons de test, j'ai créé un nouvel EA (modèle) aujourd'hui et je n'ai rien écrit dans les fonctions OnInit(), OnDeinit(const int reason), OnTick() et j'ai essayé de mettre cet EA sur le graphique et de permettre le trading.
J'ai la même situation que précédemment.
Veuillez m'aider à comprendre cette situation. Merci ! !!!!!.