[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 919

 
Nilog:

Potete dirmi come rimuovere gli oggetti creati dall'indicatore nella finestra quando l'indicatore stesso viene rimosso dal grafico?

usando la funzione speciale deinit()

ed enumerando i nomi di tutti gli oggetti nel ciclo, o se ce ne sono pochi, prescrivendoli separatamente

bool ObjectDelete( nome stringa)
Cancella un oggetto con il nome specificato. Se cancellato con successo, la funzione restituisce TRUE, altrimenti FALSE.
Per ottenere maggiori informazioni sull'errore, chiamate la funzione GetLastError().
Parametri:
nome - Nome dell'oggetto cancellato.
Esempio:
ObjectDelete("text_object");
 
forex-k:

--con la funzione speciale deinit()--

Grazie!

 
Supponiamo che ho 1 ordine aperto e poi un secondo ordine in sospeso si apre, come faccio a rendere il take profit del primo ordine uguale al take profit del secondo ordine? e così via, 1,2=3 1,2,3=4 1,2,3,4=5 ?
 

Non sto scherzando, il mio Expert Advisor non funziona davvero!

L'unica risposta è "dovrebbe funzionare", ma non è così.

L'unica risposta a questa domanda era "dovrebbe funzionare", ma non è così.

Penso che il problema possa essere qualcos'altro?

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);

Lo smiley sorride sempre ma non funziona, le posizioni non si aprono.

 
gheka:

Non sto scherzando, il mio Expert Advisor non funziona davvero!

L'unica risposta è "dovrebbe funzionare", ma non è così.

L'unica risposta a questa domanda era "dovrebbe funzionare", ma non è così.

Penso che il problema possa essere qualcos'altro?

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);

Lo smiley sorride sempre ma non funziona, le posizioni non si aprono.

significa che ci sono già posizioni aperte nel conto
 
Necron:
significa che ci sono già posizioni aperte nel conto

Ho aperto un nuovo conto demo, non ho mai toccato il deposito,

Non so se ha qualcosa a che fare con il tipo di DT?

 

Perché il suono viene ripetuto solo una volta?

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

Perché il suono viene ripetuto solo una volta?


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


Aggiunto. Si ripete ancora solo una volta. :(
 

C'è un altro modo, prendi il tuo suono, mettilo in NERO (software di editing del suono), se disponibile, fai un suono

5 di loro.

Se non mi sbaglio, "i++" funziona su ogni tick, cioè il suono sarà pronunciato per 5 tick di seguito.

Inoltre, per sicurezza, guarda qui https://book.mql4.com/ru/operators/for

Motivazione: