Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 845

 
Pokrov, Ich habe dir gesagt, was du da siehst...
 
eddy:
Pokrov, Ich habe dir gesagt, was du da siehst...
Nichts für ungut, zwei Meinungen sind besser als eine))) Auch Ihnen vielen Dank!
 
Hallo alle, könnten Sie mir bitte sagen, wie man die EA nicht eine Bestellung zu platzieren, wenn der letzte Handel heute geschlossen wurde?
 

Hier ist die Antworthttps://www.mql5.com/ru/forum/131277/page295#455199

Dank an den Autor.

 

Können Sie mir sagen, ob der unten stehende Fehlerbehandlungsblock richtig geschrieben ist oder ob etwas falsch ist? Fluchen Sie nicht gleich ))))

//+------------------------------------------------------------------+
//| Функция обработки ошибок                                          |
//+------------------------------------------------------------------+
if(GetLastError()>=0)                          
{
   switch(_LastError)  
{                                               // Преодолимые ошибки            
      case  4:Sleep(3000);                      // Простое решение
      break;                                    // Выход из функции
      case  6:Sleep(10000);                     // Простое решение
      break;                                    // Выход из функции
      case 130:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 135:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 136:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 137:Sleep(3000);                     // Простое решение
      break;                                    // Выход из функции
      case 146:Sleep(3000);                     // Простое решение
      break;                                    // Выход из функции
      default:break;        // Другие варианты  // Выход из функции
}                        
}
}
 
wie speichert der Indikator den Verlauf der Werte in einer Datei (und lädt sie später)? gibt es fertige Lösungen?
 
eddy:
Wie kann der Indikator den Werteverlauf in einer Datei speichern (und später laden)? Gibt es fertige Lösungen?
Die gibt es durchaus. Diejenigen, die sie einst "vorbereitet" haben, haben
 
Danke Cap, ich suche nach Lösungen, nicht nur nach Fragen.
 
Pokrov:

Können Sie mir sagen, ob der unten stehende Fehlerbehandlungsblock richtig geschrieben ist oder ob etwas falsch ist? Fluchen Sie nicht gleich ))))

Meiner Meinung nach sollte die Fehlerbehandlung in Form einer benutzerdefinierten Funktion erfolgen, die nach jeder Aktion, die einen Zugriff auf den Server beinhaltet, aufgerufen werden sollte.

OrderSend() gibt z.B. das Auftragsticket zurück oder -1 im Falle eines Misserfolgs, d.h. im Falle eines Fehlers. Daher ist es notwendig, den Error-Handler im Falle einer erfolglosen Befehlsausführung aufzurufen und ihm den Fehlercode zu übergeben. Und in der Fehlerbehandlung sollten wir einen Rückgabewert angeben, bei dem die fehlgeschlagene Aktion wiederholt wird oder bei einem anderen Wert abgebrochen wird.

Zum Beispiel haben sich die Preise geändert, RefreshRates(); und versuchen Sie es erneut, und wenn es nicht genug Geld gibt, ist es wahrscheinlich besser, den Versuch abzubrechen.

 
AlexeyVik:

Meiner Meinung nach sollte die Fehlerbehandlung in Form einer benutzerdefinierten Funktion erfolgen, die nach jeder Aktion im Zusammenhang mit dem Serverzugriff aufgerufen werden sollte.

OrderSend() gibt z.B. das Auftragsticket zurück oder -1 im Falle eines Misserfolgs, d.h. im Falle eines Fehlers. Daher sollten Sie im Falle einer nicht erfolgreichen Befehlsausführung den Error-Handler aufrufen und ihm den Fehlercode übergeben. Und in der Fehlerbehandlung sollten wir einen Rückgabewert angeben, bei dem die fehlgeschlagene Aktion wiederholt wird oder bei einem anderen Wert abgebrochen wird.

Zum Beispiel haben sich die Preise geändert, RefreshRates(); und versuchen Sie es erneut, und im Falle unzureichender Mittel ist es wahrscheinlich besser, den Versuch abzubrechen.

Ich habe GetLastError nach Funktionen und wenn ein Fehler auftritt, wird es nicht zu diesem Block gehen (wie es geschrieben ist) und Befehle werden nicht ausgeführt werden? Ich verstehe die Kette, z. B. OrderSend() -> GetLastError -> Fehlerblock Sleep(3000) RefreshRates() -> den Block verlassen und wenn die Bedingungen bestehen bleiben, wird OrderSend() erneut angefordert. Oder meine Überlegungen und Konzepte sind falsch. Ich verstehe, dass Sie den Rückgabewert 1 oder 0 in den Block schreiben wollen, aber meine Funktionen sind einfach nicht auf boolesche Werte wie SignalBuy bezogen, wenn ich richtig verstehe, sollten die Rückgabewerte dort zurückgegeben werden.