Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1057
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
Je viens de vérifier, ça peut être changé. Mais ce changement concernera toutes les alertes pour le terminal. Et si vous voulez utiliser PlaySound() à chaque condition, vous devez l'utiliser, mais pas dans la fonction de quelqu'un d'autre, et comprendre comment cela fonctionne par vous-même.
PlaySound() fonctionne indépendamment des alertes.
Je l'ai essayé, il joue deux sons à la fois Alert et PlaySound(),
Merci, ça a marché.
Mais cela ne résout pas le problème de la séparation des événements.
une fois de plus
dans les paramètres du terminal, désactivez le son d'alerte
dans le code MQL, produire un son en utilisant PlaySound() puis appeler Alert() - vous obtiendrez donc des sons différents pour des alertes différentes, et vous ne pouvez pas simplement attribuer un son à l'alerte et le modifier par programme à partir du code MQL.
à nouveau
dans les paramètres du terminal, désactivez le son d'alerte
dans le code MQL, vous produisez un son en utilisant PlaySound() puis vous appelez Alert() - vous obtiendrez donc des sons différents pour des alertes différentes, et il n'est pas possible d'attribuer un son à une alerte et de le modifier par programme à partir du code MQL.
Seulement vice versa, d'abord Alert() puis PlaySound(). Sinon, PlaySound() n'aura même pas le temps de commencer à jouer, Alert() l'écrasera.
à nouveau
dans les paramètres du terminal, mettre en sourdine les alertes
Vous voulez dire mettre un son vide, car si vous désactivez l'alerte dans les paramètres, elle ne fonctionne pas du tout.
Seulement vice versa, d'abord Alert() puis PlaySound(). Sinon, PlaySound() n'aura même pas le temps de commencer à jouer, Alert() le tuera.
peut-être, je ne l'ai pas vérifié.
Il y a un truc bizarre avec PlaySound(), je pense que je dois ajouter Sleep(150) entre lui et Alert, mais ce n'est pas un gros problème.
peut-être, je ne l'ai pas vérifié
il y a quelques astuces avec PlaySound(), je pense que nous devons ajouter Sleep(150) entre lui et l'alerte, mais ce n'est rien
peut-être, je ne l'ai pas vérifié
PlaySound() est un peu délicat, je pense que je dois ajouter Sleep(150) entre lui et l'alerte, mais ce n'est pas un gros problème.
PlaySound() avec un nom vide arrête la lecture du son en cours de lecture.
Vous voulez dire mettre le son vide, car si vous désactivez l'alerte dans les paramètres, cela ne fonctionne pas du tout.
Il m'a fallu beaucoup de temps pour lire le code. Je ne suis pas vraiment un codeur, mais parmi les fonctions proposées, notez ce qui suit au début :
extern bool UseSound = False ; // Utiliser le son
Il faut probablement changer la valeur en True et attacher déjà votre son à cette fonction. Il ne doit pas être attaché en même temps que le signalement, mais séparément de celui-ci.
A la fin du code (celui que vous avez écrit plus tôt), il y a le suivant
void Signal(string st) {
if (UseAlert) Alert(st) ;
{ if (UseComment) Commentaire(st) ;
if (UseSendMail) SendMail(WindowExpertName(), st) ;
si (UseSendPush) SendNotification(st) ;
if (UsePrint) Print(st) ;
if (UseSound) PlaySound(sotFileName) ;
}
Je comprends que ce sont des variables qui sont exécutées par la fonction Signal. Par conséquent, cette fonction Signal dispose de plusieurs options d'événements dans son code. Et pour chaque événement, je dois ajouter la valeur nécessaire (son).
Que les programmeurs me corrigent si j'ai complètement confondu la question :)
Il m'a fallu beaucoup de temps pour lire le code. Je ne suis pas vraiment un codeur, mais parmi les fonctions proposées, faites attention à ce qui suit au début :
Que les programmeurs me corrigent si j'ai complètement confondu la question :)
La question principale portait sur l'utilisation de sons différents en fonction de l'événement. UseSound s'applique uniquement à la fonction PlaySound et n'affecte pas le fonctionnement d'Alert.
Le but de la question était que l'alerte soit déclenchée avec des sons différents selon l'événement. UseSound se réfère uniquement à la fonction PlaySound et n'affecte pas le fonctionnement d'Alert.
Les fonctions Alerte et Playsound sont donc interchangeables dans ce cas, non ? Ou est-ce que je me suis trompé ? Si vous ne pouvez pas écrire de variables dans la fonction Alert, et que vous êtes intéressé par un son personnalisé, remplacez Alert par Playsound ((UseAlert) par(UseSound)) dans chaque événement requis. Et vous obtiendrez exactement ce dont vous avez besoin. Du moins, logiquement.