Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1802
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
Dobro. Deixe-me colocá-lo em termos russos simples.
Você vai pescar.
Ou você pode levar tudo o que precisa da despensa (OnInit) imediatamente, pescar sem correr e, quando chegar em casa, colocar tudo na despensa e no refrigerador (OnDeinit).
Você deve ter sabido disso aqui no fórum. Você só precisa ouvir e ouvir o que lhe é dito às vezes.
Caso contrário, você recebe uma pergunta, recebe uma resposta, diz "besteira" e faz o que você pensa.
Você deve primeiro pensar na pergunta, fazer perguntas e depois começar a editar.
Você sabe que a coisa mais simples na programação é imprimir código? E a maior parte do desenvolvimento é pensar sobre a lógica.
Essa é uma analogia ridícula. Nesse caso, vamos tornar todas as variáveis, objetos de classe etc. globais e não criá-los sob demanda ou talvez um objeto gráfico seja algo mais (certamente não uma cana de pesca ou uma rede :)) ? Portanto, minha abordagem é bastante racional e justificada, é apenas que o mql ou metatrader faz asneira.
Desta forma, o sinal será perdido
Ou estou sendo obtuso, ou não há condição se houver ordens em aberto E há um sinal e a barra já é nova.
Se os sinais forem longos, mais do que uma barra múltipla, também funcionará no primeiro tick da barra.
A única pergunta é quando abrir uma ordem, quando o sinal aparece ou no primeiro tique da próxima barra.Ou estou sendo obtuso, ou não há condição se houver ordens em aberto E há um sinal e a barra já é nova.
Se os sinais forem longos, mais do que uma barra múltipla, também funcionará no primeiro tick da barra.
A única questão é quando a ordem deve ser aberta, no momento do sinal ou no primeiro tique da próxima barra.O código agora é parecido com este:
Antes de abrir, verifique se há uma posição aberta nesta vela. Caso contrário, abra-a.
Em princípio, uma ordem aberta normalmente fecharia sobre os carrapatos de um bar já aberto. A MakarFX e a Artem observaram corretamente. Portanto, a coisa certa a se fazer seria fazer isto:
Em princípio, uma ordem aberta normalmente fecharia sobre os carrapatos de um bar já aberto. A MakarFX e a Artem observaram corretamente. Portanto, a coisa certa a fazer é isto:
A Artem tem razão, deveria ser assim
Você está certo, Artem, deveria ser assim.
O resultado será o mesmo aqui. Somente o código é mais complicado. Você está escrevendo o mesmo código em duas funções diferentes. E ele será menos legível. Embora todos escrevam como quiser ou se sintam à vontade...
Há muita coisa acontecendo aqui.
Uma posição aberta tem um tempo de abertura. O tempo de abertura pode ser comparado ao tempo de uma vela - para descobrir se o tempo de abertura da posição está dentro da vela (e esta é a vela atual).
E por que você sempre descobre o número de pedidos em todos os exemplos? E se não houver pedidos, então você os abre. Isto limita muito as possibilidades.
Geralmente, devemos nos concentrar apenas no número de pedidos/posições para uma direção estratégica muito estreita.
O resultado aqui será o mesmo. Somente o código é mais confuso. Você está escrevendo o mesmo código em duas funções diferentes. E ele será menos legível. Embora todos escrevam como quiser ou se sintam à vontade...
Seu código
(Um bar foi aberto e nenhum pedido foi colocado)
verificado para um sinal - sem sinal
... esperamos pelo próximo bar.
Você repetiu o mesmo erro da última vez
P.S.
isto é
deve ser realizado após a abertura do pedidoVocê está certo, Artem, deveria ser assim
Em seu código, se uma posição estiver aberta, outra não será aberta pelo sinal oposto. Isto é, antes de tudo, quando o sinal chega, é preciso verificar se existe uma posição oposta e fechá-la.
Mas, mais uma vez, tudo isso limita muito as possibilidades de melhorar as estratégias.
Devemos evitar a vinculação à presença/ausência de ordens (especialmente em quatro - ordens pendentes (o que é correto) e posições (o que é errado))).
Não, é correto e necessário ter em mãos o número de pedidos e posições de acordo com seus tipos. Mas é errado confiar na ausência de qualquer ordem apenas para os sinais.
Em geral, a maneira correta é ter funções para contar ordens e posições (uma função que preenche a estrutura quando o número de ordens e posições muda), funções para abrir/fechar posições, funções para definir ordens e funções de alarme. Funções de várias redes de arrasto e obtenção de dados a partir de indicadores. Além disso - capacidade de comparar os dados de uma posição (aberta ou fechada) com alguns valores.
Qualquer estratégia pode ser construída a partir deste conjunto.