[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 311
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
1. A variável Velas não é usada em nenhum lugar.
2. A linha
não está escrito corretamente. Está no loop - a cada iteração do loop você cria uma nova variável Cls. E você não precisa dele lá. Você só precisa escrever
1. Esqueci de ressaltar que o trabalho do indicador não foi concluído. Mas em qualquer caso, isto não deve afetar de forma alguma o funcionamento desta função em particular.
2. Foi assim no início. Mas quando começou a me dar um erro, pensei que o problema poderia de alguma forma estar na passagem de dados de um array para um array.
E tente a linha
substitua-o por
Não ajudou. O erro ainda é o mesmo.
Há mais uma coisa. Se você declarou uma dimensão de 4 células em uma das dimensões da matriz, você não pode chamar Buffer_OHLC[4][] - a questão é que a numeração começa com zero, não com um. Portanto, o máximo que você pode chamar é Buffer_OHLC[3][];
A célula zero também pode permanecer vazia. Um exemplo semelhante foi descrito no livro didático. Bem, em geral, mesmo mudando o tamanho da matriz, o erro permanece.
PS O indicador deve pegar dados de outra ferramenta e aplicá-los à ferramenta atual. Talvez eu esteja fazendo algo fundamentalmente errado ao resolver esta tarefa?
A célula nula também pode permanecer vazia. Um exemplo semelhante foi descrito no livro didático. Bem, em geral, mesmo depois de mudar o tamanho da matriz, o erro persiste.
PS O indicador deve pegar dados de outra ferramenta e aplicá-los à ferramenta atual. Talvez eu esteja fazendo algo fundamentalmente errado ao resolver este problema?
Você simplesmente não está trabalhando corretamente com uma matriz bidimensional
1. Trocar o primeiro índice com o segundo índice
2. Use o ArrayResize
A célula zero também pode permanecer vazia. Um exemplo semelhante foi descrito no livro didático. Bem, em geral, mesmo mudando o tamanho da matriz, o erro permanece.
PS O indicador deve pegar dados de outra ferramenta e aplicá-los à ferramenta atual. Talvez eu esteja fazendo algo errado, em princípio, ao resolver esta tarefa?
Você declarou a matriz Buffer_OHLC[4][]. Você está abordando uma célula inexistente da matriz, a saber, Buffer_OHLC[4][i] - não existe uma célula desse tipo na matriz que você declarou. O máximo que existe é o Buffer_OHLC[3][i].
Deixe-me explicar: você declarou 4 células na segunda dimensão da matriz (digamos, 4 fileiras de alguma tabela com um número infinito de colunas). Como a numeração começa de zero, a primeira linha que pode ser acessada é Buffer_OHLC[0][], a segunda é Buffer_OHLC[1][], a terceira é Buffer_OHLC[2][], e a quarta é Buffer_OHLC[3][]. A linha Buffer_OHLC[4][] não existe na matriz que você declarou !
Não ligue para os freios, esta é a primeira vez que lido com arrays multidimensionais :)
drknn, obrigado! Entendo seu comentário
1. Troque o primeiro índice com o segundo
2. Use o ArrayResize
Obrigado! Eu tenho o resultado. Mas também gostaria de esclarecer sobre a função ArrayResize e o tamanho da primeira dimensão da matriz.
Ao usar o limite-1, há um gráfico, mas o erro 4051 "Valor inválido do parâmetro da função" aparece.
Não ligue para os freios, esta é minha primeira vez lidando com arrays multidimensionais :)
É mais fácil orientar-se se você pensar em uma matriz multidimensional como algo mais. Nomeadamente, se você encontrar um modelo para a matriz que capte sua essência - o modelo é mais fácil de manter diante de seus olhos.
Uma matriz unidimensional são objetos em uma linha (um raio de coordenadas começando de zero). Um exemplo de um conjunto desse tipo seria uma fila de espera em uma loja. A primeira na fila é a pessoa que está bem atrás da pessoa que está comprando agora. A pessoa que compra não pode ser chamada a primeira da fila - ele está comprando - ele é zero. Ele está dentro da célula zero da matriz unidimensional.
Uma matriz bidimensional é um objeto em um plano (plano de coordenadas). Um exemplo seria um auditório. Fila de sucessos e sucessos, lugar de sucessos e sucessos. Adicione linha zero e assento zero a este modelo, e você tem um modelo exato de uma matriz bidimensional.
Uma matriz tridimensional é um objeto no espaço (espaço de coordenadas) - a coordenada do objeto é dada por três valores. É um cubo, com rostos. Um modelo poderia ser um edifício residencial com número de entrada zero, andar zero e apartamento zero (entre todos os outros). Desde que em cada entrada a numeração plana comece a partir de zero.
Uma matriz tetradimensional é semelhante a uma matriz unidimensional. É um raio de coordenadas, todos os pontos das quais são matrizes tridimensionais. O modelo é uma rua. A matriz de coordenadas será especificada pelos valores: número da casa, número de entrada, número do piso, número plano.
E assim por diante em enn-dimensionalidade - de ruas para distritos, de distritos para cidades, de distritos para cidades, de cidades para países, de países para planetas...