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

 

Buona sera a tutti!!!

Sono nel panico, creo 10 oggetti di tipo OBJ_TEXT sul grafico, poi eseguo un ciclo per eliminarli in base al tag del nome.

Quindi la funzione

int Obektov = ObjectsTotal(OBJ_TEXT);

mostra che ce ne sono effettivamente 10, ma quando inizio ad analizzare i loro nomi per la cancellazione (per nome tutti e 10 sono da cancellare) con questo codice

int Obektov = ObjectsTotal(OBJ_TEXT);
       Alert(Obektov);
       for(int j = 0; j < Obektov; j++)
         {
          Alert("Анализ ", j, "  ", ObjectName(j));
          ObjectName(j)
          if(StringFind(ObjectName(j), "Skalomer_", 0) == 0)
            {
             Alert("Удяляем ", j, "   ", ObjectName(j));
             ObjectDelete(ObjectName(j));
            }
         }
      }

Vedo che

ObjectName(j)

Legge i nomi solo una parte degli oggetti, e il resto NON VEDE e dà l'errore ERR_OBJECT_DOES_NOT_EXIST 4202 L'oggetto non esiste ma li vedo con i miei occhi - sono 8-))!

 

Questo è ciò che disegna la stampa

Se esegui di nuovo il ciclo, vedrà alcuni degli oggetti rimanenti e rimuoverà anche quelli (vedrà 5 oggetti rimanenti)

E alla terza volta cancellerà tutti gli oggetti. Sembra che gli oggetti vengano rimossi uno per uno.

 
ALEX_SPB_RU:

Questo è ciò che disegna la stampa

Se esegui di nuovo il ciclo, vedrà alcuni degli oggetti rimanenti e rimuoverà anche quelli (vedrà 5 oggetti rimanenti)

E alla terza volta cancellerà tutti gli oggetti. Sembra che gli oggetti vengano cancellati uno per uno.

https://www.mql5.com/ru/forum/123941

Mi è stato detto di usare questo codice

// удаление по маске всех объектов индюка
   for (int i = ObjectsTotal() - 1; i >= 0; i--)
    {
      string name = ObjectName(i);
      if (StringFind(name, "sig_nal") == 0)
      {
         ObjectDelete(name);
      }
    }
//----

e per i nomi diversi ho usato

// удаление по маске всех объектов индюка
   for (int i = ObjectsTotal() - 1; i >= 0; i--)
   {
      string name = ObjectName(i);
      if (StringFind(name, "signal") == 0)
      {
         ObjectDelete(name);
      }
      else if (StringFind(name, "Asignal") == 0)
      {
         ObjectDelete(name);
      }
   }
//----
 
ALEX_SPB_RU:

Buona sera a tutti!!!

Sono nel panico, creo 10 oggetti di tipo OBJ_TEXT sul grafico, poi eseguo un ciclo per eliminarli in base al tag del nome.

Quindi la funzione

mostra che ce ne sono effettivamente 10, ma quando inizio ad analizzare i loro nomi per la cancellazione (per nome tutti e 10 sono da cancellare) con questo codice

int Obektov = ObjectsTotal(OBJ_TEXT);
       Alert(Obektov);
       for(int j = 0; j < Obektov; j++)
         {
          Alert("Анализ ", j, "  ", ObjectName(j));
          ObjectName(j)
          if(StringFind(ObjectName(j), "Skalomer_", 0) == 0)
            {
             Alert("Удяляем ", j, "   ", ObjectName(j));
             ObjectDelete(ObjectName(j));
            }
         }
      }

Vedo che

Legge i nomi solo una parte degli oggetti, e il resto NON VEDE e dà l'errore ERR_OBJECT_DOES_NOT_EXIST 4202 L'oggetto non esiste ma li vedo con i miei occhi - sono 8-))!

Cancellare (oggetti) in ordine inverso (da un numero più grande a un numero più piccolo), poiché la numerazione viene cambiata dopo la cancellazione ..... Questo è stato discusso centinaia di volte.
 

Buona sera a tutti!

Come si calcola lo Stop Loss? Formula di calcolo.

 
Sergey_Rogozin:

Buona sera a tutti!

Come si calcola lo Stop Loss? Formula di calcolo.

Dividi il tempo per il prezzo e moltiplica per il numero di valute.

 
Danil93:
Se si può chiamare pigro leggere un libro di riferimento, allora pigro, voglio solo sapere cosa leggere e poi forse posso farlo da solo. So solo che se qualcuno è bravo in qualcosa, è molto facile e veloce da aiutare...

Vi ho dato i nomi delle funzioni.

Ti ho anche mostrato l'algoritmo.

sei troppo pigro per pensare a quello che hai scritto?

 
Puoi dirmi cosa significa questo messaggio durante la compilazione dell'EA:

Function "openPositionsBUYreal" is not referenced and will be removed from exp-file

La funzione "openPositionsSELLreal" non è referenziata e sarà rimossa dal file exp

0 errori, 2 avvertimenti

All'inizio dell'EA è:
#include <stdlib.mqh>


È un riferimento a un file nelle librerie? E l'EA funzionerà correttamente con questo riferimento e 2 avvertimenti durante la compilazione?
 
Danil93:
Se si può chiamare pigrizia leggere il peso della guida, allora pigrizia, vorrei leggere qualcosa di specifico, e poi forse posso farlo da solo. So solo che se qualcuno ha una buona comprensione di qualcosa, è molto facile e veloce da aiutare...

ma so per esperienza che se qualcuno è troppo pigro per capire il proprio problema, è una seccatura aiutare...
 
kolyango:
Dimmi, cosa significa quando si compila l'EA: all'inizio dell'EA c'è: è un riferimento di file nelle librerie? E l'EA funzionerà correttamente con questo riferimento e 2 avvertimenti durante la compilazione?

Dipende da dove si trovano queste funzioni.
Dove sono memorizzati nel vostro codice?
E tu li usi nel tuo EA. Semplicemente non sono usati, quindi il compilatore vi avverte che li escluderà. Questo è normale.