[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 749
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
Cavalheiros programadores. Poderia me ajudar, por favor?
A partir das variáveis de entrada.
externo bool UseHourTrade = True;
externo int FromHourTrade = 0;
externo int ToHourTrade = 23;
int start(){
if (UseHourTrade){
if (!(Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {
Comentário("Ainda não chegou a hora do comércio");
return(0);
}
}
Quero adicionar um segundo período de tempo quando o comércio deve ser feito com outras variáveis UseHourTrade2, FromHourTrade2, ToHourTrade2.
Por favor, me diga o que deve ser adicionado para iniciar a função. Eu tentei tantas coisas que não funcionam.
Quero agradecer antecipadamente a vocês. Eu não posso ajudar.
Algo parecido, acho eu.
SZY O botão de inserção de código "SRC" é desajeitado de usar, não é fácil de ler.
O enigma é este.
O indicador no final do código cria um objeto, que serve como uma bandeira para outro indicador.
Após criar o objeto, preciso "dormir" o indicador por 5 segundos, depois apagar o objeto e dormir por 60 segundos, após o que ele irá para a última tentativa e recomeçará do início com um novo tique.
Tentando fazer isso
Ela fica pendurada até parecer que o tempo está se esgotando.
Alguma dica de como fazer isso?
A lógica é esta - ambos os indicadores sabem o nome do objeto e um objeto adicional
o primeiro cria o objeto e não faz nada enquanto ele está lá - logo no início do início escrevemos a condição de saída (retorno;)
o segundo lê o objeto, faz seus negócios e estabelece um objeto adicional
o primeiro, sem ver o objeto principal, deixa de fazer nada e imediatamente encontra o segundo (objeto adicional), lê o tempo de criação do objeto (ele é inserido lá pelo segundo componente na descrição ao criar), conta a pausa necessária (60 segundos) e apaga todos os objetos - você pode continuar trabalhando ....
Não funciona em indicadores. Não entendo a razão de fazê-lo desta maneira. Aparentemente, um indicador de trabalho constante deve ser hipnotizante :)
A razão é que o indicador funciona no fluxo da interface, você não pode colocá-lo para dormir, porque se você pudesse "desacelerá-lo", naquele momento você não poderia pressionar nenhum botão no terminal, por exemplo "Nova ordem", ou fechar uma ordem, etc.
Uma outra sutileza neste tópico diz respeito ao testador. No terminal real, há vários fios, um fio de interface é criado separadamente para os Expert Advisors (por isso pode ser desacelerado sem consequências) e no testador, é o mesmo para todos, e todos para um :)
É por isso que a função Sleep() funciona de forma tão específica no modo teste. Se você colocar o fluxo do testador para dormir, então tudo deixará de funcionar, incluindo os Expert Advisors, indicadores e geração de carrapatos, é claro. Portanto, se eu entendi sua idéia corretamente, ela só pode ser testada em uma demonstração. Se você quiser retardar o fluxo da interface, você pode usar a seguinte função:
conta para baixo a pausa desejada (60 seg)
Leia atentamente, eu expliquei tudo, e não é necessário usar um objeto gráfico, você pode fazer com globals....
A razão é que o indicador funciona no fluxo de interface, não pode ser colocado para dormir...
Aí está... agora está mais leve, obrigado.
Homem, o que é demais. Não pode colocá-lo em um indicador, não pode colocá-lo para dormir... Vou tentar fazer isso com variáveis globais.
Leia atentamente, já expliquei tudo, e não é necessário usar um objeto gráfico, você pode fazer com globals....
... Vou tentar fazer com que funcione com variáveis globais.
Acho que Rustam insinuou isso corretamente, porque o congelamento de fios é a última coisa que você deve fazer, é uma medida extrema, e não apenas em MQL, mas em todas as linguagens de programação.