[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 395
![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
Muito obrigado pelas dicas!!! Já resolvi meu problema. Descobri que o corretor que eu procurava, ao colocar uma ordem de mercado, ou seja, de acordo com as condições, não me permite colocar níveis de parada ao mesmo tempo. Agora os pedidos são feitos sem nenhum nível de parada e eu estabeleço níveis de parada imediatamente após cada pedido. Tenho um problema com isso: apenas uma pequena parte dos pedidos é modificada, enquanto a maioria dos pedidos mostra os seguintes resultados na seção "Consultores Especialistas":
2011.05.19 09:46:55 Spacenewcomer-Svecha CLM1,M15: aberto #30906670 venda 0.01 CLM1 a 99.79 ok2011.05.19 09:46:55 Spacenewcomer-Svecha CLM1,M15: bilhete inválido para a função OrderModify
2011.05.19 09:55:40 Spacenewcomer-Svecha ESM1,M5: aberto #30906787 compra 0.01 ESM1 a 1337.50 ok
2011.05.19 10:00:03 Spacenewcomer-Svecha EURUSD,M15: Bilhete inválido para a função OrderModify
Aqui está o texto do código:
{res=OrderSend(Symbol(),OP_SELLL,0.01,Bid,3,0,0, "basic",_MagicNumber,0,Red);
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+StopLoss*Point,Ask-TakeProfit*Point,0,Red);
return(0);
}
Além disso, é a primeira ordem que é modificada depois que o Expert Advisor é iniciado!
Obviamente, coloquei a modificação errada dos pedidos no código. Por favor, me ajude!
OrderSelect(res, SELECT_BY_TICKET);
OrderModify(OrderTicket(),, OrderOpenPrice(),NormalizeDouble(Ask+StopLoss*Point, Digits),NormalizeDouble( Ask-TakeProfit*Point, Digits),0,Red);
res=OrderSend(Symbol(),OP_SELLL,0.01,Bid,3,0,0, "basic",_MagicNumber,0,Red);
OrderSelect(res, SELECT_BY_TICKET);
OrderModify(OrderTicket(), OrderOpenPrice(),NormalizeDouble( Ask+StopLoss*Point,Digits),NormalizeDouble( Ask-TakeProfit*Point,Digits),0,Red);
Caros programadores, estou pedindo ajuda para modificar o Expert Advisor: tenho uma posição aberta e após algum tempo há um segundo sinal para abrir a posição na mesma direção. Quero preencher a posição até o segundo sinal somente se a primeira ordem já estiver na posição de mais. Eu implementei isto comparando o tamanho do saldo e o patrimônio líquido (se o patrimônio líquido for maior que o saldo, a ordem aberta está no positivo).
Você pode sugerir um código para determinar o lucro/perda na última ordem em aberto que tiver?
Se seu número de bilhete for salvo, então simplesmente
Se seu número de bilhete for salvo, simplesmente
Obrigado! Você pode aconselhar como salvar o bilhete do último pedido?
bem, a opção mais simples é declarar uma variável global int ticket
e substituir bilhete = OrderSend(...) em toda parte por bilhete = OrderSend(...)
sempre armazenará o número da última ordem aberta
Ou veja apenas o tópico "Funções úteis da KimIV"!
bem, a opção mais simples é declarar uma variável global int ticket
e substituir bilhete = OrderSend(...) em toda parte por bilhete = OrderSend(...)
sempre armazenará o número da última ordem aberta
ou ver apenas o tópico "Funções úteis da KimIV".
Ajude-me a encontrar um erro,
Obrigado
Eu não sei... Pensei que funcionaria, não funciona sem nenhum dos dois, fizesse assim e funciona....
PRICE_OPEN !!!! - você não pode usar este preço! Funciona apenas para indicadores. Use o Bid or Ask.
Obrigado!!! Sim, essa é uma possibilidade definitiva.
Gente uma pergunta mais complicada......
Como fazer uma EA fechar todos os pedidos quando um determinado lucro é alcançado .... Fechar apenas pedidos em um símbolo ...
Exemplo: a EA trabalha em 3 pares para fechar todos os pedidos em um símbolo de 100p ...
Se o EUR tiver mais de 100p só fechará pedidos em EUR enquanto outros podem ter 200p ...
Se eu levar em contabalanse() então o assessor fechará somente quando a soma de três pares for superior a 100p. Esta opção não me serve !!!!
Ajuda por favor.........