[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 338

 
Gek34:

Vinin 20.08.2012 13:28

Gek34:

E, com a segunda pergunta, não posso solicitar 3 mensagens acima?

Não há muita informação

Estou anexando o código: Depois que um pedido pendente é colocado, uma linha para modificação aparece, se você o mover, o pedido será modificado conforme necessário, mas depois de cada tick ele tenta modificá-lo, mesmo que eu não precise mais dele.

Não tenho acompanhado todos os erros no código, mas não tenho vontade de reescrevê-lo agora


É preciso entender a lógica para entendê-la. E isso, para mim, leva muito tempo. Desculpe
 

Então formularei a questão de forma diferente: se um erro durante a modificação do pedido for exibido não no ( diário, o diário está limpo), mas na guia (Especialistas) Isso significa que

1. Um erro nos cálculos do Expert Advisor (não foi enviado um pedido ao servidor para modificar o pedido)?

2. o servidor devolveu o erro (já que isso acontece a cada tique, a conta pode ser bloqueada)?

 
Gek34:

Então formularei a questão de forma diferente: se um erro durante a modificação do pedido for exibido não no ( diário, o diário está limpo), mas na guia (Especialistas) Isso significa que

1. Um erro nos cálculos do Expert Advisor (não foi enviado um pedido ao servidor para modificar o pedido)?

2. o servidor devolveu o erro (como acontece a cada tique, a conta pode ser bloqueada)?


Código de erro. Se 0, nenhuma solicitação foi enviada para o servidor.
 
skyjet:
... O MetaTrader pode decidir se os resultados são importantes ou não?

Sim, se você marcou a caixa "Ignorar resultados inúteis". Guia Resultados da Otimização, botão direito do mouse.
 
Zhunko:
Se você estiver atento, faça mais algumas pesquisas sob o DOS. Pode vir a ser útil.

Obrigado, eu peguei.

Muito engraçado.

 

https://www.mql5.com/ru/forum/138609/page333#683047

No entanto, alguém pode me ajudar a descobrir como organizar a matriz corretamente? Não é um problema complicado, mas não consigo resolvê-lo por conta própria.

 
silhouette:

https://www.mql5.com/ru/forum/138609/page333#683047

No entanto, alguém pode me ajudar a descobrir como organizar a matriz corretamente? Não é um problema complicado, mas não consigo resolvê-lo por conta própria.

Tente resolvê-lo em um pedaço de papel:

2) Encontre o comprimento de uma série de valores verdes e vermelhos e armazene-os em uma matriz.

Pessoalmente, não está claro para mim qual deve ser o tamanho das matrizes. Em outras palavras - durante que período de tempo você quer ver uma imagem dos valores verde e vermelho, a partir de qual barra?

 
artmedia70:

Tente "no papel" para resolver este problema:

2) Encontre o comprimento de uma série de valores verdes e vermelhos e armazene-os em uma matriz.

Pessoalmente, não entendo qual deve ser o tamanho das matrizes. Em outras palavras - durante que período de tempo você quer ver a imagem dos valores verde e vermelho, a partir de qual barra?

Qual deveria ser o tamanho das matrizes - não sei. Seu índice deve se acumular durante todo o intervalo de barras calculadas, ou seja, a partir do limite de barras.

Vou tentar descrever a lógica do problema em palavras.

  • Temos três amortecedores indicadores que desenham um LSMA colorido. Se seu valor na barra atual for maior que o anterior, deixamos o valor em buffers amarelos e verdes e limpamos o valor em vermelho. Se o valor atual for inferior ao anterior - pelo contrário. Em todos os outros casos - limpamos o valor nos amortecedores vermelho e verde, deixando apenas o amarelo.
  • O valor do buffer da série verde é 1, o valor do índice é 0. Se buffer verde na barra atual =EMPTY_VALUE e na anterior também =EMPTY_VALUE, então o valor do buffer verde aumenta em um (acumulação de valor). Se o valor do buffer verde == EMPTY_VALUE, enquanto o valor do buffer vermelho == EMPTY_VALUE também (somente a cor amarela no gráfico), significa que a série terminou - atribuímos o comprimento da série ao array da série verde com índice 0 (o guardamos no buffer). Aumentamos o índice da série em um (os próximos serão agora 1, 2, 3 etc.), redefinimos o valor da série para um, aguardamos o início da próxima série verde.
  • Realizamos as mesmas manipulações com a matriz da série vermelha.
 
granit77:
Sim, se você assinalou a caixa "Saltar resultados inúteis". Aba Resultados da Otimização, botão direito do mouse.
Obrigado!
 
silhouette:

Qual deveria ser o tamanho das matrizes - não sei. Seu índice deve se acumular durante todo o intervalo de barras calculadas, ou seja, a partir do limite da barra.

Vou tentar descrever a lógica do problema em palavras.

  • Temos três amortecedores indicadores que desenham um LSMA colorido. Se seu valor na barra atual for maior que o anterior, deixamos o valor em buffers amarelos e verdes e limpamos o valor em vermelho. Se o valor atual for inferior ao anterior - pelo contrário. Em todos os outros casos - limpamos o valor nos amortecedores vermelho e verde, deixando apenas o amarelo.
  • O valor do buffer da série verde é 1, o valor do índice é 0. Se buffer verde na barra atual =EMPTY_VALUE e na anterior também =EMPTY_VALUE, então o valor do buffer verde aumenta em um (acumulação de valor). Se o valor do buffer verde == EMPTY_VALUE, enquanto o valor do buffer vermelho == EMPTY_VALUE também (somente a cor amarela no gráfico), significa que a série terminou - atribuímos o comprimento da série ao array da série verde com índice 0 (o guardamos no buffer). Aumentamos o índice da série em um (os próximos serão agora 1, 2, 3 etc.), redefinimos o valor da série para um, aguardamos o início da próxima série verde.
  • Manipulações similares são realizadas com a matriz vermelha da série.

Enquanto o propósito de preencher estas matrizes não for claro, não nasce nenhum algoritmo. Não está claro para que outras finalidades estas matrizes serão utilizadas. Portanto, não existe um algoritmo adequado para salvá-los. Afinal, eles serão constantemente sobregravados com novos dados. Você está falando sobre a extensão da série. A série verde terminará assim que a série amarela ou vermelha começar. Da mesma forma, a série vermelha terminará assim que a série amarela ou verde começar. Em outras palavras, apenas uma série que está atualmente em vigor e a série que a precede estará atualizada. Ou deveria haver várias séries desse tipo, alternando entre elas.

Em resumo - em termos camponeses-trabalhadores: por que precisamos dessas matrizes de séries? Como ele será representado graficamente no peru, ou para quê?