Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1058

 
Vitaliy Maznev:

Zumindest logisch.

Nicht logisch...

DieFunktionen Alert und Playsound sind in keiner Weise miteinander verbunden

 
MakarFX:

Das ist nicht logisch...

Alert und Playsound sind in keiner Weise miteinander verbunden

Müssen Sie Alert mit Ton haben? Warum weigern Sie sich so hartnäckig, den Vorschlag zu machen, ihn stumm zu schalten und nur Playsound() zu verwenden?

 
MakarFX:

Das ist nicht logisch...

DieFunktionen Alert und Playsound sind in keiner Weise miteinander verbunden

Ich bin ein Mensch, der weit vom Programmieren entfernt ist. Ich verstehe nicht ganz, warum diePlaysound-Funktion nicht für die Ausgabe Ihrer Sounds geeignet ist. Aber ich habe eine solche Option vorgestellt.

Allerdings habe ich dem Gespräch entnommen, dass Alert und Playsound zusammen Ihre Anforderungen teilweise erfüllen. Aber es werden doch zwei Töne ausgegeben, oder? Auf dieser Grundlage sehe ich logischerweise eine Lösung darin, das Geräusch des Alarms durch Stille zu ersetzen. Dann werden nur die von Ihnen angegebenen Geräusche hörbar sein.

 
Alexey Viktorov:

Brauchen Sie Alert mit Ton? Warum weigern Sie sich so hartnäckig, den Vorschlag zu machen, ihn stumm zu schalten und nur Playsound() zu verwenden?

Ich weigere mich nicht. Alert hat emty.wav eingestellt, und im Playsound-Indikator habe ich nach Ereignissen unterteilt.
 
Vitaliy Maznev:

Ich bin ein Mensch, der weit vom Programmieren entfernt ist. Ich verstehe nicht ganz, warum diePlaysound-Funktion nicht für die Ausgabe Ihrer Sounds geeignet ist. Die vorgestellte Option ist jedoch diese.

Playsound eignet sich für die Ausgabe von Sounds, aber nicht für die Zuweisung von Alert-Sounds.

Der Alarm ist nicht nur ein Ton, sondern auch ein Fenster mit Informationen und verwendet den Ton aus den МТ4-Einstellungen, d.h. Sie können dem Alarm keinen anderen Ton in der Anzeige zuweisen.

 
Alexey Viktorov:

Nur umgekehrt, erst Alert() dann PlaySound(). Andernfalls hat PlaySound() nicht einmal Zeit, mit dem Abspielen zu beginnen, und Alert() wird es schon schaffen.

Alert() verstopft PlaySound().

Was sollte ich hier reparieren?

void Signal(string st) {
  if (UseAlert) Alert(st);
  if (UseComment) Comment(st);
  if (UseSendMail) SendMail(WindowExpertName(), st);
  if (UseSendPush) SendNotification(st);
  if (UsePrint) Print(st);
  if (UseSound) PlaySound(sotFileName);
}

Oder hier

        if (StringLen(sh)>0) st=sh+st;
        Signal(st);
 
MakarFX:

Alert() blockiert PlaySound()

Was muss hier behoben werden?

Oder hier.

Ich habe seit etwa 10 Jahren weder Alert() noch PlaySound() verwendet. Aber soweit ich mich erinnere, hat Alert() einen sehr kurzen Ton und PlaySound() sollte ohne Probleme funktionieren. Ich weiß nicht einmal, was ich Ihnen raten soll... Schlaf funktioniert nicht in Indikatoren. Vielleicht sollten Sie Alert() durch MessageBox() ersetzen und PlaySound() dahinter setzen.

Ich habe die Benachrichtigungen wie folgt konfiguriert


 
Alexey Viktorov:

Vielleicht sollten Sie Alert() durch MessageBox() und PlaySound() ersetzen.

Eine Änderung vorgenommen

void Signal(string st) {
  if (UseAlert) MessageBox(st,Symbol(),1);
  if (UseComment) Comment(st);
  if (UseSendMail) SendMail(WindowExpertName(), st);
  if (UseSendPush) SendNotification(st);
  if (UsePrint) Print(st);
  if (UseSound) PlaySound(sotFileName);
}
Zeigt keine Meldungen an(
 
MakarFX:

Eine Änderung vorgenommen

Es wird keine Meldung angezeigt(

Wissen Sie, wie Sie überprüfen können, ob Ihre Aktionen korrekt sind? Ich glaube nicht, dass ich das tue. Haben Sie etwas über diese Funktion gelesen? Haben Sie gelesen, dass es im Tester nicht so funktioniert wie Alert(), oder ist es Ihre Aufgabe, es zu ersetzen, und überlassen Sie es denen, die Sie beraten, es herauszufinden?

Glücklicherweise wurde er ohne Fehler geschrieben. Warum funktioniert es nicht, gehen Sie in den Club der Telepathen.

 
Alexey Viktorov:

Wissen Sie, wie Sie überprüfen können, ob Ihre Aktionen korrekt sind? Das glaube ich nicht. Haben Sie etwas über diese Funktion gelesen? Haben Sie gelesen, dass es im Strategy Tester nicht funktioniert, wie Alert() es tut, oder sollten Sie es ersetzen.

Zum Glück ist er fehlerfrei geschrieben. Warum heißt es nicht: "Bitte kontaktieren Sie den Telepathenclub.

Ich bin kein Programmierer, ich bearbeite den Indikator für meine eigene Bequemlichkeit. Ich habe es nicht im Testgerät, sondern in Echtzeit überprüft.

Übrigens, es gibt keine Telepathen.

Wenn Sie wissen, welche der verfügbaren Indikatoren diese Funktion verwenden, teilen Sie mir das bitte mit, vielleicht kann ich es dann selbst verstehen.

Dankeschön

Grund der Beschwerde: