[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 421
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
Boa tarde, fiz um bloco para calcular posições mágicas de compra abertas, mas o problema é que se o bloco funciona em pares de moedas diferentes, então o bloco só produz resultados para um par de moedas (a última posição aberta). Como posso corrigir o código (sem mudar a magia) para que o bloco dê o resultado para cada par de moedas?
... continuou...
No final da subseção Função StringSubstr entre parênteses é dada a seguinte frase: "separadamente devemos observar que no primeiro para loop (minha nota: deve ser deinit() pois não há outra maneira de apagar objetos) não podemos apagar objetos, pois após cada deleção o número total de objetos e sua numeração mudará e alguns nomes de objetos serão ignorados". Mas na citada EA não há nenhum segundo para o loop. Além disso, a variável Quant_Del definida na função deinit() antes do for loop é inicializada com zero, enquanto a variável i não foi definida em nenhum lugar antes do for loop.
Acontece que o código acima omite apenas trivialmente várias linhas de programa.
Então a primeira pergunta é a seguinte: foi realmente uma omissão trivial de várias linhas ou é um programa tão complicado que um novato não consegue entender seu significado sem ajuda externa?
Além disso... No mesmo capítulo da mesma seção, há um link para o mesmo Expert Advisor (no arquivo anexo) antes do texto citado que, ao ser clicado, abre o mesmo Expert Advisor no MetaElitor. Mas o texto deste Expert Advisor é diferente: a função deinit()deinit()aqui se parece com isto
Então, se "combinar" a frase "Separadamente, note que você não pode excluir objetos no primeiro para loop, porque neste caso o número total de objetos e sua numeração mudará após cada exclusão, e alguns nomes de objetos serão pulados" etexto deinit() função da última variante, tenho a segunda pergunta:
Pergunta. Por que não posso excluir objetos no primeiro para loop colocando a função ObjectDelete(Obj_Name) dentro da declaração if ?
Por que depois de cada eliminação "... O número total de objetos vai mudar"...? Porque neste caso, a variável Quant_Objects, que determina o número total de objetos, obtém seu valor igual a ObjectsTotal(), FORWARD the for loop?
P.S. Obrigado antecipadamente pela resposta, a fim de não desperdiçar o fórum.
Expandir o loop para trás e apagar o máximo que você puder
Eu o entendi corretamente? Você deve pensar na função deinit (e no laço em particular) da seguinte forma:
Estes dados são necessários para calcular a diferença entre as ordens de compra e venda.
vamos assumir que uma ordem de compra com o volume de 0,09 lotes e duas ordens de venda com o volume total de 0,11 lotes foram abertas, a diferença entre elas será de 0,09-0,11=-0,02, ou se possível a diferença entre seus valores.
Bem, então a função OrderLots.
Boa tarde, fiz um bloco para calcular posições mágicas de compra abertas, mas o problema é que se o bloco funciona em pares de moedas diferentes, então o bloco só produz resultados para um par de moedas (a última posição aberta). Como posso corrigir o código (sem mudar a magia) para que o bloco calcule para todos os pares de moedas?
Mudança:
Para:
Como substituir o stop loss em pips no EA, por um stop loss acima da última vela?
Reshetov:спасибо
извиняюсь за то что не в SRC
como inseri-lo aqui
Eu o entendi corretamente? Você deve pensar na função deinit (e no laço em particular) da seguinte forma:
Correto, neste caso removendo por exemplo 18 objetos, 19 torna-se seu lugar, 19=>18, ou seja, uma iteração inversa é obtida automaticamente. Use isto também para pedidos.
Além disso, como a lista de objetos e ordens são formalmente matrizes a partir de = 0, o índice máximo será um a menos do que o tamanho da matriz: