[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 589
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
Porque estas são variáveis locais que já na segunda carrapato de loja de lixo em vez de bilhete
Muito obrigado! Pensei nisso honestamente o tempo todo!
Ver trailer. Coloque seu conteúdo na pasta Experts do terminal. Selecione o cronograma do instrumento em que você está interessado e coloque-o no quadro do Expert Advisor,
Definir parâmetros para abrir uma ordem em variáveis externas MetaTrader:
Em seguida, você espera pela formação de uma nova barra no prazo do instrumento que você selecionou.
Quando o Expert Advisor abre um pedido do mercado, compare o tempo de sua abertura com o tempo de abertura de um novo bar.
Roman, como prometido, quero lhe mostrar o que acontece na prática quando se trabalha com o Consultor Especialista na "abertura na abertura". Primeiro, a EA é acionada no próximo tick após colocá-la no gráfico de 1 hora e abre uma segunda negociação na abertura da próxima vela. Por que, ainda não consigo entender. Em segundo lugar, o preço de abertura do negócio não coincide com o preço de abertura de uma vela nova:
2012.02.24,12:00,1.3392,1.3405,1.3383,1.3387,768 - a vela se abre em 1.3392 e o pedido é acionado em 1.3390. Especifico um deslize de 1 ponto nos ajustes. Se eu entrasse 0 pips, a EA não acionaria de forma alguma.
Eu anexei o registro. O importante para mim ainda é que a ordem de abertura coincidiu com o preço de abertura do candelabro.
Olá, senhores. Eu gostaria de um esclarecimento.
Estou correto para entender que se no código os comandos OrderDelete e OrderSend são escritos sequencialmente e se o EA recebe um sinal para executar ambos os comandos (retirada + definição) no tick #1, então:
- estes dois comandos não podem ser executados no mesmo tick # 1, e sua execução é esticada por pelo menos 3 ticks, e
- no tick #1 o comando OrderDelete é emitido;
- após o OrderDelete ter sido submetido, somente com o próximo tick #2 o resultado é devolvido, e somente agora com o mesmo tick #2 o comando OrderSend pode ser submetido;
- o resultado do comando OrderSend só será conhecido no tick #3.
É este o caso?
E é verdade que não há possibilidade de enviar dois comandos para a MT no mesmo carrapato?
Estou escrevendo um EA em MT4.
Obrigado.
Olá, senhores. Eu gostaria de um esclarecimento.
Estou correto para entender que se no código os comandos OrderDelete e OrderSend são escritos sequencialmente e se o EA recebe um sinal para executar ambos os comandos (retirada + definição) no tick #1, então:
- estes dois comandos não podem ser executados no mesmo tick # 1, e sua execução é esticada por pelo menos 3 ticks, e
- no tick #1 o comando OrderDelete é emitido;
- após o OrderDelete ter sido submetido, somente com o próximo tick #2 o resultado é devolvido, e somente agora com o mesmo tick #2 o comando OrderSend pode ser submetido;
- o resultado do comando OrderSend só será conhecido no tick #3.
É este o caso?
E é verdade que não há possibilidade de enviar dois comandos para a MT no mesmo carrapato?
Estou escrevendo um EA em MT4.
Obrigado.
Um tique é uma nova citação. E não há conexão entre os comandos OrderDelete e OrderSend
Se houver novidades e deslizes, então, quando uma simples OrderSend for executada, uma dúzia de tiquetaques terá passado. E se o mercado estiver em um flat noturno, ambos os comandos podem ser executados dentro de um tick
Também pode haver uma colisão quando, por exemplo, uma ordem aciona uma perda de estoque e você tenta abrir/fechar outra ordem com o mesmo tique. Então o servidor pode, em alguns casos, não permitir que você execute a operação.
Ou seja, a resposta às suas perguntas é não, não é))
Um tique é uma nova citação. E não há conexão com OrderDelete e OrderSend comando tempo de execução
Se houver novidades e deslizes, no momento em que um simples OrderSend é executado, uma dúzia de tiquetaques já passaram. E se o mercado estiver em um flat noturno, então ambos os comandos podem ser executados dentro de um único tick.
MT, tanto quanto sei, puxa informações do servidor via ticking (e o servidor, por sua vez, dá respostas sobre comandos simultaneamente com o envio de novos ticks, otimiza os custos por tempo). E antes que um novo tique chegue, nada se sabe. Era isso que eu queria dizer. Mas talvez eu esteja errado nessa suposição? A pergunta tem mais a ver com a segunda opção que você mencionou, quando o tique é lento, em vez de uma dúzia de carrapatos.
Entendi corretamente, portanto, que obter uma resposta no comando nº 1 não é um pré-requisito para ir ao comando nº 2 e processá-lo completamente?
A resposta do comando é a parte "não essencial" do comando? Sua presença não é crítica para passar para o próximo comando?
Entramos em uma discussão com alsu abaixo, e acho que assumi o mesmo que ele: que ter uma resposta é fundamental. Você escreve que dois comandos podem ser executados em um único tique. Então as informações do servidor vêm sem nenhuma conexão com o fluxo de cotação?
Obrigado.
Tudo depende da rapidez com que os carrapatos andam. Geralmente as funções, que retornam um valor, OrderDelete, OrderSend etc. não são executadas de forma assíncrona, ou seja, até que toda a operação seja passada e um código de erro seja retornado (ou NO_ERROR em caso de sucesso), o próximo operador não será executado. Outra coisa é que vários carrapatos podem funcionar durante este tempo, mas não serão processados pela função start().
Também pode haver uma colisão quando, por exemplo, uma ordem aciona uma perda de estoque e você tenta abrir/fechar outra ordem com o mesmo tique. Então o servidor pode, em alguns casos, não permitir que você execute a operação.
Isto é, a resposta a suas perguntas é não, não é))
Como não é assim, se se revela exatamente "assim", de acordo com suas próprias palavras? )) Ou estou entendendo algo errado novamente? Em resposta você escreve que as funções são executadas de tal forma que o próximo operador é executado somente após o código de erro do operador anterior ser processado. Acho que era isso que eu queria dizer: que "dois comandos não podem ser executados no mesmo tick #1", porque a resposta - aquela resposta ou código de erro - aparece mais cedo com o novo tick. Ou não é assim? Ou as respostas de comando vão em um fluxo de tempo separado, sem relação com o fluxo de cotação? Talvez meu erro tenha sido assumir que os resultados da execução do comando são devolvidos com uma nova citação?
Naturalmente, eu estava me referindo principalmente à situação em que os carrapatos são lentos.
A MT, pelo que entendi, retira informações do servidor potikovo (e o servidor, por sua vez, dá respostas de comando ao mesmo tempo em que envia novos tiquetaques, o que otimiza os custos de tempo). E antes que um novo tique chegue, nada se sabe. Era isso que eu queria dizer. Mas talvez eu esteja errado nessa suposição? A pergunta tem mais a ver com a segunda opção que você mencionou, quando o tique é lento, em vez de uma dúzia de carrapatos.
Entendi corretamente, portanto, que obter uma resposta no comando nº 1 não é um pré-requisito para ir ao comando nº 2 e processá-lo completamente?
A resposta do comando é a parte "não essencial" do comando? Sua presença não é crítica para passar para o próximo comando?
Entramos em uma discussão com alsu abaixo, e acho que assumi o mesmo que ele: que ter uma resposta é fundamental. Você escreve que dois comandos podem ser executados em um único tique. Então as informações do servidor vêm sem nenhuma conexão com o fluxo de cotação?
Obrigado.
Olá. Eu não sou nada bom em programação. Eu não tenho tanta experiência em codificação, portanto, por favor, ajude-me a adicionar posições de fechamento porStopLoss e TrailingStop ao meu código. O Expert Advisor não é meu, mas a estratégia não é ruim, então a tentativa e o erro de refazer a EA para mim - e para ser honesto, eu já estou estourando minha mente, e não há muito tempo - trabalho. Já experimentei e testei e, francamente, não tenho tempo a perder - tenho que trabalhar. E aqui está o que eu faço com ele: