Página 1 de 1

Limpiar un script

Publicado: 07 Nov 2011 17:22
por thebarbarian
Hola me gustaria quitar de este codigo las lineas que genera al cerrar todas las posiciones, el script funciona bien pero te deja unas marcas en el grafico. Gracias por vuestro tiempo
int start()
{
int total = OrdersTotal();
for(int i=total-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
int type = OrderType();

bool result = false;

switch(type)
{
//Close opened long positions
case OP_BUY : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
break;

//Close opened short positions
case OP_SELL : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );
break;

//Close pending orders
case OP_BUYLIMIT :
case OP_BUYSTOP :
case OP_SELLLIMIT :
case OP_SELLSTOP : result = OrderDelete( OrderTicket() );
}

if(result == false)
{
Alert("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
Sleep(3000);
}
}

return(0);
}

Re: Limpiar un script

Publicado: 07 Nov 2011 18:36
por X-Trader
Prueba con esto:

http://docs.mql4.com/objects/ObjectsDeleteAll

Saludos,
X-Trader

Re: Limpiar un script

Publicado: 07 Nov 2011 20:03
por Gamelu
Me apunto ese truco, a veces cuanto nos complicamos, asi debe ser la programacion....

Código: Seleccionar todo

 //*****************
if(wala)  
{
    for(x=0;x<tbefore;x++)
    {
     ObjectDelete("3Line3"+x);
    }
    delete=0;
   }
   tbefore=t;
   
   }//else
   
    //***********************************************************
     //*****************************************
Asi lo he echo yo hasta ahora, y nunca conseguia elimar todo, siempre se queda alguna linea enganchada,

Re: Limpiar un script

Publicado: 07 Nov 2011 23:16
por elcctrro
Añade esto: ObjectsDeleteAll();
al final del código antes del return(0).
Un saludo.

Re: Limpiar un script

Publicado: 08 Nov 2011 11:45
por Karlo
Si quieres que no salgan las lineas solo tienes que cambiar el color de dibujo por el color de fondo de la pantalla.

OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );

si la tienes en negro pues pones Black. etc..