[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 137
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
No momento, a tarefa é a seguinte: fastMa cruzou a slowMa para cima... por isso, estamos procurando onde comprar. Então esperamos até que o preço, ou seja, Ask (já que consideramos comprar) atinja fastMa ( bem, acho que não haverá valor exato, precisamos de +- algum desvio, e isto é alterado por i_thresholdFromMa) e assim que o preço atingir fastMa +- i_thresholdFromMa o Consultor Especialista deverá configurar BUYSTOP em (fastMa + buyHear * pt).
O que eu inventei não funciona em um terminal e nem sempre funciona em outro. Algo está errado em geral.
A última variante da função buyHear aqui:
Aqui estão os parâmetros de entrada:Os erros podem ser vistos na captura de tela (em OrderSend() o preço é alimentado acima da varinha vermelha, e a ordem como vista na captura de tela está abaixo....):
Está fora há alguns dias... Estou me perguntando - os mesmos parâmetros têm as varinhas jogadas na tabela que as varinhas usadas nos cálculos? Talvez seja lá que o cão está enterrado?
(Ainda não tive tempo de mergulhar no código e desmontá-lo).
Eu faria uma função, por exemplo:
e chamá-lo para obter os parâmetros
Olá, por favor, você poderia aconselhar! Um sinal indicador para comprar foi acionado, abro um pedido somente depois de confirmar as duas velas seguintes para cima.
Olá, por favor, você poderia aconselhar! Um sinal indicador para comprar foi acionado, abro um pedido somente depois de confirmar as duas velas seguintes para cima.
Portanto, verifique se as duas últimas velas estão acesas e a condição para abrir uma ordem há duas barras ao mesmo tempo.
Portanto, verifique se os dois últimos castiçais estão em pé e a condição para abrir um pedido duas barras de volta ao mesmo tempo.
como faço isso?
E se assim for, o sinal é acionado aguardando confirmação, somente após uma barra subir ou descer 2 barras.
Precisamos dela para lembrar a barra no sinal, a barra após o sinal, compará-las se as duas forem ascendentes ou descendentes, então .....
como faço isso?
Se o sinal funcionou, esperamos pela confirmação, mas depois que a barra sobe ou desce.
Deve lembrar a barra no sinal, a barra após o sinal, compará-las se as duas forem ascendentes ou descendentes, então .....
como faço isso?
Se o sinal funcionou, esperamos pela confirmação, mas depois que a barra sobe ou desce.
Deve lembrar a barra no sinal, a barra após o sinal, compará-las se as duas forem ascendentes ou descendentes, então .....
Estou escrevendo um simples Expert Advisor e me deparo com uma série de problemas.
A condição é
Lembro-me do preço de fechamento da barra atual e o introduzo na variável Preço inicial se a 4ª barra anterior estava na barra deslizante.
Se a condição for satisfeita, então desenhe um ícone mostrando o preço de fechamento da barra, ou seja, Startprice.
O que eu tenho é que o ícone é desenhado, mas apenas uma vez, enquanto eu preciso dele todas as vezes.
O preço de fechamento da barra não coincide com o preço inicial a 0,00001. Por que e como eu o conserto?
O arredondamento e o corte de 5 dígitos não ajudaram(
No registro usando a impressão chamo o valor Startprice, mostra o número apenas até 4 dígitos e menos.
Como obter a mesma precisão que na janela de dados do terminal?
Este problema do ponto decimal também se aplica ao próprio controle deslizante. Se você chamar seus valores via impressão, você não pode obter mais de 4 dígitos no log.
Use DoubleToStr(número, Dígitos) para a saída. Em vez de Dígitos você pode escrever a precisão desejada. Adicione ao nome do ícone a hora da barra na qual você está definindo o ícone.
se assim for
não está funcionando, está culpando '=' - tipos incompatíveis C:\sve.mq4 (34, 14)
Como escrevê-lo corretamente?
Obrigado pela resposta, há uma semana que estou lutando com isso )
Use DoubleToStr(número, Dígitos). Você pode escrever a precisão que quiser, em vez de Dígitos. Adicione o tempo de barra ao nome do ícone onde você está definindo o ícone.
mas para a saída, entendo que a impressora imprime apenas 4 ou menos dígitos.
então se imprimir (DoubleToStr(Startprice,5)); // imprimir Startprice
dá 5.
Mas aqui está como adicionar o tempo do bar.
Esta linha não acrescenta o tempo da barra?