Fehler, Irrtümer, Fragen - Seite 2337

 

An die Entwickler. Bitte beheben Sie einen Fehler in MQL4.

Die manuell über F8, Registerkarte "Allgemein", Kontrollkästchen "Maßstab 1:1 fixieren" erstellte feste Skala entspricht nicht den Werten einer ähnlichen Funktion ChartSetInteger(chart_ID,CHART_SCALEFIX_11,0,value).

Wie man sich fortpflanzt. Wenn das Skript in der Anwendung auf dem Diagramm ausgeführt wird, wird die obige Funktion aufgerufen. Das Feld Kommentar enthält die folgenden Werte:

Comment("Ergebnis = ", Ergebnis, "; WindowPriceMax = ", WindowPriceMax, "; WindowPriceMin = ", WindowPriceMin);

Diese sind auch sichtbar, wenn Sie F8 drücken, Registerkarte Allgemein, siehe Felder - "Maximum fixieren", "Minimum fixieren". Notieren Sie diese Werte (1).

Deaktivieren Sie als Nächstes den festen Maßstab, indem Sie das Kontrollkästchen "Fester Maßstab" deaktivieren. Das Kontrollkästchen "Fester Maßstab 1:1" wird dann automatisch deaktiviert.

Korrigieren Sie den Maßstab manuell mit F8, Registerkarte "Allgemein". Wenn Sie "Maßstab 1:1 fixieren" ankreuzen, wird das Kästchen "Maßstab fixieren" automatisch deaktiviert.

Bestätigen Sie die Aktion durch Drücken von OK. Drücken Sie erneut F8 und notieren Sie die Werte "Maximum fixieren", "Minimum fixieren" (2).

Vergleichen Sie die aufgezeichneten Werte (1) und (2).

Zum Beispiel, für mich, nachdem das Skript funktioniert:

Fester Höchstwert - 112.004
Das Minimum sichern - 111.420

Nach der manuellen Einstellung:

Sicher hoch - 112,004
Das Minimum sichern - 111.398

PS: Nochmals überprüft. Sieht aus, als wäre es kein MQL4-Bug, sondern Terminal 4.00 Build 1147 16. Nov 2018
 

Die folgenden Dateien sind nicht über MQL verfügbar: *.exe, *.dll. *.bat, *.sys, *.ex4 und *.ex5. Der Grund dafür ist klar.

Welche anderen Dateien sind eingeschränkt?

 

Nach dem Schließen des Terminals verlieren die Objekte in den grafischen Objekten ihre Tooltips! Liebe Entwickler, bitte beheben Sie das Problem.

MT5, Build 1940 x64.

Testskript für die Prüfung:

#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   const string name="test_tooltip_"+TimeToString(TimeCurrent(),TIME_DATE|TIME_SECONDS);
//---
   const double price=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
//---
   if(ObjectCreate(0,name,OBJ_HLINE,0,0,price))
     {
      Print(__FUNCTION__,": Построен тестовый объект "+name+" по цене "+DoubleToString(price,_Digits));
      //---
      ObjectSetString(0,name,OBJPROP_TOOLTIP,"TOOLTIP");
      ObjectSetInteger(0,name,OBJPROP_SELECTABLE,true);
      //---
      ChartRedraw();
     }
   else
      Print(__FUNCTION__,": ОШИБКА #",GetLastError(),"! Объект "+name+" не построен!");

  }
//+------------------------------------------------------------------+
 
Alexey Kozitsyn:

Nach dem Schließen des Terminals verlieren die Objekte in den grafischen Objekten ihre Tooltips! Liebe Entwickler, bitte beheben Sie das Problem.

MT5, Build 1940 x64.

Testskript für die Prüfung:

Machen Sie sich keine Hoffnungen, diese Frage wurde bereits vor 5 Jahren gestellt.

Antwort = Der Tooltip wird nirgendwo geschrieben und wird gespeichert, während das Programm läuft.

 

Ist dies eine gültige Fehlanpassung in der Dokumentation?

AccountInfoInteger

Gibt den Wert der entsprechenden Rechnungseigenschaft zurück.

long  AccountInfoInteger( 
   int  property_id      // идентификатор свойства 
   );

Parameter

Eigenschaft_id

[in] Kennung der Eigenschaft. Der Wert kann einer vonENUM_ACCOUNT_INFO_INTEGER sein.

 
Bezüglich des Fehlerberichts. Ich habe es noch einmal überprüft. Es scheint ein Fehler im Terminal 4.00 Build 1147 16 Nov 2018 zu sein, nicht in MQL4
 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

A100, 2018.12.03 12:25

void f()
{
static a;
}
static b;

Das heißt eigentlich.

void f()
{
}
static b;
static a;

zunächst einmal statisch trennen, also in {} dann


Derselbe (komplexe) Code wird auf MT4/5 aufgrund der unterschiedlichen Ausführungsreihenfolge unterschiedlich ausgeführt. Ein einfaches Beispiel zu schreiben, hat nicht funktioniert.

 
fxsaber:

Die folgenden Dateien sind nicht über MQL verfügbar: *.exe, *.dll. *.bat, *.sys, *.ex4 und *.ex5. Der Grund dafür ist klar.

Welche anderen Dateien sind eingeschränkt?

Ich vermute, dass *.cmd *.ts und andere Dateien, die versehentlich in den entsprechenden Registry-Zweig gefallen sind.
Das heißt, alles, was, wenn es über eXporter geöffnet wird, dazu führen kann, dass eine Anwendung/ein Dienst gestartet wird

 
fxsaber:
Derselbe Code (Komplex) wird auf MT4/5 anders ausgeführt , da die Ausführungsreihenfolge auf MT4/5 anders ist. Ein einfaches Beispiel zu schreiben, hat nicht funktioniert.

Das glaube ich. Ich weiß es nicht.

 
A100:

bedeutet eigentlich

erstens die freistehende Statik, also in {} dann

In letzter Zeit scheint sich das Verhalten zu ändern. Vor einiger Zeit war die Reihenfolge anders - globale Variablen und statische Variablen wurden in der gleichen Reihenfolge initialisiert (in der Reihenfolge der Deklaration). D.h. in diesem Fall zuerst a und dann b. Könnte falsch sein, ist aber unwahrscheinlich.