Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
1. Almacenar los tickets de pedido en un array o 2 variables.
2. Selecciónelos uno por uno con OrderSelect (la matriz es más conveniente aquí) .
3. Comprueba el tipo para el momento actual.
4. Si el tipo OP_BUY || OP_SELL -> OrderDelete para el segundo ticket.
Por favor, ayúdenme con un ejemplo sencillo, entiendo muchas cosas, pero lo de seleccionar el orden es un poco de atasco.
Aquí está el código donde el error es ????? No borra el segundo colgante cuando uno de ellos se activa ......
si (MA1<MA2)
{
si(n==0)
{
//==================================================================================================================//
tiket=EnviarOrden(Símbolo(),OP_BUY,Lotes,NormalizeDouble(Ask,Digits),Slip,slb,tpb,NULL,MagicNumber,0,CLR_NONE);
if(tiket<0) Alert("Error # - ",GetLastError()," En el instrumento ", Symbol()); //escribir error//
//================================================================================================================//
t2 = OrderSend(Symbol(), OP_BUYSTOP, Lots*Overlot,OtkrBS, Slip,0,tpb, 0, MagicNumber,expiration);
//================================================================================================================//
t1 = OrderSend(Symbol(), OP_SELLSTOP, Lots*Overlot+1,OtkrSS,Slip,0,slb, 0, MagicNumber,expiration);
//================================================================================================================//
//==================================================================================================================//
}
//==================================================================================================================//
si no
//=================================================================================================================//
si (MA1>MA2)
{
tiket=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slip,sls,tps,NULL,MagicNumber,0,CLR_NONE);
if(tiket<0) Alert("Error # - ",GetLastError()," En el instrumento ", Symbol()); //escribir error//
//================================================================================================================//
t2 = OrderSend(Symbol(), OP_BUYSTOP, Lots*Overlot+1,OtkrSS1,Slip,0,sls, 0, MagicNumber,expiration);
//================================================================================================================//
t1 = OrderSend(Symbol(), OP_SELLSTOP, Lots*Overlot, OtkrBS1,Slip,0,tps, 0, MagicNumber,expiration);
//================================================================================================================//
}
//==================================================================================================================//
// si se ha activado el SELLSTOP, eliminar el BUYSTOP
if(OrderSelect(t1, SELECT_BY_TICKET))
{
if(OrderType()==OP_SELL)
{
OrderDelete(t2);
}
}
//----
// si se ha activado el BUYSTOP, eliminar el SELLSTOP
if(OrderSelect(t2, SELECT_BY_TICKET))
{
if(OrderType()==OP_BUY)
{
OrderDelete(t1);
}
}
Estás confundido con las condiciones. Creo que tienes {} paréntesis en el lugar equivocado:
O algo así.
Lo sorprendente es que yo tengo un EA similar. He comprobado todo con él, en principio es lo mismo, funciona y este no...
La diferencia es que el otro EA sólo tiene una pose de entrada de compra y dos colgantes.
¿boletos en variables globales? (fuera de las funciones de inicio y otras)
Si no es así, se restablecen cada vez que se produce una avería.
Inserte más Print()-s en cada paso del Asesor Experto, entonces usted entenderá donde falla y lo que no hace.
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡HURRA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Ganador !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
¿boletos en variables globales? (fuera de las funciones de inicio y otras)
Si no es así, se restablecen cada vez que se produce una avería.
Inserte más Print()-s en cada paso del Asesor Experto, entonces usted entenderá donde falla y lo que no hace.