Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 1039

 
Obrigado pelas respostas, foi o que eu pensei. Mas aqui está o problema, o fato é que todos os dias eu perco o início do gráfico, nos minutos são cerca de dois ou três meses, então água todos os dias há um gráfico de corte para o dia, então os indicadores começam a contar todos os dias de um lugar diferente, porque suas leituras mudam e geralmente não é possível trabalhar, como aumentar a história, e no início do gráfico não se perde ... e de manhã eu abro a MT e eu tinha todos os sinais, porque os indicadores começaram a contar de outro lugar????
 
nikelodeon: Todos os dias falta-me o início do gráfico,

Serviço -> Configurações -> Histórico Max Bar e Max BarGraphs in Window

Agora a velocidade. A maioria dos indicadores manipula apenas uma, última barra em cada carrapato. Ou 2 quando uma nova barra aparece. Mas existem indicadores que calculam muitas ou até mesmo todas as barras em cada tick devido a erros de programação ou devido a um algoritmo específico. Primeiro, é preciso identificá-los. Isto pode ser feito usando o Task Manager, determinando a carga da CPU. Ou, mais precisamente, você pode inserir no indicador algo como

  if(XXX>1)Alert("Пересчитываем=",XXX,"   Bars=",Bars);
где XXX - количество пересчитывемых баров. При запуске будет много, затем на каждый новый бар 2

É improvável que o indicador deva recalcular todas as barras. Devemos verificar 1) o que este indicador retorna pelo operador 2) o número de barras recalculadas no código do indicador. 3) Barras máximas na janela 4) Os indicadores, chamados pela função iCustom, não devem estar no gráfico. Caso contrário, obtemos a duplicação do indicador e aumentamos a carga sobre o processador.

Digito o texto em Word e o copio através da prancheta para melhorar a alfabetização. Caso contrário, quatro sintaxes e uma vírgula.


 

Bom dia, colegas!

Por favor, diga-me qual é o problema com este pedaço de código:

   int TF[6]={1,5,15,30,60,240};
   for(int TF=0;TF<6;TF++)
      for(int i=iBars(NULL,TF[TF]);i>=0;)
O compilador produz isto:
'[' - array required        20      30
A ajuda e o tutorial não dizem nada sobre o uso de matrizes em séries temporais, o problema pode ser resolvido? De que outra forma podemos fazer uma repetição de todos os castiçais em vários TFs?
Muito obrigado!
 
Ekburg: Por favor, diga-me qual é o problema com este pedaço de código:
 int TF[6]={1,5,15,30,60,240};
   for(int TF=0;TF<6;TF++)       TF[TF] ???????

TF é descrito como um conjunto de 6 elementos, ou seja, há: TF[0]=1, TF[1]=5, TF[2]=15, TF[3]=30 TF[4]=60 TF[5]=240
A referência à TF sem parênteses rectos, ou seja, sem especificar um índice, não tem sentido. Que elemento de matriz devo usar?
Suponho que você poderia usar algo como for(int NTF=0;NTF<6;NTF++) for(int i=iBars(NULL,TF[NTF]);i>=0;)
 
Ekburg:

Bom dia, colegas!

Você pode me dizer qual é o problema com este pedaço de código?

int TF[6]={1,5,15,30,60,240};
for(int i=0; i<6; i++) int b=iBars(NULL,TF[i]);
 
LRA:
TF é descrito como um conjunto de 6 elementos, ou seja, há: TF[0]=1, TF[1]=5, TF[2]=15, TF[3]=30 TF[4]=60 TF[5]=240
O acesso ao TF sem colchetes, ou seja, sem especificar um índice, não tem sentido. Que elemento de matriz devo usar?
Suponho que você poderia usar algo como for(int NTF=0;NTF<6;NTF++) for(int i=iBars(NULL,TF[NTF]);i>=0;)
artmedia70:

Obrigado, pessoal)

Então, o fato de eu ter definido a variável TF no primeiro operadorpara(int TF=0;TF<6;TF++), o compilador a confunde com um array?

 
Ekburg O compilador confunde a variável TF com uma matriz?

É pior... TF é declarada duas vezes 1) como um array 2) como uma variável inteira. A segunda declaração cobre (torna invisível, quase destrói) a primeira.

O compilador irá primeiro gerar o aviso: a declaração de 'TF' esconde a declaração local ... A segunda declaração de TF esconde a declaração anterior. Agora a TF não é uma matriz, mas uma variável inteira. É por isso que o próximo uso da TF[] requer uma matriz que já está oculta, e o erro: "[' - matriz requerida matriz requerida matriz requerida.

 
LRA:

É pior... TF é declarada duas vezes 1) como um array 2) como uma variável inteira. A segunda declaração fecha (torna invisível, quase destrói) a primeira.

O compilador irá primeiro gerar o aviso: a declaração de 'TF' esconde a declaração local ... A segunda declaração de TF esconde a declaração anterior. Agora a TF não é uma matriz, mas uma variável inteira. É por isso que o próximo uso da TF[] requer uma matriz que já está oculta, e o erro: "[' - matriz requerida matriz requerida matriz requerida.



É isso... estou vendo, muito obrigado.

consertou tudo, nenhum erro é devolvido (no entanto, fiquei confuso pelo fato de que quando declarei a variável f em vez da variável TF, não houve erros usando TF[TF]),

mas o roteiro não se abre no terminal, talvez seja sobre avisos?

 
LRA:

Serviço -> Configurações -> Histórico Max Bar e Max BarGraphs in Window


Agora a velocidade. A maioria dos indicadores manipula apenas uma, última barra em cada carrapato. Ou 2 quando uma nova barra aparece. Mas existem indicadores que calculam muitas ou até mesmo todas as barras em cada tick devido a erros de programação ou devido a um algoritmo específico. Primeiro, é preciso identificá-los. Isto pode ser feito usando o Task Manager, determinando a carga da CPU. Ou, mais precisamente, você pode inserir no indicador algo como

É improvável que o indicador deva recalcular todas as barras. Devemos verificar 1) o que este indicador retorna pelo operador 2) o número de barras recalculadas no código do indicador. 3) Barras máximas na janela 4) Os indicadores, chamados pela função iCustom, não devem estar no gráfico. Caso contrário, obtemos a duplicação do indicador e aumentamos a carga sobre o processador.

Digito o texto em Word e o copio através da prancheta para melhorar a alfabetização. Caso contrário, há 4 sintaxe e 1 vírgula.



Com erros, é fácil. Obrigado pela resposta, o que não ajudou em nada. Sou mais do que apenas um usuário mkul. Tudo o que você me escreveu há muito tempo é conhecido e testado, o indicador conta uma vez e depois com a chegada de uma nova barra, conta apenas uma barra, eu afixei tudo claramente visível. Eu tenho o histórico máximo de barras na janela. Acho que talvez meu corretor faça asneira. Por exemplo, hoje eu salvei dados sobre ouro no arquivo KQF, mas eles se tornaram inconsistentemente diferentes do arquivo que salvei ontem. Durante o dia tudo parece estar bem, mas vamos ver o que acontece amanhã...
 

Ekburg!!! Todas as advertências devem ser eliminadas. O primeiro aviso significa que a declaração não tem efeito - descartada pelo compilador - isto é ruim. O último aviso é que o tamanho da variável local (matriz) excede 512kB e, portanto, não tem efeito - o que é muito ruim. O resto das advertências - uma variável não inicializada pode ser usada. É como quando você esquece de colocar dinheiro no cartão e tenta gastá-lo. Temos que verificar todos os ramos do programa. Às vezes, o compilador tem um seguro excessivo. Neste caso você deve declarar desta forma: int x=0; string y=""; bool z=false;

Razão: