[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 919

 
Nilog:

¿Pueden decirme cómo eliminar los objetos creados por el indicador en la ventana cuando el propio indicador se elimina del gráfico?

utilizando la función especial deinit()

y enumerar los nombres de todos los objetos del bucle, o si son pocos, prescribirlos por separado

bool ObjectDelete( nombre de cadena)
Elimina un objeto con el nombre especificado. Si se borra con éxito, la función devuelve TRUE, en caso contrario FALSE.
Para obtener más información sobre el error, llame a la función GetLastError().
Parámetros:
nombre - Nombre del objeto eliminado.
Ejemplo:
ObjectDelete("objeto_texto");
 
forex-k:

--con la función especial deinit()--

Gracias.

 
Supongamos que tengo 1 orden abierta y luego se abre una segunda orden pendiente, ¿cómo hago para que el take profit de la primera orden sea igual al take profit de la segunda? y así sucesivamente, 1,2=3 1,2,3=4 1,2,3,4=5 ?
 

No estoy bromeando, ¡mi Asesor Experto realmente no funciona!

La única respuesta es "debería funcionar", pero no lo hace.

La única respuesta a esta pregunta era "debería funcionar", pero no lo hace.

creo que el problema puede ser otro.

extern double StopLoss=50.0;
extern double TakeProfit=50.0;
extern double Lots=1;
extern int total;

int start()
{
double Price_1, Price_2, min, max;
RefreshRates();
Price_1=Bid;
Price_2=Ask;

min=iLow(NULL,0,2);
max=iHigh(NULL,0,2);
total=OrdersTotal();
if(total<1)
{

if(Price_1>max)
OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Bid-StopLoss*Point,Ask+TakeProfit*Point,"My order#",16384,0,Green);

if(Price_2<min)
OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Ask+StopLoss*Point,Bid-TakeProfit*Point,"My order#",16384,0,Green);
}
}
return(0);

El smiley sonríe todo el tiempo pero no funciona, las posiciones no se abren.

 
gheka:

No estoy bromeando, ¡mi Asesor Experto realmente no funciona!

La única respuesta es "debería funcionar", pero no lo hace.

La única respuesta a esta pregunta era "debería funcionar", pero no lo hace.

creo que el problema puede ser otro.

extern double StopLoss=50.0;
extern double TakeProfit=50.0;
extern double Lots=1;
extern int total;

int start()
{
double Price_1, Price_2, min, max;
RefreshRates();
Price_1=Bid;
Price_2=Ask;

min=iLow(NULL,0,2);
max=iHigh(NULL,0,2);
total=OrdersTotal();
if(total<1)
{

if(Price_1>max)
OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Bid-StopLoss*Point,Ask+TakeProfit*Point,"My order#",16384,0,Green);

if(Price_2<min)
OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Ask+StopLoss*Point,Bid-TakeProfit*Point,"My order#",16384,0,Green);
}
}
return(0);

El smiley sonríe todo el tiempo pero no funciona, las posiciones no se abren.

significa que ya hay posiciones abiertas en la cuenta
 
Necron:
significa que ya hay posiciones abiertas en la cuenta

Abrí una nueva cuenta de demostración, nunca toqué el depósito,

No sé si tiene que ver con el tipo de DT.

 

¿Por qué el sonido sólo se repite una vez?

if (Balance < Loss)
      {    
           for(int i = 0; i < 5; i++) 
           PlaySound("LossLimitReached.wav");  
           Sleep (1000);                            
      }
 
Nilog:

¿Por qué el sonido sólo se repite una vez?


if (Balance < Loss)
      {
           for(int i = 0; i < 5; i++) 
           {   -  ты наверно это забыл поставить 
           PlaySound("LossLimitReached.wav");  
           Sleep (1000);
           }   -  и это тоже                 
      }
 
gheka:


Añadido. Aún así, sólo se repite una vez. :(
 

Hay otra manera, tomar su sonido, ponerlo en NERO (software de edición de sonido), si está disponible, hacer un sonido

5 de ellos.

Si no me equivoco, "i++" funciona en cada tic, es decir, el sonido se pronunciará durante 5 tics seguidos.

También, por si acaso, mira aquí https://book.mql4.com/ru/operators/for