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á Mladen, como sempre, u rock!
TerranceUse Close[0], nesse caso. Quase todas as EA estão usando Close para esse fim, então eu acho que funcionará para você também
...
Se sua EA é executada apenas quando a barra começa, pode ser por algumas razões :
Notei que minha EA não funcionava entre a mudança de preço no período M1. Eu sei que a EA será executada a cada tic-tac que entrar.
Mas eu vi que foi executado a cada novo bar que começou.
Estou me entendendo mal?
Existe a maneira como a força ea ativa cada carrapato que entra?
Eu tento controlar meus lucros e perdas usando lucros e perdas não em pips. Quando ocorre um pico, a EA não fecha a ordem quando chega a estabelecer lucros ou perdas até que ocorra uma nova barra.
Qualquer pessoa me ajuda a resolver este problema.
Eu sou novo na codificação da EA.
Agradecemos antecipadamente.Obrigado, mladen.
Vou tentar sua sugestão.
Saudações Deuses codificadores,
Preciso de assistência para encontrar uma função de EA que controle a execução do envio de uma ordem, pois uma ordem não pode ser aberta se já existir uma ordem pelo mesmo preço.
lógica simples: se a ordem abre preço e tipo de ordem = uma ordem existente abre preço e tipo de ordem, então saia e procure o próximo critério de entrada
Além disso, preciso de uma função que impeça a execução de uma ordem se ela estiver a x pips de um preço já existente.
lógica simples: se o preço e o tipo de ordem aberta for < último preço e tipo de ordem aberta + x pips, então saia e procure pelo próximo critério de entrada
Obrigado,
Pip
...
Tente estas 2 funçõesAmbos retornam verdadeiros se o preço for igual ou se a distância do preço de algumas ordens atualmente abertas estiver com a distância especificada
{
for (int i=OrdersTotal()-1; i>=0 ; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderMagicNumber()!=magicNumber) continue;
if (CompareDouble(OrderOpenPrice(),price)) return(true);
}
return(false);
}
//
//
//
//
//
bool existsAtApproximatePrice(int magicNumber, double price, double distance)
{
for (int i=OrdersTotal()-1; i>=0 ; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderMagicNumber()!=magicNumber) continue;
if (MathAbs(OrderOpenPrice()-price)< distance) return(true);
}
return(false);
}
//
//
//
//
//
bool CompareDouble(double val1, double val2)
{
return(NormalizeDouble(val1,Digits)==NormalizeDouble(val2,Digits));
}
Saudações Deuses codificadores,
Preciso de assistência para encontrar uma função de EA que controle a execução do envio de uma ordem, pois uma ordem não pode ser aberta se já existir uma ordem pelo mesmo preço.
lógica simples: se a ordem abre preço e tipo de ordem = uma ordem existente abre preço e tipo de ordem, então saia e procure o próximo critério de entrada
Além disso, preciso de uma função que impeça a execução de uma ordem se ela estiver a x pips de um preço já existente.
lógica simples: se o preço e o tipo de ordem aberta for < último preço e tipo de ordem aberta + x pips, então saia e procure pelo próximo critério de entrada
Obrigado,
PipPodem ser algumas razões, mas as mais comuns são :
Hi!
Obrigado pela ajuda!
Então, se eu não me desentendo, se eu inserir TakeProfit e StopLoss em OrderSend como "regras" Exsternal, esta EA só funciona bem em corretores não pertencentes à CEC?
desculpe pelo meu inglês
...
Sim
Com ECN/STP como corretores você tem que abrir um pedido com stop loss e/ou ter lucro definido como 0 e quando o pedido já estiver aberto, somente então você pode modificar o stop loss e/ou ter lucro
Hi!
Obrigado pela ajuda!
Então, se eu não me desentendi, se eu inserir TakeProfit e StopLoss em OrderSend como "regras" Exsternal, esta EA só funciona bem em corretores não pertencentes à CEC?
desculpe pelo meu inglêsSimCom ECN/STP como corretores você tem que abrir um pedido com stop loss e/ou ter lucro definido como 0 e quando o pedido já estiver aberto, somente então você pode modificar o stop loss e/ou ter lucro
Obrigado novamente, então... como posso consertar isso? desculpe
...
Como eu disse, você tem que fazer isso em 2 etapas :
Portanto, o código tem que ser alterado para fazer o trabalho em 2 etapas, em vez disso, em uma
Obrigado novamente, então... como posso consertar isso? desculpe
Novo na codificação
Olá a todos,
Sou novo na codificação e tenho aprendido lentamente o idioma e a sintaxe, mas tenho me perguntado como o MT4 atualiza as variáveis.
Eu tentei codificar e simples EA que exibe o maior lucro que um comércio atualmente aberto teve e só deveria atualizar se uma nova alta for atingida, mas o que está acontecendo é que a quantidade está se movendo para baixo e para cima como o lucro faz, eu não consigo ver meu erro na lógica do código.
Eu verifico para ter certeza de que o comércio selecionado ainda está aberto.
t_CloseTime=OrderCloseTime(); //retorna 0 se o pedido não for fechado
if(t_CloseTime==0) //Order is closed if not zero.
{
if(OrderProfit() > LastProfitHigh) LastProfitHigh=OrderProfit();
if(LastProfitHigh >= MinProfit && MinProfitReached===falso) MinProfitReached=verdadeiro;
}//endif
Então se a lógica estiver correta, por que esta variável "LastProfitHigh" sobe e desce....
Obrigado por sua ajuda.