Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1326

 
DanilaMactep:

Più di una volta ho visto cambiare tali variabili senza probleminei video tutorial.

Vorrei vederlo anch'io, posso avere un link?

DanilaMactep:

Per favore, date un vero consiglio chiaro e sensato

Messaggio#13247

 

Potete dirmi come trovare un oggetto con un nome che non è completo?

L'indicatore crea oggetti e dà loro un nome

HlineCreate(0,"Min"+rand(),...);

Trova l'oggetto e lo elimina se il suo prezzo è inferiore al prezzo corrente

 
MakarFX:

Potete dirmi come trovare un oggetto con un nome che non è completo?

L'indicatore crea oggetti e dà loro un nome

Ho bisogno di trovare un oggetto e cancellarlo se il suo prezzo è inferiore a quello corrente

Lo è?

StringFind

Cerca la sottostringa nella stringa.

intStringFind(
stringastring_value,//stringa che stiamo cercando
stringamatch_substring,//cosa stiamo cercando
intstart_pos=0// quale posizione per iniziare la ricerca
);

Parametri

valore_stringa

[in] Stringa in cui cercare.

match_substringa

[in] Match_substring da cercare.

inizio_pos=0

[in] Posizione nella stringa in cui la ricerca dovrebbe essere avviata.

Valore restituito

Restituisce il numero di posizione nella stringa in cui inizia la sottostringa da cercare, o -1 se non viene trovata alcuna sottostringa.

 
Vitaly Muzichenko:

Questo?

Probabilmente no...

o meglio, non so come collegarlo alla ricerca dell'oggetto.

Ci sto provando.

 for(int i=0;i<ObjectsTotal();i++)
     ObjectDelete(0,"Min"+IntegerToString(i));

ma non funziona.

 
MakarFX:

Probabilmente no...

o meglio, non so come collegarlo ad una ricerca di oggetti.

Ci sto ancora provando.

ma non funziona e basta(

for(int i=0;i<ObjectsTotal();i++) {
 if(StringFind(получим имя объекта,"Min")>-1) { // ObjectName
   ObjectDelete(0,"полученное имя");

stringObjectName(
intobject_index// numero nella lista degli oggetti
);

 

Io suggerisco questo:

int obj_total=ObjectsTotal(); 
 
   for(i=obj_total-1;i>=0;i--) 
     { 
      string name=ObjectName(i); 
      if(StringFind(name,"Min",0)!=-1)
        {
        ObjectDelete(name);
        } 
     } 
 
Vitaly Muzichenko:


Alekseu Fedotov:

Grazie, ora proverò entrambi)

 

Fatto così.

 for(int a = 0; a<ObjectsTotal() ;a++)
  {
   if(ObjectGet(ObjectName(a),OBJPROP_PRICE1)>iHigh(Symbol(),PERIOD_D1,1))
   if(ObjectDelete(ObjectName(a)))Print("Delete");
  }

Funziona perfettamente!

Grazie a tutti)

 

Salve. Domanda sul costo dell'articolo. Sto facendo questo:

MarketInfo("EURCAD",MODE_TICKVALUE) 
MarketInfo("USDCAD",MODE_TICKVALUE)

Ottengo gli stessi valori su queste due coppie. È così che funziona? O è un problema tecnico?

 
MakarFX:

Fatto così.

Funziona perfettamente!

Grazie a tutti)

Il ciclo deve essere invertito. Altrimenti ci saranno domande sul perché non ha funzionato perfettamente.

Motivazione: