Questions des débutants MQL5 MT5 MetaTrader 5 - page 571

 
Artyom Trishkin:

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.

 
Karputov Vladimir:
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.
Je le comprends très bien ! C'est pourquoi j'ai demandé. Je n'ai pas l'intention de lutter contre la compétence en matière de pisse avec vous.
 

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

<br / translate="no" >Andrey Koldorkin:


Sergei Vladimirov:

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 "=".

 
Oui. Tout est réglé. Les erreurs ont disparu. Merci. (gloussements)
 

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 !!!!

Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. (faq) - MQL4 форум - Страница 1041
Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. (faq) - MQL4 форум - Страница 1041
  • www.mql5.com
Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. (faq) - MQL4 форум - Страница 1041
 
Bonjour, je suis à la recherche d'un EA. J'ai écrit un EA dans MT5 que j'ai voulu utiliser pour rechercher automatiquement les modèles nécessaires et ouvrir des positions manuellement. C'est-à-dire qu'il n'y a pas de fonctions de trading dans l'EA. Mon problème est que je ne peux pas installer cet EA sur un graphique. Il n'y a pas d'appels d'indicateurs dans l'EA. Tous les indicateurs sont écrits dans le programme. Je l'ai compilé et l'ai exécuté dans le testeur de stratégie. Il n'y a eu aucun problème. Je viens de placer l'EA sur le graphique et de l'autoriser à négocier sur l'écran, dans les paramètres et dans la fenêtre EA qui s'affiche. Au lieu du visage souriant sur le graphique, l'icône du conseiller expert apparaît sur le graphique des prix et un cercle vert avec un triangle blanc à l'intérieur. J'ai essayé cette procédure plusieurs fois et j'ai obtenu les mêmes résultats. J'ai changé de période sur le graphique des prix, le message de OnDeinit() apparaît sur le moniteur, c'est-à-dire qu'une bougie est traitée dans le programme et le travail s'arrête.

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 ! !!!!!.