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

 
Nikolay Gaylis:
Hallo, könnten Sie mir bitte sagen, wie ich ein bestimmtes Symbol im Fenster "Marktübersicht" programmatisch anzeigen/entfernen kann?

Siehe Funktion SymbolSelect.

 

Guten Tag, könnten Sie mir bitte sagen, wo in diesem Codeschnipsel ein Fehler sein könnte?

 if (TotalMax_1<1)Step_1max=TotalMax_0;                                                  // Если расчетов еще небыло Step_1max=TotalMax_0
 else Step_1max=TotalMax_0-TotalMax_1;                                                   // Если расчеты уже были Step_1max=TotalMax_0-TotalMax_1
 
 for (i_1max=Step_1max;TotalMax_0>TotalMax_1;i_1max--)                                   // Главный цикл для заполнения массива Max_1
  {
   if (Max_0[i_1max]>Min_0[i_1max] && Stop_1max==0)                                      // Если максимум больше минимума и Stop_1max равен 0 нужно произвести расчет Максимального Индекса
    {
     Mmax_1=Max_0[i_1max];                                                               // Задается значение параметру Mmax_1
     MIndex_1max=i_1max;                                                                 // Задается значение параметру MIndex_1max
       
     for (i_1maxH=i_1max;Max_0[i_1maxH]>=Min_0[i_1maxH];i_1maxH--)                       // Цикл для расчета Максимального Индекса
       {
        if (Max_0[i_1maxH]>Mmax_1)                                                       // Если встречается максимум и он выше предыдущего
         {
          Mmax_1=Max_0[i_1maxH];                                                         // ... то меняется значение параметра Mmax_1
          MIndex_1max=i_1maxH;                                                           // ... и параметра MIndex_1max
         }
       }
       
     Stop_1max=1;                                                                        // Задается значение пераметру Stop_1max
    }
                                                                             
   if (i_1max==MIndex_1max)                                                              // Условие для вычисления максимума
    {
     Max_1[i_1max]=Mmax_1;                                                               // Присвоение значения массиву Max_1
     TotalMax_1=ArraySize(Max_1);                                                        // Всего баров в массиве Max_1
     }
        
   else                                                                                  // Если нет
      { 
       Max_1[i_1max]=0;                                                                  // Присвоение 0 значения массиву Max_1
       TotalMax_1=ArraySize(Max_1);                                                      // Всего баров в массиве Max_1
       }

   if (Min_0[i_1max]>Max_0[i_1max]) Stop_1max=0;                                         // Если минимум больше максимума задается значение пераметру Stop_1max
       
  }
 

Hallo zusammen, ich stehe vor folgendem Problem:

Ich eröffne einen Handel ohne Stoploss und Takeprofit:

OrderSend("EURUSD",OP_BUY,0.1,Ask,0,0,0,"",Magic,0,Red);

Ich möchte diesen Auftrag abschließen

OrderClose(Magic,OrderOpenPrice(),Ask,0,Red);

Ich erhalte folgende Fehlermeldung: OrderClose error 131

Wenn ich anstelle vonOrderOpenPrice() 0,1 oder OrderLots() einsetze, tritt ein Fehler auf: OrderClose error 138

Was ist das Problem?

 
labvic:

Hallo zusammen, ich stehe vor folgendem Problem:

Ich eröffne einen Handel ohne Stoploss und Takeprofit:

Ich möchte diesen Auftrag abschließen

Ich erhalte folgende Fehlermeldung: OrderClose error 131

Wenn ich anstelle vonOrderOpenPrice() 0,1 oder OrderLots() einsetze, tritt ein Fehler auf: OrderClose error 138

Was ist das Problem?

Sie schließen zum falschen Preis
 
Artyom Trishkin:
Sie schließen zum falschen Preis ab

Können Sie genauer sagen, was das sein soll? Dankeschön

 
labvic:

Können Sie genauer sagen, was das sein soll? Dankeschön

Das sind die Grundlagen.
Der Kauf eröffnet zum Ask und schließt zum Bid.
Verkaufen öffnet zum Bid, schließt zum Ask
 

Guten Tag!

Ich habe das Tutorial über Include-Dateien sorgfältig gelesen, und nirgendwo steht, dass eine Include-Datei nicht zweimal in den EA "eingebunden" werden kann.

Ich habe die erste "ausgelöst", die zweite (mit demselben Namen) wird übersprungen/ignoriert.

Ich mache eine Kopie der enthaltenen Datei, füge dem Dateinamen und der EA-Zeile einen Buchstaben/Ziffer hinzu, und alles funktioniert.

Frage: liegt es an der Sprache mql4 oder an mir?

Vielen Dank im Voraus!!!

 
Roni Iron:

Guten Tag!

Ich habe das Tutorial über Include-Dateien sorgfältig gelesen, und nirgendwo steht, dass eine Include-Datei nicht zweimal in den EA "eingebunden" werden kann.

Ich habe die erste "ausgelöst", die zweite (mit demselben Namen) wird übersprungen/ignoriert.

Ich mache eine Kopie der enthaltenen Datei, füge dem Dateinamen und der EA-Zeile einen Buchstaben/Ziffer hinzu, und alles funktioniert.

Frage: liegt es an der Sprache mql4 oder an mir?

Vielen Dank im Voraus!!!

Warum sollten Sie dieselbe Sache zweimal in die Liste aufnehmen?

Wenn die Include-Datei die Funktion f() enthält, erhalten Sie einen Kompilierungsfehler wegen der bereits deklarierten Funktion f(), wenn Sie sie zweimal in Ihren Code einfügen

 
Artyom Trishkin:

Warum sollten Sie dieselbe Sache zweimal in Ihr Angebot aufnehmen?

Wenn eine f()-Funktion in der Include-Datei vorhanden ist, führt das doppelte Einfügen dieser Funktion in Ihren Code zu einem Kompilierungsfehler wegen einer bereits deklarierten f()-Funktion

Wenn ich die Include-Datei nicht als benutzerdefinierte Funktion, sondern als "Ersetzung"/Einfügung eines einfachen Codefragments verwende, um z. B. den letzten Auftrag anhand seines Symbols (oder des Vorhandenseins eines Auftrags überhaupt) zu suchen. Und diese Suche kann in einem Programm mehrfach verwendet werden. Und es kann viele solcher "klassischen Operationen" geben.
 
Roni Iron:
Wenn ich die Include-Datei nicht als benutzerdefinierte Funktion verwende, sondern als "Ersetzung"/Einfügung eines einfachen Codefragments, wie z. B. die Suche nach der letzten Bestellung durch mein Symbol (oder das Vorhandensein einer Bestellung überhaupt). Und diese Suche kann in einem Programm mehrfach verwendet werden. Und es kann viele solcher "klassischen Operationen" geben.

Das ist der Punkt, an dem Sie verwirrt sind. Es kann viele solcher nützlichen Funktionen in einer Include-Datei geben. Binden Sie die Datei einmal ein und verwenden Sie die verfügbaren Funktionen aus der Datei.