[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 324

 
TheXpert >> :

Alarm, als Option. Kommentar - ist in Ordnung.

Ersetzen Sie while(true) durch while(!IsStopped())

Spät.)))

Ja, ich habe IsStopped vergessen.

 
Svinozavr >> :

Spät.)))

Beim nächsten Mal kann ich dir einen Vorsprung geben :) .

Svinozavr >> :

Schreiben Sie das f-fi, wo die Ausgabe erfolgen soll, und schreiben Sie das, was Sie brauchen, darüber.

Option.


 
TheXpert >> :

>> Danke. Ist es möglich, die Farbe des Kommentars zu ändern? Oder nur weiß?

 
TheXpert >> :
Beim nächsten Mal kann ich dir einen Vorsprung geben :) .

Übrigens ja, danke, sehr schnelle Antwort hier :)

 
Mathers >> :

Ich danke Ihnen. Ist es möglich, die Farbe des Kommentars zu ändern? Oder nur weiß?

>>Nein, tue ich nicht.

 

Wenn es nicht notwendig ist, jeden Tick zu verarbeiten, wie kann ich dann dafür sorgen, dass der Code nur verarbeitet wird, wenn ein neuer Balken erscheint?

Es muss doch eine vorgefertigte Funktion geben. Schick mir einen Link...


UPDATE

Danke, ich habe es gefunden (:

//+------------------------------------------------------------------+
//|  возвращает признак появления нового бара для указанного периода |
//+------------------------------------------------------------------+
bool isNewBar(int timeFrame)
   {
   bool res=false;
   
   // массив содержит время открытия текущего (нулевого) бара
   // по 7 (семь) таймфреймам
   static datetime _sTime[7];  
   int i=6;
 
   switch ( timeFrame) 
      {
      case 1  : i=0; break;
      case 5  : i=2; break;
      case 15 : i=3; break;
      case 30 : i=4; break;
      case 60 : i=5; break;
      case 240: break;
      case 1440:break;
      default:  timeFrame = 1440;
      }
//----
   if (_sTime[ i]==0 || _sTime[ i]!=iTime(Symbol(), timeFrame,0))
      {
      _sTime[ i] = iTime(Symbol(), timeFrame,0);
      res=true;
      }
      
//----
   return( res);   
   }
 

Wie verwende ich das Skript, um meine eigene Skala im Diagramm festzulegen?

Die Funktionen, die Ihnen sagen, welcher Balken zuerst angezeigt wird, sind vorhanden, aber nicht, wie man ihn zurücksetzt.

 

Hallo zusammen, wer kann das erklären? Muss die Funktion RefreshRates() immer aufgerufen werden oder funktioniert sie automatisch, wenn ein Expert Advisor oder ein Skript lange Berechnungen durchführt, z. B. in Fehlerbehandlungsfunktionen?
Zweite Frage: Hier ist ein Beispiel für einen Code, ich habe einen Fehler behoben, einen Parameter an den Schaltoperator übergeben...

int start()
  {
      int A = 1000;
      bool B=true;       // Условие успешной работы
//--------------------------------------------------------------
    if(Bars < A)         // Недостаточно баров
    {      
      Alert("Недостаточно баров в окне инструмента.");
      return;            // Выход из start()
    }
    if( B==false)         // Критическая ошибка   
      {      
      Alert("Эксперт не работает.");     
      return;            // Выход из start   
      }
//+-------------------------------------------------------------- 
  return(0);
  }
//--------------------------------------------------------------
    int Bloc_Error(int S)    // Пользовательская ф-ия обработки ошибок
    {   
      switch( S)    
      { 
      case 3:                // Неверные параметры:
      B=false;
      return(0);                                
      }  
    }

Nun, jetzt gibt es einen weiteren Fehler, es scheint undefinierte Variable B
, habe ich sie nicht deklariert?

bool B=true;

So sieht die Fehlermeldung aus:
'B' - Variable nicht definiert ----------------- C:\Programmdateien\MetaTrader - Masterforex\experts\scripts\2.mq4 (31, 7)

Eine weitere Frage: Wie lauten diese Zahlen? (31, 7), sie sind immer unterschiedlich für verschiedene Fehler, ich habe mir die gleichen Einträge im angegebenen Verzeichnis angesehen, es ist genau wie ein Fehlername in einem Dokument... ist es möglich, in MetaEditor 4, irgendwo, um die Beschreibung der Lösung zu sehen, zum Beispiel, wie in der Expert Advisor, die Fehler der Ausführung und Ausführung entsprechen ihren Werten, wo für jede Zahl eine bestimmte Ursache des Fehlers???

 
Daiver2 писал(а) >>

Hallo zusammen, wer kann das erklären? Muss die Funktion RefreshRates() immer aufgerufen werden oder wird sie automatisch ausgelöst, wenn Expert Advisor oder Skript lange Berechnungen durchführen, z.B. in Fehlerbehandlungsfunktionen?
Zweite Frage: Hier ist ein Beispiel für einen Code, ich habe einen Fehler behoben, einen Parameter an den Schaltoperator übergeben...

nun, jetzt gibt es einen weiteren Fehler, wie undefinierte Variable B
habe ich es nicht erklärt?

So sieht die Fehlermeldung aus:
'B' - Variable nicht definiert ----------------- C:\Programmdateien\MetaTrader - Masterforex\experts\scripts\2.mq4 (31, 7)

Daher eine weitere Frage: Wie lauten diese Zahlen? (31, 7), sie sind immer unterschiedlich für verschiedene Fehler, ich habe mir die gleichen Einträge im angegebenen Verzeichnis angesehen, es ist genau wie ein Fehlername im Dokument... gibt es irgendwo in MetaEditor 4, irgendwo zu sehen, die Beschreibung der Lösung, zum Beispiel wie in der Expert Advisor, Ausführung und Laufzeit Fehler entsprechen ihren Werten, wo für jede Zahl eine bestimmte Ursache des Fehlers?

Sie sollte außerhalb der Funktion start() definiert werden, also global sein. Dann ist die Variable von jeder Funktion aus verfügbar

 
Vinin >> :

Sie sollte außerhalb der Funktion start() definiert werden, also global sein. Dann ist die Variable von jeder Funktion aus verfügbar

Lassen Sie mich das erklären. Start ist dieselbe Funktion wie die anderen, so dass alle Variablendefinitionen innerhalb von Start keine Auswirkungen außerhalb der Funktion haben. Die Variable kann nur im Hauptteil des Expert Advisors global definiert werden, und zwar vor init. Dann wird sie für alle Funktionen sichtbar sein.

Die Zahlen sind die Zeilennummer und die Anzahl der Zeichen in der Zeile, in der der Fehler aufgetreten ist.