Fehler, Irrtümer, Fragen - Seite 2391

 
Kisolen:
Beim Eintritt in den Standby-Modus auf Windows 10 (ich erinnere mich nicht, welche, aber es ist modern und interprise ltsb 1607 (ziemlich alt)) auf MT5, EA stoppt an Chart angehängt werden, Trades stoppen ausgeführt werden, aber einige Funktionen (Ausgabe von Grafik selbst geschrieben Fenster, die funktional ist) bleiben aktiv. Ist dies ein Fehler von MT oder ein Problem mit dem EA? Ich danke Ihnen.

Im Standby-Modus ist der Computer praktisch ausgeschaltet. Alle Programme werden gestoppt.

 
Ich danke Ihnen für Ihre Antwort auf den letzten Kommentar. Es gibt noch eine weitere Frage. MT5. Ich erstelle eine Schnittstellenvorlage ohne "Grid" auf dem Diagramm, ich nenne diese Vorlage "Default", damit sie standardmäßig aktiviert ist, alles funktioniert in MT selbst, aber es funktioniert nicht im EA-Visualisierungsfenster. Ich danke Ihnen.
 
Kisolen:
Ich danke Ihnen für Ihre Antwort auf den vorherigen Kommentar. Es gibt noch eine weitere Frage. MT5. Ich mache eine Schnittstellenvorlage, ohne das "Gitter" auf dem Diagramm, ich nenne diese Vorlage "Standard", so dass es standardmäßig aktiviert ist, in der MT selbst alles funktioniert, aber es funktioniert nicht in der EA-Visualisierung-Fenster. Ich danke Ihnen.

Die Diagrammvorlage "default.tpl" wird verwendet, wenn Sie ein neues Diagramm im Terminal öffnen, während die Diagrammvorlage "tester.tpl" verwendet wird, wenn Sie ein Strategietestprogramm im visuellen Modus ausführen.

Klicken Sie hier für weitere Informationen: Vorlagen und Profile - Erweiterte Funktionen - Kurse, technische und fundamentale Analysecharts

 

Hallo zusammen.

Ich möchte die Entwickler auf den folgenden Fehler in MT5 (Build 2006) aufmerksam machen. Beim Aufruf der FunktionChartGetInteger mit den EigenschaftsbezeichnernCHART_WIDTH_IN_BARS oderCHART_VISIBLE_BARS gibt die Funktion falsche Werte zurück, wenn ein anderes Fenster mit dem gleichen Symbol, aber einer kleineren TF aktiv ist. Wenn das Diagramm die maximale Skalierung (5) hat, ist der zurückgegebene Wert um 5 kleiner als der tatsächliche Wert. Wenn die Skalierung 4 beträgt, ist der zurückgegebene Wert um 10 kleiner. Wenn die Skalierung 3 ist, dann jeweils durch 20, usw. Der Code für den Testindikator, mit dem die Störung reproduziert werden kann, ist unten aufgeführt. Dieser Fehler wird auf dem TF D1 und dem RTS-3.19-Instrument stabil reproduziert. Zur Verdeutlichung habe ich auch ein Video mit einer Fehlerdemonstration aufgenommen. In Build 274(nach der Historie zu urteilen) war ein ähnlicher Fehler bereits behoben worden, aber offenbar nicht bis zum Ende. :)

//+------------------------------------------------------------------+
//|                                                     DBS_Bug2.mq5 |
//|                                            Copyright © 2019, DBS |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 1                                         //количество индикаторных буферов
#property indicator_plots   1                                         //количество графических построений
//+------------------------------------------------------------------+ 
//| Функция инициализации индикатора                                 | 
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+ 
//| Функция расчёта индикатора                                       | 
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,                                //количество истории в барах на текущем тике
                const int prev_calculated,                            //количество истории в барах на предыдущем тике
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---Debug
   int chart_bars=int(ChartGetInteger(0,CHART_WIDTH_IN_BARS));     //к-во баров на экране
   int vis_bars=int(ChartGetInteger(0,CHART_VISIBLE_BARS));        //к-во баров видимых на экране
   PrintFormat("%s: Debug #2! rates_total=%i chart_bars=%i vis_bars=%i",__FUNCTION__,rates_total,chart_bars,vis_bars);
   return(rates_total);
  }
//+------------------------------------------------------------------+

Früher habe ich einen noch lustigeren Rückgabewert dieser Funktion erhalten (vor allem beim Laden des Terminals). Bei maximaler Diagrammskala (5) ist der Rückgabewert =5 (unabhängig von der tatsächlichen Anzahl der Balken im Diagramm). Wenn der Zoom 4 ist, ist der Rückgabewert =10. Wenn die Skalierung 3 ist, dann jeweils =20, usw. Leider ist es mir nicht gelungen, diese Panne auf Video festzuhalten. Ich habe jedoch den ganzen Tag damit verbracht zu verstehen, warum mein Indikator auf D1 nicht richtig funktioniert, während er auf anderen TFs in Ordnung ist.


P.S. Log von der gleichen Karte (RTS-3.19, D1) nach ein paar Stunden (nach Unterbrechung der Verbindung). Realistischerweise werden 55 Balken auf dem Diagramm angezeigt. Und MT5 sagt im Log, dass nur 5 auf den Bildschirm passen, und es sind überhaupt keine Balken zu sehen:)Screenshot

2019.02.24 21:27:09.692 DBS_Volume (RTS-3.19,D1)        DBS Volume (VOLUME_REAL): SetVolScale: Debug #1!  max_vol_idx=3 max_vol=402550 time=2019.02.19 00:00 rates_total=220 chart_bars=5 vis_bars=0
MetaTrader 5 Client Terminal build 274
MetaTrader 5 Client Terminal build 274
  • 2010.05.15
  • MetaQuotes Software Corp.
  • www.metatrader5.com
Terminal: Исправлено отображение истории торговли на чарте. Terminal: Исправлена ошибка в навигации чарта (при отключеном сдвиге и автоскроле). Terminal: Исправления по сообщениям на форуме и крешлогам. Terminal: В файл помощи добавлено описание Тестера Стратегий MetaTester: Исправлена ошибка в загрузке параметров тестирования при смене...
 
Dmitriy Burlachenko:

Hallo, Entwickler.

Die MQL5 Standard Library Hilfe hat die WindowHandle Funktion, aber wenn man sie benutzt, sagt der Compiler 'WindowHandle' - Funktion nicht definiert'. Frage: Wer stört den Code oder den Compiler? :)

Es ist SB.

int CChart::WindowHandle(void) const;
 
Dmitriy Burlachenko:

Hallo, Entwickler.

Die MQL5 Standard Library Hilfe hat die WindowHandle Funktion, aber wenn man sie benutzt, sagt der Compiler 'WindowHandle' - Funktion nicht definiert'. Frage: Wer stört den Code oder den Compiler? :)


Sie verwenden die Hilfe falsch.

Schauen Sie genau hin:MQL5 ReferenceStandard LibraryPrice ChartsWindowHandle

Gehen Sie einen Schritt zurück und lesen Sie den AbschnittPreistabellen


Hinzugefügt:

Beispiel für einen Anwendungsfall (Hinweis: Sie müssen zuerst dieAttach-Methode ausführen) und erst dann mit dem Objekt arbeiten

//+------------------------------------------------------------------+
//|                       Gets window handle of the chart (HWND).mq5 |
//|                              Copyright © 2019, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2019, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
#property description "Gets window handle of the chart (HWND)"
//---
#include <Charts\Chart.mqh>
CChart   m_chart;                      // CChart object
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {

   m_chart.Attach(); // assigns the current chart to the class instance

   Print("CChart.WindowHandle: ",m_chart.WindowHandle());
   Print("CChart.ChartId: ",m_chart.ChartId());
  }
//+------------------------------------------------------------------+

Ergebnis:

2019.02.25 16:01:32.165 Gets window handle of the chart (HWND) (GBPUSD,H1)      CChart.WindowHandle: 13830128
2019.02.25 16:01:32.165 Gets window handle of the chart (HWND) (GBPUSD,H1)      CChart.ChartId: 131571247244850547
 
Dmitriy Burlachenko:

Hallo, Entwickler.

Die MQL5 Standard Library Hilfe hat dieWindowHandle Funktion, aber wenn man sie benutzt, sagt der Compiler 'WindowHandle' - Funktion nicht definiert'. Frage: Wer stört den Code oder den Compiler? :)

verwenden:

ChartGetInteger(0,CHART_WINDOW_HANDLE,0);
 
Vladimir Karputov:

Sie verwenden die falsche Hilfe.

Schauen Sie genau hin:MQL5 ReferenceStandard LibraryPrice ChartsWindowHandle

Gehen Sie einen Schritt zurück und lesen SiePreisdiagramme


Hinzugefügt:

Beispiel für einen Anwendungsfall (Hinweis: Sie müssen zuerst dieAttach-Methode ausführen) und erst dann mit dem Objekt arbeiten

Ergebnis:

Ich danke Ihnen.

 
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2019.02.21
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 

MQL5 ME 2006

#property strict

class A
 { 
public:
  int f();
 };

void OnStart()
  {
   A a;
   a.f();
  }

Gleicher Code in MQL4 wie er sein sollte,"Funktion 'f' muss einen Körper haben".