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
ordem de suspensão
Olá pessoal,
com respeito à programação na MQL4 Sou um verdadeiro novato, mas estou aprendendo todos os dias. Atualmente estou tentando o seguinte:
no loop principal da minha EA, quando certas condições são cumpridas, uma ordem é aberta. Esta ordem é com uma determinada entrada, stoploss e takeprofit usando a função OrderSend.
Apenas uma ordem no momento é permitida:
total = OrderTotal();
if(total < 1)
{ etc etc
O que eu gostaria de construir é que, quando o stoploss ou takeprofit do pedido for atingido, a EA espera com a aceitação de novos pedidos até que a barra horária atual (a barra dentro do stoploss ou takeprofit é atingida) termine.
O problema no momento é que, assim que o stoploss ou takeeprofit é atingido, imediatamente outra ordem é tomada no laço principal.
Vocês podem me ajudar, por favor?
FXX
Combinar a EA precisa de ajuda
Olá a todos,
Qualquer um sabe como combinar 2 EA diferentes em 1 EA ? Por favor, mostre-me passo a passo como fazer isso ?
Obrigado antecipadamente por sua ajuda!
Depende da lógica da EA
Cada EA tem uma lógica diferente, portanto, o método para combinar duas ea's depende de sua lógica.
Então, onde estão as EA's que você gostaria de combinar?
Olá a todos,
Qualquer um sabe como combinar 2 EA diferentes em 1 EA ? Por favor, mostre-me passo a passo como fazer isso ?
Obrigado antecipadamente por sua ajuda!Como Classificar Valores ? Necessidade de Ajuda
Qualquer um pode me ajudar a criar uma função de ranking
por exemplo, eu tenho algum valor duplo como osese:
a=3,0; b=4,0; c=5,0; d=2,0; e=1,0; f=6,0; g=0,0;
de valor maior para menor (6,0, 5,0, 4,0, 3,0, 2,0, 1,0, 0,0)
ou o valor de (f,c,b,a,d,e,g)
Portanto, os rank's devem ser assim
número do ranking: (th)
f=1; c=2; b=3; a=4; d=5; e=6; g=7;
O que eu preciso é de uma função do que retornar a classificação se eu inserir o valor
int rank (valor duplo)
{
processar todos os valores;
retorno (a classificação de um valor de todos os valores)
}
Eu sei que é fácil se apenas fizermos uma função como esta
por exemplo, o valor de "a".
int rank (valor duplo)
{
if(a>b && a>c && a>c && a>d && a>e && a>f && a>g)
retorno (1);
.
.
.
if(a<b && a<c &&& a<d &&& a<e && a<f && a<g)
retorno(7);
}
O problema é quando as variações de valor são 2 a combinação apenas algumas, mas quando as variações aumentam por exemplo 5,7 ou 10 etc., então a combinação para fazer a classificação será muito grande.
Espero que alguém possa me ajudar para este tipo de problema...
Obrigado Berfore, desculpe pelo meu pobre inglês, mas estou aprendendo...
Pj...
Use um array e dê uma olhada na função ArraySort().
Boa sorte.
Lux
Stoch OBOS
Gosto muito desta estocada indiana, mas preciso de ajuda para mudá-la, porque preciso do alerta quando a estocada se toca sobre a área comprada sobre a área vendida. E quando ele alerta, ele pode mostrar qual moeda também.
Obrigado antecipadamente.
Use um array e dê uma olhada na função ArraySort().
Boa sorte.
LuxEu tinha tentado isso, mas ainda estava confuso,
precisam de alguém que possa ensinar ou mostrar-me como fazer essa coisa.
Talvez você pudesse Lux?
Agradecemos antecipadamente
Cada EA tem uma lógica diferente, então o método para combinar duas EA depende de sua lógica... Então, onde estão as EA que você gostaria de combinar?
Olá primajaya,
Obrigado por seu feedback. Quero dizer que a 1ª EA é uma negociação aberta e a 2ª EA é uma negociação fechada, se a 1ª EA é uma negociação aberta e tem alguns lucros e eu quero que a 2ª EA seja uma negociação fechada com XXX lucros, então como devo fazer ? Eles são trabalho se eu me apego a 2 conversas, mas eu quero combinar 2 em 1 do que eu só preciso abrir 1 EA apenas.
Obrigado por sua ajuda!
Olá primajaya,
Obrigado por seu feedback. Quero dizer que a 1ª EA é uma negociação aberta e a 2ª EA é uma negociação fechada, se a 1ª EA é uma negociação aberta e tem alguns lucros e eu quero que a 2ª EA seja uma negociação fechada com XXX lucros, então como devo fazer ? Eles são trabalho se eu me apego a 2 conversas, mas eu quero combinar 2 em 1 do que eu só preciso abrir 1 EA apenas.
Obrigado por sua ajuda!Ainda não conheço a lógica da 1ª e 2ª EA para abrir comércios.
Mas talvez isto possa ajudá-lo...
Tente combinar as duas EA em uma única EA...
Assim, a EA deve ter dois sinais para abrir negócios:
1º sinal da 1ª EA e 2º sinal da 2ª EA...
você pode usar OrderMagicNumber() como a identidade para cada negociação aberta feita por dois sinais...
por exemplo:
se as negociações abertas pelo 1º sinal então -- o número mágico é 1111
se o comércio for aberto pelo 2º sinal então -- o número mágico é 2222
Portanto, se quisermos fechar o comércio a partir do segundo sinal, podemos usar a OrderMagicNumber() como identidade para fechar:
Espero que ajude...
Pj
10 pontos3
PLEAASEEE, PROGRAMADORES!
Precisamos em 10 pontos3 EA, que quando o terceiro comércio abrir, o primeiro feche, estou tentando, mas ainda está fechando todas as posições.
Na verdade, nós temos:
se (PreviousOpenOrders>OpenOrders)
{
for(cnt=OrdensTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
mode=OrderType();
if (OrderSymbol()==Symbol() && OrderMagicNumber() == Magic)
{
if (mode===OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue); }
if (mode===OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red); }
return(0);
}
}
}
Eu estava pensando em fazer isso:
1. mudar o número mágico para o primeiro comércio quando o segundo abrir, por exemplo, número mágico+1
2. Quando o terceiro comércio abrir, feche o primeiro, com o número mágico+1 atribuído.
Estou certo?
ou qual outra forma posso identificar o primeiro comércio aberto para fechá-lo depois?
Se você puder me orientar ou fazer as mudanças, melhor porque eu não sou programador, estou apenas aprendendo.
Esta mudança seria o começo do Holly Grail!!!