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
WHRoeder, Este código parece tão simples mas eu não consigo entender como ele funciona, a afirmação não será sempre verdadeira se ele fizer o tempo0 igual ao tempo[0] toda vez que o tempo0 for igual ao tempo[0]? Não dizer que não funciona, mas simplesmente não entendo como funciona estruturado dessa maneira.
1º tique: Time0 não é igual a Time[0 ] então o retorno não é executado,Time0 é definido para Time[0] (hora de início da barra atual) o resto da função de início é executada.
2º tique e subsequentes: se Time0 ainda for igual ao tempo de início da barra de corrente, então ainda estamos na mesma barra, o retorno é executado e a função de início é abandonada. Se Time0 não for igual ao tempo de início da barra atual, então estamos em uma nova barra, o retorno não é executado, Time0 é definido para Time[0] (tempo de início da nova barra atual) o restante da função de início é executado.
Como eu faria um contador onde, se um pedido pendente for feito e não for acionado com uma quantidade x de barras, então ele será cancelado? Tudo que eu posso fazer é colocar um contador para contar cada vez que uma nova barra se forma e se a quantidade de barras contadas == as barras especificadas permitidas antes de pedidos pendentes serem cancelados. O contador de barras é reinicializado toda vez que uma nova ordem pendente é aberta? Como isso soa?
Eu criaria uma função que verifica se há ordens pendentes, parece ver quando cada ordem foi aberta, verifica quanto tempo passou e, se for mais longo do que o tempo limite, fecha a ordem.
Eu quero fazer uma função que escaneia eurusd, usdchf, gbpusd, usdjpy em 1hr tf. Volta para a última vela de 06:00 gmt que registra a abertura, volta mais 24 barras para os registros de vela de 06:00 gmt que se abrem e registra a faixa de 6gmt -6gmt para cada par. Depois compara o intervalo de 6gmt - 6gmt de todos os pares e retorna aquele que é o mais alto. É possível que uma ea possa fazer isso, desde que esteja anexada a uma tabela de tempo?
Com todos os problemas como este antes de pensar em código, você tem que descobrir sua solução primeiro ... IMO. Criar um diagrama de fluxo ou escrever algum pseudo-código . . obtenha uma solução que faça sentido primeiro . . depois olhe para o código.
Para responder sua última pergunta, sim, é possível fazer isso, por exemplo, para obter o valor aberto para uma vela em particular de um par diferente daquele que a EA está no eu usaria...
uma vez que você tenha seus valores para a raiva dos 4 pares, você pode facilmente determinar o maior usando algo como isto:
. . ou você poderia colocar os valores em uma matriz e usar o ArraySort . . geralmente há mais de uma maneira de fazer qualquer coisa, primeiro você tem que ter um plano de como você vai resolver seu problema.
EDIT: tenha em mente que algumas dessas coisas não funcionarão corretamente com o testador de estratégia.
Muito bem, esta é minha própria tentativa de escrever algum código que irá escanear o gráfico do eurusd 1hr até encontrar a última barra das 06:00, registrar que está aberta, voltar atrás mais 24 barras para registrar a abertura daquela barra (início das 06:00 horas do dia) e obter uma faixa aberta a partir delas 2 barras selecionadas.
Surpresa, não funciona. Lol ------> http://myfacewhen.com/307/
Diga-me o que eu tenho f*'d up. Ou será que me enganei no caminho? Eu tentei hehe
Um problema pontuado . . 24 horas antes de b é b+24 . . barras contam para cima da barra atual ( 0 ) para a esquerda
Bem feito por acrescentar os comentários, muito boa prática para entrar em . . . . :-)
Um problema pontuado . . 24 horas antes de b é b+24 . . barras contam para cima da barra atual ( 0 ) para a esquerda
Bem feito por acrescentar os comentários, muito boa prática para entrar em . . . . :-)
Uau, bem visto que me demoraria um pouco para descobrir isso rs. Não posso acreditar que acertei tudo isso - esse erro bobo. Sinto que estou chegando a algum lugar agora. Sim, eu acrescentei os comentários para me ajudar a acompanhar o que estou fazendo e fazer é super fácil para vocês verem o que estou tentando fazer. Agora eu vou conseguir comparar os 4 pares e cuspir o de maior valor. Obrigado RaptorUK
Muito bem, então transformei todas as variáveis em matrizes e fiz as verificações para cada uma delas. Agora parou de funcionar. Não é possível ter múltiplos para loops como este?
Sim, você pode, sem problema, mas não use um array no índice de loop, você pode usar b cada vez que quiser. Ele é zerado para 0 para cada um dos loops, então reutilizá-lo não é um problema. para que você realmente PRECISA usar um array ? não é apenas para os valores do range ?