Erros, bugs, perguntas - página 3026

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

E em que TF superior a vela não aparece juntamente com a vela na inferior?

O indicador no M1 utiliza outro indicador do M5.

Em geral, não seria um problema, se não fosse pelo aumento do consumo injustificado de recursos computacionais, crítico durante a optimização (no meu caso, cada novo M5 causa uma completa re-utilização do indicador em todo o histórico, e o projecto ainda não está totalmente concluído, planeio utilizar 16 indicadores de diferentes TFs).

 
Andrey Dik:

no M1 utiliza outro indicador do M5.

Em geral, não seria um problema, se não fosse pelo aumento do consumo irrazoável de recursos computacionais, crítico durante a optimização (no meu caso cada novo M5 causa uma repetição completa do indicador em toda a história, enquanto o projecto ainda não está completamente terminado, planeio utilizar 16 indicadores de diferentes TFs).

Andrey, mas a vela M5 abre ao mesmo tempo que a vela M1. Ou refere-se à carga dos indicadores de redesenho (recalculando)? Então, se os proibirmos de voltar a desenhar, de que diabo precisam então? Então não receberá novos dados deles...

 

Erro de compilação:

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

Andrey, mas a vela M5 abre ao mesmo tempo que a vela M1. Ou refere-se à carga de redesenhar (recalcular) os indicadores? Então, se os proibirmos de voltar a desenhar, de que diabo precisam então? Então não receberá novos dados deles...

assim que aparecer uma nova barra de tempo a partir da qual os dados são obtidos, o contador pré_calculado será reiniciado. Isto significa que o indicador será recalculado como se tivesse sido lançado da primeira vez.

é uma construção tão familiar para si?

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

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

não se trata da lógica EA (redesenhar, não redesenhar, subdesenhar ou o que quer que seja), mas o facto de que o pré_cálculo é reiniciado quando ninguém o pediu!

 
Andrey Dik:

logo que haja uma nova barra de tempo a partir da qual os dados são obtidos, o contador pré_calculado é reiniciado. significa que todo o indicador é recalculado como se tivesse sido executado da primeira vez.

é uma construção tão familiar para si?

não se trata de lógica EA (redesenhar, não redesenhar, subdesenhar ou o que quer que seja), é que o pré_cálculo é reiniciado quando ninguém o pediu!

Os indicadores são o meu ponto mais fraco ))))

Mas!

Ou não percebo nada, ou está um pouco enganado.

Tanto quanto sei, o pré-cálculo é um contador de dados não-calculados. E, uma vez contados os dados recebidos, esse contador é reiniciado. Tipo, é isso, meu, não há mais dados novos para calcular.... )))

E por que razão o indicador deve recalcular completamente em tal caso - não sei!

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

Mentiu um pouco ))))

Não são os indicadores que são recalculados, são os "índices" que são redesenhados apenas para parecer "simpáticos" na história ;)

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


Eu menti um pouco ))))

Os indicadores não são redesenhados, os "índices" são redesenhados apenas para os fazer parecer bonitos na história ;)

É por isso que eles vendem como bolos quentes. Porque têm sempre um aspecto BELO e BELIZADO.

 
Vladislav Andruschenko:

É por isso que eles vendem como bolos quentes. Porque têm sempre um aspecto BELO e BELIZADO.

100500 ))))))

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


Tanto quanto sei, o pré-cálculo é um contador de dados não-calculados.

Infelizmente, os seus conhecimentos são inconsistentes com a documentação.

OnCalculate()

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

Como é que sei internamente que o EX5 é compilado em modo Debug? Não funciona em modo Debug, mas compilado uma vez através de Debug e executado de forma normal.

Encontrei-o.

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

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


E como é que sei que o EX5 está protegido?

Razão: