Como atrasar o tempo entre a colocação de pedidos com a EA?
Results 1 to 5 of 5

Thread: Como atrasar o tempo entre a colocação de pedidos com a EA?

  1. #1
    Olá pessoal,

    Estou experimentando um pouco com codificação no MQL4.

    Eu gostaria de abordar o seguinte: Nenhum pedido enviado por uma hora após o envio de outro pedido.

    Eu sei sobre o sono, o que seria bom até certo ponto, mas não se eu tiver dois pares de currencie, o mesmo EA habilitado para cada par. Portanto, não importa em qual par de moedas uma operação tenha sido executada, eu quero esperar uma hora.

    AFAIK isso só pode ser abordado com algum tipo de arquivo externo.
    Alguém tem alguma entrada para mim?

    Desde já, obrigado.

  2. #2
    Não tenho certeza porque você não pode usar o Sleep (). Mas talvez o problema seja que você está fazendo algo em um EA mais adequado a um script. Se você realmente precisar de um EA, faça uma simples aritmética de data, como: if (CurrentTime () gt; OrderOpenTime () PERIOD_1H * 60) SendOrder ();

  3. #3

    Eu sei sobre o sono, o que seria ótimo até certo ponto
    Você não deve usar Sleep () para coisas como essa, coisas como Sleep () são normalmente usadas quando você tem um thread de execução que nunca termina, passando a maior parte do tempo esperando em Sleep (). No MT4, um indior ou EA deve ser orientado a eventos (um tick recebido é o evento) e sua função start () será chamada uma vez para cada tick recebido e deve fazer apenas as coisas que precisam ser feitas neste tick particular e imediatamente retornar sem perder tempo. Se nada precisar ser feito no momento, ele deve retornar imediatamente. Isso deve levar você ao seguinte (ou similar) padrão de programação (para deixar mais claro, vou agora colocá-lo na perspectiva da função start ()): você [a função start ()] foi despertada porque um novo tique-taque chegou, você olha para o relógio para ver que horas são, você está programado para agir somente em uma nova abertura de barra se o relógio induzir que ainda não há uma nova barra, então não te interessa mais, você imediatamente deixa de trabalhar para não perder tempo de ninguém por mais tempo. Fim do seu dia, boa noite, retorno (0); Caso contrário: o tempo pode estar certo, esta é uma nova barra, vamos verificar quanto tempo passou desde o último pedido: menos de 60 minutos: não, obrigado, eu não estou autorizado a fazer nada tão cedo após o último ordem, boa noite, retorno (0); mais de uma hora se passou desde a última ordem, vamos fazer o cálculo para calcular o sinal [calcula ...] ok, vamos ver: sem sinal. nada para fazer. Me acorde no próximo tick, boa noite, volte (0); nós temos um sinal: abra uma negociação, ok, pronto. boa noite, retorno (0); infelizmente você [a função start ()] tem Alzheimer, então você não consegue se lembrar de nada de ontem depois de ter sido acordado, então você foi instruído a anotar certas coisas que você vai precisar amanhã em pequenos pedaços de papel [variáveis ​​estáticas ou globais] para poder tomar decisões quando for acordado da próxima vez: Você tem que anotar a hora em que viu pela última vez uma nova bar, então você pode saber que você já viu esta barra. você tem que anotar o tempo em que você abriu uma negociação para que você sempre saiba se uma hora já passou. (seu programador também poderia ter definido um procedimento [function] para você extrair essa informação do histórico de pedidos toda vez, então você não precisaria escrevê-la, isso depende do que o programador acha que seria mais efetivo) a casa inteira pode queimar [mt4 acidente] enquanto você não está acordado e todos os papéis se foram, exceto você (você é um andróide à prova de fogo com Alzheimer e um programa fixo) e os papéis que você foi programado para colocar no cofre à prova de fogo todas as noites [GlobalVariableSet () e GlobalVariableGet ()] porque o seu criador [programador] que sabia que desta vez acabaria por vir na sua sabedoria eterna, decidiu que eles são importantes demais para perder. Isso é essencialmente como funciona a programação MT4. .

  4. #4
    Uau! Ótimo post, 7bit.
    pequenos pedaços de papel [variáveis ​​estáticas ou globais]
    Eu acho que é onde eu vou olhar um pouco mais. Obrigado.

  5. #5
    ........ infelizmente você [a função start ()] tem Alzheimer, então você não consegue se lembrar de nada de ontem depois de ter sido acordado, então você foi instruído a anotar certas coisas que você vai precisar amanhã pedaços de papel [variáveis ​​estáticas ou globais] para poder tomar decisões quando você é acordado na próxima vez ...................
    lol ... bom um
    (esperando que ele não leve para o lado pessoal)

Permissões de Publicação

  • Não pode publicar novos tópicos
  • Não pode publicar respostas
  • Não pode publicar anexos
  • Não pode editar as suas publicações
  •  
  • Código BB está Ativo
  • Smilies estão Ativos
  • Código [IMG] está Ativo
  • Código [VIDEO] está Ativo
  • Código HTML está Desligado
O site da tradingintuitivo utiliza cookies
O site da tradingintuitivo utiliza cookies, alguns já foram definidos. Pode ler sobre a nossa utilização de cookies aqui. Por favor, clique no botão à direita para aceitar os nossos cookies. Se continuar a usar o site da tradingintuitivo, vamos supor que aceita os nossos cookies.