[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 306
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
Uma matriz de comprimento "infinito" pode ser declarada em um indicador. Declare-o e, em seguida, escreva imediatamente no laço os valores encontrados na matriz. A única questão é como transferir a seleção necessária para o Expert Advisor/Script? Existem algumas ferramentas, mas precisamos avaliar a complexidade. Talvez fosse realmente mais fácil fazer duas corridas - na primeira calculamos o número de valores filtrados, depois mudamos a dimensão da matriz, e na segunda inserimos os valores na matriz?
Obrigado, mas a variante com o indicador não é adequada - antes de transferir a amostra obtida para o Expert Advisor, há um problema com a transferência das condições da amostra do Expert Advisor para o indicador.
Declarar um conjunto maior do que o tamanho máximo exigido.
Exatamente :) Funcionará se aumentarmos o tamanho muitas vezes. Por exemplo, sabemos de antemão que o número de valores filtrados não pode exceder mil. Vamos declarar um conjunto de vários milhares de células e estamos prontos :)
Mas será preciso um pouco da memória necessária. :(
Exatamente :) Funcionará se aumentarmos o tamanho muitas vezes. Por exemplo, sabemos de antemão que o número de valores filtrados não pode exceder mil. Vamos declarar um conjunto de vários milhares de células e estamos prontos :)
Mas será preciso um pouco da memória necessária. :(
Se "sabemos de antemão que o número de valores filtrados não pode exceder mil", basta declarar a matriz com tamanho 1000.
https://docs.mql4.com/ru/math/MathPow não? Ou operações elementares são uma condição do problema. Então a opção http://bpascal.ru/download/desc/436.php se você fizer tudo à mão, então implemente expoente e logaritmo com suas próprias funções.
Boa tarde, alguns conselhos: O loop busca valores que satisfaçam certas condições. Os valores encontrados são escritos em um array. Não se sabe antecipadamente quantos valores serão encontrados. Portanto, o tamanho do conjunto a ser declarado é desconhecido. Do ponto de vista de tempo e recursos, prefiro não fazer duas séries (para que eu pudesse contar o número de valores encontrados na primeira série, declarar a série e escrever os dados na segunda série). Existe alguma maneira de obter o resultado necessário em uma única corrida?
Se você "sabe de antemão que o número de valores filtrados não pode exceder mil", você pode simplesmente declarar uma matriz de tamanho 1000.
Mas e quanto a um plano de contingência em caso de força maior? Você escreveria um código que informasse sobre um erro e bloqueasse o Expert Advisor? Bem, uma pessoa pode não ver - bem, ele estava apenas no trabalho naquele momento.
Sim, de fato, há mais de uma solução para o problema. Penso que a melhor solução é aquela sugerida por Zhunko - aumentar dinamicamente a dimensionalidade da matriz dentro do laço filtrante. Francamente falando, estou encantado com esta resposta. Nunca me ocorreu :)
Penso que o melhor ainda seria aquele sugerido por Zhunko - aumentar dinamicamente a dimensionalidade da matriz dentro do laço filtrante. Honestamente, estou encantado com essa resposta. Nunca me ocorreu :)
A solução é realmente original, devemos experimentá-la. Mas quando você redescobre a matriz, será que os dados não se perderão devido à reinicialização?
Eu faço isso com freqüência. Eu crio alguma matriz inicial. Então (se necessário) eu o maximizo por algum valor (não se pode, leva muito tempo para realizar operações de array) e apenas verifico o tamanho do array realmente preenchido em meu trabalho. Até agora, não houve problemas
As operações de matriz levam muito tempo para serem concluídas
Leva muito tempo para realizar qualquer operação de matriz ou apenas certas operações?
Especialmente o redimensionamento de uma matriz. É melhor fazê-los o menos freqüentemente possível