Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 768
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
Bem, meu horário local é 1 hora a mais do que o do servidor.
Então, você pode explicar o que há de confuso sobre esses valores?
Não há nada de confuso sobre estes valores, eles são corretos, mas não é disso que estamos falando.
O problema com a sexta-feira em particular não é relevante se sua hora local for X horas a mais do que a hora do corretor.
Mas imagine se em seu computador local não houvesse +1, mas -1 hora de diferença com o corretor.
E há esta simples condição:
Neste caso:
1. o corretor terá o primeiro tique da sexta-feira, por exemplo, o tique de hoje, que tem um horário de 2014.11.07 00:00
2. o número de segundos decorridos de01.01.1970 00:00 até o tick em questão, ou seja,2014.11.07 00: 00
3. levamos o número de segundos decorridos de 01.01.1970 00:00 até06.11.2014 21:30 (é a data de ontem, porque tomamos o horário do PC local, que no momento do tick não é sexta-feira, mas quinta-feira, que é o 6º dia, ou, para ser mais preciso, 2014.11.06 23:00, a diferença de 1 hora)
Voila, o número de segundos no ponto 2 é maior do que no ponto 3.
Isto significa que o primeiro tick de sexta-feira executará a impressão especificada no código, embora se a funçãoStringToTime() tirar a data do servidor do corretor, então tudo funcionaria como planejado, a impressão só apareceria na sexta-feira após o horário passar das21h30min.
Olá.
Há uma tarefa como esta. (não pode ser anexado a um carrapato)
Se uma ordem pendente desencadear {então...}.
No meu EA, uso Terminal.mqh para calcular pedidos.
Terminal // Mas_Tip[0] abrir Comprar
// se o número de pedidos de comprativer aumentado em 1
se (Mas_Tip[0]+1)
{
função
}
Tudo funciona. Mas isso aciona em cada próximo tique.
Como anexar este caso a um carrapato? E depois compare o valor no tick anterior e no tick atual.
Você pode traduzir a linha em destaque para nosso idioma? O que deve ser e o que você recebe ao executar esta linha...
// se o número de pedidos decompra tiver aumentado em 1, então...
{
função, por exemplo, abre ou fecha outras ordens...
}
Não tem que ser assimse (Mas_Tip[0]+1) pudermos fazerse (Mas_Tip[0] >Mas_Tip[1]) // se houver mais pedidos de compra do que Célula. Abra um pendente, por exemplo.
A questão é que no próximo tick estes dados são novamente verdadeiros.
// se o número de pedidos decompra tiver aumentado em 1, então...
{
função, por exemplo, abre ou fecha outras ordens...
}
se (Mas_Tip[0]+1)
Nos parênteses de se deve haver um bool, ou seja, verdadeiro ou falso.
Aqui é obviamente intrigante. Isso é um número inteiro.
Naturalmente, verdadeiro é 1 e falso é 0 (se não estou enganado). Mas ainda não está certo. O que aMas_Tip[0] retorna?
se (Mas_Tip[0]+1)
entre parênteses de se deve ser um bool, ou seja, verdadeiro ou falso.
Mas aqui é obviamente intrigante. Isso é um número inteiro.
Naturalmente, verdadeiro é 1 e falso é 0 (se não estou enganado). Mas ainda não está certo. O que aMas_Tip[0] retorna?
Número de ordens de compra em aberto.
// se o número de pedidos decompra tiver aumentado em 1, então...
{
função, por exemplo, abre ou fecha outras ordens...
}
Não, isso é o que você quer. Na verdade, não é. Há algum valor na matriz Mas_Tip[0], e se for maior que zero, a condição if(Mas_Tip[0]) será verdadeira. E se acrescentarmos 1 a este valor, será sempre verdade, pois o número de ordens em aberto não pode ser igual a -1.
Não, é assim que você quer. Na verdade, não é. Há algum valor na matriz Mas_Tip[0] e se for maior que zero, a condição if(Mas_Tip[0]) já será verdadeira. E se acrescentarmos 1 a este valor, será sempre verdade, pois o número de ordens em aberto não pode ser igual a -1.
Eu tentei fazer desta maneira
}
Acontece que se trata de um evento único.
se (Mas_Tip[0]+1)
entre parênteses de se deve ser um bool, ou seja, verdadeiro ou falso.
Mas aqui é obviamente intrigante. Isso é um número inteiro.
Naturalmente, verdadeiro é 1 e falso é 0 (se não estou enganado). Mas ainda não está certo. O que aMas_Tip[0] retorna?
falso é 0 e verdadeiro se não for 0.
Experimente esta linha
O compilador pode advertir sobre uma possível perda de precisão, mas ele funcionará.você pode descartar aMas_Tip[0]
Como obter um evento. Uma compra foi aberta.
você pode descartar aMas_Tip[0]
Como obter um evento. Uma compra foi aberta.