matriz estática ? - página 6

 

Demasiado código nessa simples descrição em inglês . .

Os fractais são armazenados nos buffers do indicador, você entende como ? se você não escrever algum código para ajudá-lo a entender . .

Você pode ler os buffers do Indicador e encontrar os números de barra dos fractais, a partir do número de barra você pode obter os valores das velas . . .

 
RaptorUK:

Demasiado código nessa simples descrição em inglês . .

Os fractais são armazenados nos buffers do indicador, você entende como ? se você não escrever algum código para ajudá-lo a entender . .

Você pode ler os buffers do Indicador e encontrar os números de barra dos fractais, a partir do número de barra você pode obter os valores das velas . . .

Eu não entendo completamente como os amortecedores indicadores são armazenados.


E era exatamente isso que eu queria fazer, encontrar o número da barra, a partir dos fractais e obter os valores das velas

Vou continuar com isso, mas provavelmente seria mais claro se soubesse como os indicadores estão armazenando os valores no buffer.

Obrigado

 

Há 3 buffers, v1, v2 & v3 e há outras três duplas, val1, val2 & val3, usadas para cálculo. v3 e val3 não parecem ser usadas . .

val1 e val2 seguram o valor produzido por iFractals, este valor é calculado para cada barra um por um, enquanto que o loop passa através das barras começando com Barras e diminuindo até zero . .

Assim, para cada barra, o valor dos fractais é calculado e armazenado em v1 para MODE_UPPER e v2 para MODE_LOWER, deixa passar o trabalho para v1 . .

Para cada barra, por sua vez . . se val1 for maior que 0, o valor do buffer v1 para o número de barras é ajustado para a Máxima dessa barra, então imagine que o laço está parcialmente passando pelas barras de Barras para 0, vamos imaginar que está na barra número 4934, o fractal é calculado para a barra número 4934, se o valor for maior que 0 então v1[4934] é ajustado para Máxima[4934], em outras palavras o elemento 4935 do buffer v1 é ajustado para a Máxima da barra número 4934 . . não se esqueça que os Arrays começam em 0

Finalmente há uma pequena complicação que você precisa entender . . executar o indicador e você verá uma linha de pontos de cada fractal alto e baixo . . até o próximo . . imaginar que estamos agora na barra número 4933 e o valor de val1 não é maior que 0, o que acontece agora é que o valor de tampão para esta barra não está definido para esta barra Alto, mas está definido para o mesmo valor da entrada anterior para o tampão . . anterior neste caso significa i+1 porque no laço i está em contagem regressiva.

Quando o loop terminar e todas as barras tiverem seus fractais calculados, todas as entradas nos amortecedores conterão valores . . isto não é uma grande ajuda para você . . você precisa mudar um pouco o código.

Leia o que eu escrevi aqui . . se você não entende o que está acontecendo, não tem nada que mexer com este código . . uma vez entendido, então você pode avançar . . qualquer pergunta, por favor, faça.

 
RaptorUK:

Há 3 buffers, v1, v2 & v3 e há outras três duplas, val1, val2 & val3, usadas para cálculo. v3 e val3 não parecem ser usadas . .

val1 e val2 contêm o valor produzido por iFractals, este valor é calculado para cada barra um por um, enquanto que o loop passa através das barras começando com Barras e diminuindo até zero . .

Assim, para cada barra, o valor dos fractais é calculado e armazenado em v1 para MODE_UPPER e v2 para MODE_LOWER, deixa passar o trabalho para v1 . .

Para cada barra, por sua vez . . se val1 é maior que 0, o valor do buffer v1 para o número de barras é ajustado para a Máxima dessa barra, então imagine que o laço está parcialmente passando pelas barras de Barras para 0, vamos imaginar que está na barra número 4934, o fractal é calculado para a barra número 4923, se o valor é maior que 0 então v1[4394] é ajustado para Máxima[4394], em outras palavras o 4395º elemento do buffer v1 é ajustado para a Máxima da barra número 4394 . . não se esqueça que os Arrays começam em 0

Finalmente há uma pequena complicação que você precisa entender . . executar o indicador e você verá uma linha de pontos de cada fractal alto e baixo . . até o próximo . . imaginar que estamos agora na barra número 4933 e o valor de val1 não é maior que 0, o que acontece agora é que o valor de tampão para esta barra não está definido para esta barra Alto, mas está definido para o mesmo valor da entrada anterior para o tampão . . anterior neste caso significa i+1 porque no laço i está em contagem regressiva.

Quando o loop terminar e todas as barras tiverem seus fractais calculados, todas as entradas nos amortecedores conterão valores . . isto não é uma grande ajuda para você . . você precisa mudar um pouco o código.

Leia o que eu escrevi aqui . . se você não entende o que está acontecendo, não tem nada que mexer com este código . . uma vez entendido, então você pode avançar . . qualquer pergunta, por favor, faça.

Eu entendo como o indicador está funcionando exatamente como você o descreveu. Pensei ter entendido também como o buffer estava armazenando os valores, e é por isso que eu estava ficando confuso porque quando eu recodifiquei as coisas para imprimir não obtive os resultados que eu esperava ver.

Entretanto, um grande obstáculo agora foi superado com a compreensão de como o buffer é diferente e NÃO declarou o número de elementos, razão pela qual eu não podia imprimir a partir do buffer

Ok, continuando.
Presumo que haja alguns erros de digitação em suas referências ao número de barras 4934, fractal é calculado para o número de barras 4923 e deve ler-se 4933.
E também para valor maior que 0, então v1[4394] está definido como High[4394] === suponho que se pretende seguir a referência anterior a 4923/33 também, mas entendo que é o número do elemento é maior que o número de barras.

Por favor, me corrija se eu estiver errado sobre o erro datilográfico.

De qualquer forma, assumindo que estes são erros de digitação e eu entendo o que isto significa.

Considerei que eu criaria a v3 e a declararia e inicializaria de forma semelhante para poder imprimi-la ou obter o valor da mesma.
Inicialmente eu havia considerado que poderia imprimir i-1 para extrair o valor armazenado do Alto[i] no momento em que ele fosse maior que 0 e para aquela Barra.
Ou mesmo v1[i] = v1[1-1] e Print v1[i] neste momento, mas eu não trabalhei essa parte e também não consegui passar da parte de impressão, uma vez que o número de elementos não foi declarado.

É por isso que eu queria criar um esquema v3 diferente, mas na verdade o mesmo apenas para criar uma matriz com o número declarado de elementos que eu poderia extrair o valor dos fractais para essas barras.

É aqui que estou tendo problemas com o projeto, por isso vou trabalhar mais um pouco através dele

Obrigado

 
Agent86:

Eu entendo como o indicador está funcionando exatamente como você o descreveu. Pensei ter entendido também como o buffer estava armazenando os valores, e é por isso que estava ficando confuso porque quando eu recodifiquei as coisas para imprimir não obtive os resultados que se esperava ver.

Entretanto, um grande obstáculo agora foi superado com a compreensão de como o buffer é diferente e NÃO declarou o número de elementos, razão pela qual eu não podia imprimir a partir do buffer

Ok, continuando.
Presumo que haja algum erro de digitação em suas referências ao número de barras 4934, fractal é calculado para o número de barras 4923 e deve ler-se 4933.
E também para valor maior que 0 então v1[4394] é definido como High[4394] === suponho que se pretende seguir a referência anterior a 4923/33 também, mas entendo que é o número do elemento é maior que o número de barras.

Por favor, me corrija se eu estiver errado sobre o erro datilográfico.

Desculpe pelos erros de digitação . . . Fixei meu texto com os valores corretos . . . Não sou bom logo pela manhã ;-)

Você vê a pequena modificação que precisa fazer no código antes que ele lhe seja de grande utilidade ?

 
    for(i=Bars; i >= 0; i--)
     {
     val3=iFractals(NULL, 0, MODE_UPPER,i);
     if(val3>0)
      {
      double v3[1000];
      v3[i]=High[i];
      Print ("v3[", i, "]= ", v3[i], " if");
      }
     else          
         {
         v3[i]=v3[i+1];
         Print ("v3[", i, "]= ", v3[i], " else");
         }
     }
Ok fazendo algum progresso aqui, acho que o principal foi que eu não consegui passar da declaração do buffer que sempre produziu 0 para minhas impressões.

Acho que talvez eu consiga lidar a partir daqui
Estou obtendo os valores que busco agora, pelo menos pelo que posso dizer até agora, posso estar no caminho certo.

2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[5]= 1.3361 se
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[6]= 1,3343 mais
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[7]= 1,3343 mais
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[8]= 1,3343 mais
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[9]= 1,3343 mais
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[10]= 1,3343 se
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[11]= 1.3399 mais


Mais uma vez obrigado
 
Suspeito que você realmente não quer ou precisa do outro
 
RaptorUK:
Suspeito que você realmente não quer ou precisa do outro

Sim, seu direito