Errori, bug, domande - pagina 3026

 
Сергей Таболин:

E su quale TF superiore la candela non appare con la candela su quello inferiore?

L'indicatore di M1 usa un altro indicatore di M5.

In generale, non sarebbe un problema, se non fosse per l'aumento del consumo ingiustificato di risorse computazionali, critico durante l'ottimizzazione (nel mio caso ogni nuovo M5 provoca il re-rendering completo dell 'indicatore su tutta la storia, e il progetto non è ancora completamente completato, ho intenzione di utilizzare 16 indicatori da diversi TF).

 
Andrey Dik:

L'indicatore su M1 usa un altro indicatore di M5.

In generale, non sarebbe un problema, se non fosse per l'aumento del consumo ingiustificato di risorse computazionali, critico durante l'ottimizzazione (nel mio caso ogni nuovo M5 causa la riesecuzione completa dell'indicatore su tutta la storia, mentre il progetto non è ancora completamente completato, ho intenzione di utilizzare 16 indicatori da diversi TF).

Andrey, ma la candela M5 si apre allo stesso tempo della candela M1. O intendi il carico degli indicatori che ridisegnano (ricalcolano)? Quindi, se proibiamo loro di ridisegnare, di cosa diavolo hanno bisogno allora? Allora non otterrete nuovi dati da loro...

 

Errore di compilazione:

#define  MACRO( X )      X##X
void OnStart()
{
    Print( 11 );        //(1) нормально
    Print( MACRO( 1 )); //(2) Error: '11' - undeclared identifier
}
e qual è la differenza tra (1) e (2) ?
 
Сергей Таболин:

Andrey, ma la candela M5 si apre nello stesso momento della candela M1. O intendi il carico di ridisegnare (ricalcolare) gli indicatori? Quindi, se proibiamo loro di ridisegnare, di cosa diavolo hanno bisogno allora? Allora non avrai nuovi dati da loro...

non appena appare una nuova barra del timeframe da cui si ottengono i dati, il contatore prev_calculato viene azzerato. Ciò significa che l'indicatore viene ricalcolato come se fosse stato lanciato la prima volta.

Le è familiare una tale costruzione?

if (rates_total == prev_calculated) return rates_total;
  
int startInd = rates_total - prev_calculated;

for (int i = startInd; i >= 0; i--)
{
  //тут считаем индикатор, который обращается к другому индикатору на старшем ТФ
}

Non si tratta della logica EA (ridisegnare, non ridisegnare, sottodisegnare o altro), ma del fatto che prev_calculated viene resettato quando nessuno gli ha chiesto di farlo!

 
Andrey Dik:

non appena c'è una nuova barra di timeframe da cui si ottengono i dati, il contatore prev_calculato viene azzerato. ciò significa che l'intero indicatore viene ricalcolato come se fosse stato eseguito la prima volta.

Le è familiare una tale costruzione?

Non si tratta della logica EA (ridisegnare, non ridisegnare, sottodisegnare o altro), è che prev_calculated viene resettato quando nessuno glielo ha chiesto!

Gli indicatori sono il mio punto debole ))))

Ma!

O io non capisco proprio niente, o lei si sbaglia di poco.

Per quanto ne so, prev_calculated è un contatore di dati non calcolati. E una volta contati i dati in arrivo, quel contatore viene azzerato... Tipo, questo è tutto, ragazzo, niente più nuovi dati da calcolare.... )))

E per quale motivo l'indicatore dovrebbe ricalcolare completamente in un caso simile - non lo so!

---------------

Ha mentito un po' ))))

Non sono gli indicatori che vengono ricalcolati, sono gli "indici" che vengono ridisegnati solo per sembrare "belli" sulla storia ;)

 
Сергей Таболин:


Ho mentito un po' ))))

Gli indicatori non sono ridisegnati, gli "indici" sono ridisegnati solo per farli apparire belli sulla storia ;)

Ecco perché vanno a ruba. Perché sono sempre BELLISSIMI e BELLISSIMI.

 
Vladislav Andruschenko:

Ecco perché vanno a ruba. Perché sono sempre BELLISSIMI e BELLISSIMI.

100500 ))))))

 
Сергей Таболин:


Per quanto ne so, prev_calculated è un contatore di dati non calcolati.

Ahimè, la tua conoscenza non è coerente con la documentazione.

OnCalculate()

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

Come faccio a sapere internamente che EX5 è compilato in modalità Debug? Non viene eseguito in modalità Debug, ma compilato una volta attraverso Debug ed eseguito in modo normale.

Trovato.

void OnStart()
{      
  #ifdef _DEBUG
    Alert("EX5 - debug.");
  #endif

  if (MQLInfoInteger(MQL_DEBUG))
    Alert("Debugging...");
}


E come faccio a sapere che EX5 è protetto?