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

 
79014393347az:
Hallo! Bitte helfen Sie, wie man in RSI Alarm, Push-Benachrichtigungen zu schreiben versuchte es selbst es funktioniert nicht gibt einen Fehler
Ich möchte wissen, was Sie getan haben und welchen Fehler Sie erhalten haben.
Code.
 

Was ist der Grund dafür, dass Audio nicht abgespielt wird, wenn PlaySound() true zurückgibt?


v1 = (Up[i] != EMPTY_VALUE ? Up[i] : Down[i]);
v2 = (Down[i+1] != EMPTY_VALUE ? Down[i+1] : Up[i+1]);
         
if((v2 >= level || v2 <= level * (-1)) && a2 < Time[i])
  {
   a2 = Time[i];
   if(arrows == e1 && v2 >= level) {ArrowCreate(false,Time[i+1],High[i+1]);} else if(arrows == e1) {ArrowCreate(true,Time[i+1],Low[i+1]);};
   if(prev_calculated != 0)
     {
      if(sounds == e1 && v2 >= level) {al = PlaySound("SELL NOW"); Alert(al);} else if(sounds == e1) {al = PlaySound("BUY NOW"); Alert(al);};
      if(alerts == e1 && v2 >= level) {Alert(_Symbol+TF(Period())+" SELL NOW");} else if(alerts == e1) {Alert(_Symbol+TF(Period())+" BUY NOW");};
      if(push == e1 && v2 >= level) {SendNotification(_Symbol+TF(Period())+" SELL NOW");} else if(push == e1) {SendNotification(_Symbol+TF(Period())+" BUY NOW");};
     };
  };
 
Alexandr Sokolov:

Was ist der Grund dafür, dass Audio nicht abgespielt wird, wenn PlaySound() true zurückgibt?


  1. Sind die Namen der Audiodateien korrekt?
  2. Nach PlaySound() folgt sofort Alert() - beide Funktionen spielen Audio ab. Alert() entfernen
 
Artyom Trishkin:
  1. Sind die Namen der Tondateien korrekt?
  2. Nach PlaySound() folgt sofort Alert() - beide Funktionen spielen einen Ton ab. Alert() entfernen

Die Namen sind korrekt. Der Grund dafür waren die Warnmeldungen. VIELEN DANK! Seit ein paar Tagen konnte ich den Grund nicht herausfinden.

 
Ist es möglich, in den Programmeinstellungen des Compilers eine Einstellung vorzunehmen, um die Farbe der Benutzerfunktionen von der Standardfarbe Schwarz auf eine andere Farbe zu ändern, d.h. die Benutzerfunktionen hervorzuheben?
 
Wie funktioniert die Funktion ArrayMaximum(), die standardmäßig in den Compiler eingebunden ist? Also, die Essenz der Frage ist diese: diese Funktion findet den maximalen Wert in der Matrix, ich denke, dass, wenn das Array Werte in einer chaotischen Reihenfolge enthält, um den maximalen oder minimalen Wert zu finden, sollten diese Werte zunächst sortiert werden und nur dann können Sie den maximalen Wert, der am Ende oder am Anfang der Liste des sortierten Arrays sein wird, wie diese Funktion findet den maximalen Wert, wenn sie in einer chaotischen Reihenfolge geschrieben werden?
 
Seric29:
Wie funktioniert die Funktion ArrayMaximum(), die standardmäßig im Compiler enthalten ist? Also, der Kern der Frage ist dies: diese Funktion findet den maximalen Wert im Array, ich denke, dass, wenn ein Array Werte in einer chaotischen Reihenfolge enthält, um den maximalen oder minimalen Wert zu finden, sollten diese Werte zuerst sortiert werden und nur dann können Sie den maximalen Wert wählen, die am Ende oder am Anfang der Liste des sortierten Arrays sein wird, wie wird diese Funktion den maximalen Wert finden, wenn sie in einer chaotischen Reihenfolge geschrieben werden?

Es besteht keine Notwendigkeit, irgendetwas zu sortieren. Die Funktion ArrayMaximum() findet den maximalen Wert in einem unsortierten Array und gibt den Index des gefundenen Wertes zurück .

 
Alexey Viktorov:

Es besteht keine Notwendigkeit, irgendetwas zu sortieren. Die Funktion ArrayMaximum() findet den maximalen Wert in einem unsortierten Array und gibt den Index des gefundenen Wertes zurück .

Aber es muss immer noch in einer Kette aufgereiht werden, um es mit dem einen oder anderen Wert zu vergleichen, wenn es 5 Werte gibt und sie in einer chaotischen Reihenfolge geschrieben sind, ist der einzige Weg, das Maximum oder Minimum zu finden, sie alle zu vergleichen, in jedem Fall brauchen Sie einen Puffer, um Werte zu speichern.

 
Seric29:

Aber es muss immer noch in einer Kette aufgereiht werden, um mit diesem oder jenem Wert verglichen zu werden. Wenn es 5 Werte gibt und sie in einer chaotischen Reihenfolge geschrieben sind, ist der einzige Weg, das Maximum oder Minimum zu finden, sie alle zu vergleichen.

Warum sollte man versuchen, herauszufinden, wie es intern funktioniert? Nun, wenn Sie Ihre eigene Funktion schreiben wollen, ist es wahrscheinlich bequemer, zu sortieren und den Wert eines der äußersten Indizes zu nehmen. Aber sie wird kaum schneller arbeiten als die eingebaute Funktion. Außerdem können Sie mit der integrierten Funktion nach einem Wert innerhalb der festgelegten Indexgrenzen suchen. Eine einfache Sortierung wird also nicht funktionieren. Wir müssen also einen Teil des Arrays in ein Zwischenarray kopieren und dieses bereits sortieren und den gewünschten Wert daraus entnehmen, aber das Kopieren von Arrays ist keine sehr "billige" Funktion.

 
Guten Tag. Können Sie mir einen Tipp geben? Wie würde der Code für diese Bedingung lauten? Wenn sich der Kontostand erhöht oder verringert hat, dann führen Sie die Funktion
Grund der Beschwerde: