Fehler, Irrtümer, Fragen - Seite 3087

 
Aliaksandr Hryshyn #:

Ich bitte Sie:

wnd - Hauptfensterdeskriptor, finden Sie Ihren eigenen.

0x8134 - dritter Parameter zum Löschen von Protokollen auf der Registerkarte Log

Ich habe es überprüft, es funktioniert.

Brauchte es, bekam es, danke

#import "user32.dll"
long SendMessageW(long wnd, uint Msg, long param, ulong l = 0);
long GetAncestor(long hwnd, uint gaFlags);
#import
#define  GA_PARENT 1
#define  GA_ROOT 2
#define  GA_ROOTOWNER 3
//+------------------------------------------------------------------+
void OnStart()
{
   long handle = ChartGetInteger(0, CHART_WINDOW_HANDLE);
   if(handle != 0)
   {
      long h = GetAncestor(handle,GA_ROOTOWNER);
      SendMessageW(h, 0x111, 0x8135);
   }
}
 
Aliaksandr Hryshyn #:
Igor Makanu #:

Ich danke Ihnen! Leider funktioniert sie nur, wenn die Registerkarte Protokoll aktiv ist.

 
fxsaber #:

Ich danke Ihnen! Schade, dass es nur funktioniert, wenn die Registerkarte Protokoll aktiv ist.

Das ist, was ich geschrieben habe - finden Sie die richtige Registerkarte und geben Sie ihr den Fokus und dann senden Sie einfach die Nachricht.... es wird nicht mit ein paar Zeilen Code funktionieren

aber zur Fehlersuche funktioniert der Code von @Aliaksandr Hryshyn.

 
Igor Makanu #:

zum Debuggen von Code funktioniert@Aliaksandr Hryshyn, scheint mir praktisch

Ja, ich danke Ihnen.

 
MQL_User #:

Hallo zusammen.

Kann mir jemand sagen, ob es eine Möglichkeit gibt, das horizontale Scrollen des Diagramms durch horizontales Bewegen des Mauszeigers zu deaktivieren?

Ja, die gibt es. Das gilt auch für das Rad.

Es ist alles in der Hilfe. Die Hauptsache ist, dass man sie liest.

Документация по MQL5: Операции с графиками / ChartSetInteger
Документация по MQL5: Операции с графиками / ChartSetInteger
  • www.mql5.com
ChartSetInteger - Операции с графиками - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
fxsaber #:

Ich danke Ihnen! Schade, es funktioniert nur, wenn die Registerkarte Protokoll aktiv ist.

Könnte helfen (funktioniert in 4):

#define   GA_ROOT 2

// получаем системный дескриптор основного окна терминала
hMetaTrader = GetAncestor(WindowHandle(Symbol(), Period()), GA_ROOT);

// ищем окно "Терминал"
hControlBar = GetDlgItem(hMetaTrader, 0xE81E);
hControlBar = GetDlgItem(hControlBar, 0x0051);

// ищем список указанной вкладки (0 - эксперты, 1 - журнал)
hListView = GetDlgItem(hControlBar, (iTab == 0 ? 0x8A6A : 0x81B9));
 
Andrey Khatimlianskii #:

Könnte helfen (funktioniert in vier):

Danke, ich werde mir die Fenstercodes in five ansehen.

 
Artyom Trishkin #:

Sie können. Und dann auch noch mit einem Rad.

Es ist alles in der Hilfe. Die Hauptsache ist, dass man sie liest.

Artem, ich danke dir.

Ich habe in den Programmeinstellungen nachgeschaut, um diese Option zu deaktivieren, aber irgendwie dachte ich nicht, dass man das über den Code machen kann.

 

Hallo!

Eine Suche im Forum ergab mehrere Antworten, aber in diesem Fall war keine die Lösung. Deshalb werde ich eine ähnliche Frage noch einmal stellen, vielleicht wird sie dieses Mal gehört.

Ich habe ein Terminal MT5 build 3036, das ist das "Neueste".

Ich erstelle einen benutzerdefinierten Indikator im Editor mithilfe des Assistenten und kompiliere ihn leer (um alle möglichen Fehler im Code zu vermeiden).

//+------------------------------------------------------------------+
//|                                              CustomIndicator.mq5 |
//|                                  Copyright 2021, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
  {
   return(rates_total);
  }
//+------------------------------------------------------------------+

Dann hänge ich den kompilierten Indikator an das Diagramm an und führe den Wechsel der Zeitrahmen durch, und bei jedem Wechsel erscheint der Eintrag im Protokoll, dass der Indikator in einen neuen Zeitrahmen verschoben und aus dem vorherigen gelöscht wurde. Dies geschieht jedes Mal, wenn die Perioden umgeschaltet werden.

MG      0       15:37:11.020    Indicators      custom indicator CustomIndicator (GBPUSD,M5) loaded succesfully
ML      0       15:37:27.861    Indicators      custom indicator CustomIndicator (GBPUSD,M1) loaded succesfully
DP      0       15:37:30.884    Indicators      custom indicator CustomIndicator (GBPUSD,M3) loaded succesfully
EG      0       15:37:32.004    Indicators      custom indicator CustomIndicator (GBPUSD,M1) removed
OI      0       15:37:32.004    Indicators      custom indicator CustomIndicator (GBPUSD,M5) removed
EO      0       15:37:33.974    Indicators      custom indicator CustomIndicator (GBPUSD,M5) loaded succesfully
KG      0       15:37:37.010    Indicators      custom indicator CustomIndicator (GBPUSD,M3) removed
JJ      0       15:37:37.048    Indicators      custom indicator CustomIndicator (GBPUSD,M15) loaded succesfully
HN      0       15:37:42.004    Indicators      custom indicator CustomIndicator (GBPUSD,M5) removed
CP      0       15:37:48.800    Indicators      custom indicator CustomIndicator (GBPUSD,M30) loaded succesfully
IG      0       15:37:52.003    Indicators      custom indicator CustomIndicator (GBPUSD,M15) removed


Wenn Sie ein vorgefertigtes Kennzeichen aus dem "Standardset" verwenden, geschieht dies nicht. Dies geschieht nur bei Indikatoren, die aus einem "frischen" Build kompiliert wurden.


Die Frage: Worin liegt der Fehler?

 

Hallo noch mal!

Weiß jemand, wie man einen Experten auf den Markt bringt, der aus mehreren Dateien besteht - dem Experten selbst und einigen Indikatoren, die über #resource geladen werden?

Grund der Beschwerde: