Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1076
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Olá. Você poderia me ajudar, se tiver tempo Pergunta é esta, preciso que a EA abra uma ordem em cada sinal de dois indicadores, (eles dão um sinal quando estão em certa combinação) em uma palavra, deve haver várias ordens para comprar ou vender no mercado, de acordo com os sinais dos indicadores. Mas eu tenho apenas uma ordem no mercado e até que feche a próxima não abre...... É uma questão de contar as ordens? Por favor, me dê uma dica. Se você precisar, posso enviar-lhe o código.
Obrigado de antemão!
remover a condição "se (OrderTotal()==0)....". - Eles apenas dizem: procurar por entradas e abrir novas ordens somente quando não há nenhuma ordem.
Se você não quiser abrir um grande pacote de novas encomendas sem tal condição, você precisa criar uma condição adicional. E isso depende de sua estratégia: não abrir um novo no tempo T do anterior, ou controlar as barras ou manter distâncias em pips entre as ordens...
Olá. Começarei por dizer muito obrigado por ajudar os novatos. Eu não seria capaz de responder perguntas elementares por mim mesmo dia após dia a um novato e depois a outro.
E a questão é esta:
Eu pensava antes, quando o mql4 era um pouco diferente, que qualquer processamento de pedidos, como abertura/fecho/modificação após possível erro, deveria ser interrompido pela função return(0). Por causa disso, se eu tivesse que fechar vários pedidos abertos ao preço atual, o testador os fecharia um a um em cada nova barra e isso provavelmente distorceria a imagem real (bastante dramática, às vezes) no testador (para cada carrapato de uma moldura). A nova EA tem que fechar várias ordens exatamente pelo sinal e parcialmente.
Pergunta: É possível processar todos eles (fechá-los parcialmente) em um loop, sem interromper o loop a cada vez? Será que o testador será capaz de lidar com isso? Ou seja, será capaz de fechar parcialmente todos eles em um único bar?
Olá. Começarei por dizer muito obrigado por ajudar os novatos. Eu não seria capaz de responder perguntas elementares por mim mesmo dia após dia a um novato e depois a outro.
E a questão é esta:
Eu pensava antes, quando o mql4 era um pouco diferente, que qualquer processamento de pedidos, como abertura/fecho/modificação após possível erro, deveria ser interrompido pela função return(0). Por causa disso, se eu tivesse que fechar vários pedidos abertos ao preço atual, o testador os fecharia um a um em cada nova barra e isso provavelmente distorceria a imagem real (bastante dramática, às vezes) no testador (para cada carrapato de uma moldura). A nova EA tem que fechar várias ordens exatamente pelo sinal e parcialmente.
Pergunta: É possível processar todos eles (fechá-los parcialmente) em um loop, sem interromper o loop a cada vez? Será que o testador será capaz de lidar com isso? Ou seja, será capaz de fechar parcialmente todos eles em um único bar?
Ele pode fazê-lo sem problemas em uma pequena condição. O código deve ser escrito corretamente.
Se há 2 funções (possivelmente sobrecarregadas), por exemplo, int Funkz(int a) int Funkz(int a, int b, int w), e então o programa é compilado, qual função funcionará mais rapidamente, a primeira considerando que tem um argumento ou não importa, porque o programa já está construído e o que está descrito no corpo, ou afinal há um pequeno efeito porque os argumentos da função representam uma pilha para a qual a memória está reservada?
Se você tem duas funções do mesmo nome com número diferente de argumentos, não se trata de qual delas será chamada mais rapidamente. Quando você chama uma função, você não escreve Funkz(), você especifica o número de argumentos.
A questão é se o compilador irá mastigar funções com o mesmo nome.
Como eu entendo, não estamos falando do código, mas do arquivo compilado?
Se você tem duas funções do mesmo nome com número diferente de argumentos, não se trata de qual delas será chamada mais rapidamente. Quando você chama uma função, você não escreve Funkz(), você especifica o número de argumentos.
A questão é se o compilador irá mastigar funções com o mesmo nome.
Você quer dizer o arquivo compilado, não o código?
E se as funções são diferentes, então qual funcionará mais rápido com menos ou mais argumentos? Acho que a sobrecarga com números diferentes também transporta uma carga ou é apenas por conveniência?
Por favor, me diga como escrever #define ?
Eu escrevo assim
#define my_POS cst_Position.my_Position
Se eu mudar esta construção para def - tudo funciona.
Mas quando eu apenas escrevo meu_POS. a lista de funções não aparecerá depois de um ponto.
O mesmo para
#define pos_DATA cst_Position.getPositionData
não há pistas após o pos_DATA(.
O que eu estou fazendo de errado?
Olá, caros especialistas!
Por favor, ajude-me a resolver este problema.
Ao testar qualquer par, tudo funciona corretamente, mas ao trabalhar com outras moedas, as ordens pendentes não são colocadas (tenho que expô-las à mão) e não são fechadas após o acionamento do Take Profit.
Favor aconselhar como alterar o código, se possível:
Muito obrigado de antemão
Olá, caros especialistas!
Por favor, ajude-me a resolver este problema.
...Por favor, insira o código corretamente: