Fehler, Irrtümer, Fragen - Seite 1751

 
pako:
CHART_BRING_TO_TOP
Wenn nicht in "TOP".
Nein. Diese Funktion zeigt das Fenster im oberen Bereich an, prüft aber nicht, ob ein Fenster im oberen Bereich vorhanden ist.
 
Vladislav Andruschenko:
Nein. Diese Funktion zeigt das Fenster im oberen Bereich an, prüft aber nicht, ob ein Fenster im oberen Bereich vorhanden ist.

ChartGetInteger()


https://www.mql5.com/ru/forum/42833#comment_1493908

dort

die Hilfe hat sich noch nicht geändert, eineinhalb Jahre sind keine Frist :))

Активный, в данный момент график.
Активный, в данный момент график.
  • www.mql5.com
Есть индикатор на каждом графике.
 

Dies ist keineswegs der Fall. Ein Diagramm darf nicht ganz oben stehen, muss aber sichtbar sein. Oder sie kann sich oben befinden, aber unsichtbar sein.

Eine Zeichnung auf einem Diagramm ist nur dann sinnvoll, wenn Sie wissen, ob sie sichtbar ist oder nicht.

 
fxsaber:

Das ist ganz und gar nicht der Fall. Ein Diagramm darf nicht ganz oben stehen, muss aber sichtbar sein. Oder sie kann sich oben befinden, aber nicht sichtbar sein.

Es ist nur dann sinnvoll, auf einer Karte zu zeichnen, wenn bekannt ist, ob sie sichtbar ist oder nicht.

Versuchen Sie dies
 
fxsaber:

Das ist ganz und gar nicht der Fall. Ein Diagramm darf nicht ganz oben stehen, muss aber sichtbar sein. Oder sie kann sich oben befinden, aber nicht sichtbar sein.

Eine Zeichnung auf einem Diagramm ist nur dann sinnvoll, wenn man weiß, ob sie sichtbar ist oder nicht.

WinApi ist Ihre Hilfe.
Dort können Sie die Koordinaten und die Breite der Diagramme sowie ihre z-Reihenfolge abrufen - alle Fenster von Diagrammen gehören zum selben WMIClient.
 
pako:
Versuchen Sie dies.
Passt nicht.
 
Sergey Dzyublik:
WinApi ist Ihre Hilfe.
Sie können dort die Koordinaten und die Breite des Diagramms sowie seine z-Reihenfolge abrufen - alle Diagrammfenster gehören zum selben WMIClient.
Danke, ich bin mir der WinAPI bewusst. Ich werde dem Service Desk vorschlagen, ENUM_CHART_PROPERTY_INTEGER zu erweitern.
 

Ich verwende ein Skript, um die Periodendaten abzurufen. Beginnend mit den Stundenzahlen sind die Zahlen unverständlich. Oder sollte es so sein?

void OnStart()
  {
Print("Period()=",Period());
  
  }
2016.11.01 16:56:07.466 период (EURUSD,H1)      Period()=16385
2016.11.01 16:55:58.840 период (EURUSD,M30)     Period()=30
2016.11.01 16:55:46.950 период (EURUSD,M1)      Period()=1
 
forexman77:

Ich verwende ein Skript, um die Periodendaten abzurufen. Beginnend mit den Stundenzahlen sind die Zahlen unverständlich. Oder soll das so sein?

void OnStart()
  {
Print("Period()=",Period());
  
  }
2016.11.01 16:56:07.466 период (EURUSD,H1)      Period()=16385
2016.11.01 16:55:58.840 период (EURUSD,M30)     Period()=30
2016.11.01 16:55:46.950 период (EURUSD,M1)      Period()=1
So soll es auch sein.
 

Ist es der richtige Ansatz, vollständige Rundenzeiten im aktuellen Indikatorfluss zu messen?

#property indicator_chart_window

#property indicator_buffers 0
#property indicator_plots 0

sinput int Amount = 100; // Количество циклов

void OnInit( void )
{
  EventSetMillisecondTimer(1);
}

ulong ArrayMean( const ulong &Array[] )
{
  const int Size = ArraySize(Array);
  
  ulong Sum = 0;
  
  for (int i = 0; i < Size; i++)
    Sum += Array[i];
    
  return((Size > 0) ? Sum / Size : 0);
}

ulong ArrayMin( const ulong &Array[] )
{
  return(Array[ArrayMinimum(Array)]);
}

ulong ArrayMax( const ulong &Array[] )
{
  return(Array[ArrayMaximum(Array)]);
}

#define TOSTRING(A) #A + " = " + (string)(Array##A(Cycles)) + " mcs. "

void CycleComment( void )
{
  static ulong Cycles[];
  static const int Size = ArrayResize(Cycles, Amount);
  
  static ulong PrevTime = GetMicrosecondCount();
  static int i = 0;
    
  Cycles[i] = GetMicrosecondCount() - PrevTime;

  i++;
  i %= Size;
  
  Comment(TOSTRING(Mean) + TOSTRING(Min) + TOSTRING(Max));
    
  PrevTime = GetMicrosecondCount();
}

void OnTimer( void )
{
  CycleComment();
}

int OnCalculate( const int rates_total, const int prev_calculated, const int begin, const double& price[] )
{
  return(rates_total);
}

Etwas, das ich bei einem leeren Diagramm (ohne Indikatoren) häufig erlebe - im Durchschnitt 15 ms, im Minimum 5 ms. Warum ist dies der Fall?