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
1. Armazenar bilhetes de pedidos em uma matriz ou 2 variáveis.
2. Selecione-os um a um com OrderSelect (a matriz é mais conveniente aqui) .
3. Verifique o tipo para o momento atual.
4. Se tipo OP_BUY || OP_SELL -> OrderDelete para segundo bilhete.
Ajude-me com um exemplo simples, eu entendo muitas coisas, mas a seleção do pedido é um pouco complicada!
Aqui está o código onde o erro é ????? Não apaga o segundo pendente quando um pendente aciona ......
se (MA1<MA2)
{
if(n==0)
{
//==================================================================================================================//
tiket=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slip,slb,tpb,NULL,MagicNumber,0,CLR_NONE);
if(tiket<0) Alerta("Error # - ",GetLastError()," No instrumento ", Symbol()); //escrever erro//
//================================================================================================================//
t2 = OrderSend(Symbol(), OP_BUYSTOP, Lots*Overlot,OtkrBS, Slip,0,tpb, 0, MagicNumber,expiração);
//================================================================================================================//
t1 = OrderSend(Symbol(), OP_SELLSTOP, Lots*Overlot+1,OtkrSS,Slip,0,slb, 0, MagicNumber,expiração);
//================================================================================================================//
//==================================================================================================================//
}
//==================================================================================================================//
senão
//=================================================================================================================//
se (MA1>MA2)
{
tiket=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slip,sls,tps,NULL,MagicNumber,0,CLR_NONE);
if(tiket<0) Alerta("Error # - ",GetLastError()," On tool ", Symbol()); //escrever erro//
//================================================================================================================//
t2 = OrderSend(Symbol(), OP_BUYSTOP, Lots*Overlot+1,OtkrSS1,Slip,0,sls, 0, MagicNumber,expiração);
//================================================================================================================//
t1 = OrderSend(Symbol(), OP_SELLSTOP, Lots*Overlot, OtkrBS1,Slip,0,tps, 0, MagicNumber,expiração);
//================================================================================================================//
}
//==================================================================================================================//
// se SELLSTOP tiver acionado, apagar BUYSTOP
if(OrderSelect(t1, SELECT_BY_TICKET))
{
if(OrderType()==OP_SELL)
{
OrderDelete(t2);
}
}
//----
// se BUYSTOP tiver acionado, apagar SELLSTOP
if(OrderSelect(t2, SELECT_BY_TICKET))
{
if(OrderType()==OP_BUY)
{
OrderDelete(t1);
}
}
Você está confuso com as condições. Acho que você tem {} parênteses no lugar errado:
Ou algo parecido.
O que é incrível é que eu tenho uma EA semelhante. Verifiquei tudo com ele, é tudo igual em princípio. Funciona, e este não...
A diferença é que a outra EA tem apenas uma pose para entrada de compras e dois pingentes.
bilhetes em variáveis globais? (fora do início e de outras funções)
Caso contrário, eles são reinicializados a cada tique.
Insira mais Print()-s em cada passo do Expert Advisor, então você entenderá onde ele cai e o que ele não faz.
HOORAY AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Vencedor !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
bilhetes em variáveis globais? (fora do início e de outras funções)
Caso contrário, eles são reinicializados a cada tique.
Insira mais Print()-s em cada passo do Expert Advisor, então você entenderá onde ele cai e o que ele não faz.