Errori, bug, domande - pagina 1751

 
pako:
CHART_BRING_TO_TOP
Se non in "TOP".
no. questa funzione visualizza la finestra in alto. ma non controlla se c'è una finestra in alto
 
Vladislav Andruschenko:
no. questa funzione visualizza la finestra in alto. ma non controlla se c'è una finestra in alto

ChartGetInteger()


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

ci

l'aiuto non è ancora cambiato, un anno e mezzo non è una scadenza :))

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

Questo non è affatto il caso. Un grafico può non essere in cima ma essere visibile. Oppure può essere in alto ma invisibile.

Disegnare su un grafico ha senso o meno solo se si sa se è visibile o meno.

 
fxsaber:

Questo non è affatto il caso. Un grafico può non essere in cima ma essere visibile. Oppure può essere in alto ma non visibile.

Ha senso disegnare su un grafico solo se si sa se è visibile o meno.

Prova questo
 
fxsaber:

Questo non è affatto il caso. Un grafico può non essere in cima ma essere visibile. Oppure può essere in alto ma non visibile.

Disegnare su un grafico ha senso o meno solo se si sa se è visibile o meno.

WinApi è il vostro aiuto.
Lì puoi ottenere le coordinate e la larghezza dei grafici, più il loro ordine z - tutte le finestre dei grafici appartengono allo stesso WMIClient.
 
pako:
Prova questo.
Non si adatta.
 
Sergey Dzyublik:
WinApi è il vostro aiuto.
Lì puoi ottenere le coordinate e la larghezza del grafico, più il loro ordine z - tutte le finestre del grafico appartengono allo stesso WMIClient.
Grazie, sono a conoscenza di WinAPI. Suggerirò al Service Desk di espandere ENUM_CHART_PROPERTY_INTEGER.
 

Uso uno script per richiamare i dati del periodo. A partire dalle cifre orarie, i numeri sono incomprensibili. O dovrebbe essere così?

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:

Uso uno script per richiamare i dati del periodo. A partire dalle cifre orarie, i numeri sono incomprensibili. O dovrebbe essere così?

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
Dovrebbe essere così.
 

È l'approccio giusto per misurare i tempi sul giro completo nel flusso attuale dell'indicatore?

#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);
}

Qualcosa che ottengo molto su un grafico vuoto (senza indicatori) - una media di 15ms, un minimo di 5ms. Perché questo è il caso?