Errori, bug, domande - pagina 929

 
La funzione restituisce il numero della finestra. Non state controllando correttamente il risultato.
 
Konstantin83:
Come funziona la funzione ObjectFind? Dov'è l'errore nel codice per trovare un oggetto per nome? Le proprietà dell'oggetto cambiano, ma non riesco a trovare l'oggetto stesso.

void OnStart()
  {
//---

   if(ObjectCreate(0,"test",OBJ_LABEL,0,0,0))
     {
      ObjectSetString(0,"test",OBJPROP_TEXT,"Init");
      if(ObjectFind(0,"test")<0)
        {
         ObjectSetString(0,"test",OBJPROP_TEXT,"Нашел объект с помощью функции ObjectFind");
        }
      else
        {
         ObjectSetString(0,"test",OBJPROP_TEXT,"Не нашел объект с помощью функции ObjectFind");
        }
     }
  }

Dovremmo cambiare la condizione:

if(ObjectFind(0,"test")>=0)
 
Contender:

Dovremmo cambiare la condizione:

Grazie :)

Ho un po' di perversione in me.

 
Konstantin83:

Grazie :)

C'è qualcosa che mi ha sconvolto.

Succede :)
 

Colleghi, per favore consigliate sull'allineamento del testo su un grafico.

Il grafico ha bisogno di visualizzare alcune informazioni di testo. Per esempio, così:

Esempio di uscita

Come potete vedere dall'esempio, il testo è formattato come segue:

1. Il nome del parametro è allineato da sinistra a destra, con lo stesso inizio dal bordo sinistro.

2. I valori dei parametri sono allineati da destra a sinistra, con lo stesso inizio sul bordo destro.

L'esempio che ho dato sopra usa la funzione Comment(). Per visualizzare l'esempio, ho usato un testo con spazio.

In realtà, la mia domanda è. Qual è il modo migliore (quali funzioni) per implementare questo meccanismo di allineamento automatico con una perdita minima di prestazioni?

Apprezzerei sia una risposta generale che del codice.

 

Forse qualcuno potrebbe essere interessato. In generale, il problema è parzialmente risolto utilizzando l'oggetto graficoOBJ_LABEL e usando un font monospaziato.

Creo oggetti in OnInit() e li cancello in OnDeinit() e provo a impostare la proprietà OBJPROP_TEXT. Se c'è un errore, basta segnalarlo sotto forma di log. Controllare su ogni tick/timer per vedere se un utente/un altro EA ha cancellato l'etichetta è troppo impegnativo in termini di risorse.

Quello che non è riuscito a risolvere è ottenere la larghezza del marchio impostato. Per, approssimativamente, a seconda del_valore, rimuovere il suo angolo superiore destro più lontano, in modo che non si sovrapponga al nome del_valore. È sufficiente trovare una distanza comoda per inserire un valore a sette cifre. Le otto cifre si sovrappongono. Non è bello e non è pratico! :)

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
 
voix_kas:

Forse qualcuno potrebbe essere interessato. In generale, il problema si risolve in parte usando l'oggetto graficoOBJ_LABEL e utilizzando un font monospaziato.

Usa OBJ_EDIT ("Entry field") senza possibilità di modifica, può essere dimensionato, colore, font e allineamento del testo conOBJPROP_ALIGN.

Uno per il nome conALIGN_LEFT e uno per il valore conALIGN_RIGHT.

Per evitare che un altro programma cancelli i vostri oggetti, date loro dei nomi unici.

Gli oggetti creati dal programma non possono essere selezionati e cancellati dall'utente inizialmente, ma se lo fanno, è facile rintracciare questo fatto e ricreare l'oggetto.

 

Ci sono dei difetti nei segnali:
Depositi: 1.68 USD############ Broker: Alpari-Demo
CHI ha depositato i soldi per il deposito, chi sta giocando?

 
È possibile fare in modo che durante l'ottimizzazione tutti i calcoli vadano solo nel cloud? Vorrei scaricare tutti i core del processore sul mio computer, poiché un agente non si spegne.
 
paladin800:
È possibile fare in modo che durante l'ottimizzazione tutti i calcoli vadano solo nel cloud? Vorrei disconnettere tutti i core della CPU del mio computer dal carico, altrimenti un agente non viene disconnesso.
Cliccate con il tasto destro del mouse nella sezione Agenti e deselezionate Agenti locali nel menu contestuale.