Domande da un "manichino" - pagina 97

 
Alfff:

Salve.

Potete dirmi per favore come impostare una linea verticale su un grafico in un certo punto?

Grazie.

MQL5 Riferimento / Oggetti grafici

Riferimento MQL5 / Oggetti grafici / ObjectCreate

Riferimento MQL5/ Costanti, enumerazioni e strutture standard / Costanti di oggetti / Tipi di oggetti

Riferimento MQL5/ Oggetti grafici / ObjectSetInteger

E così via.

Si crea un oggetto e poi si impostano le sue proprietà.

Va più o meno così:

   if(ObjectFind(chid,name)==-1)
      ObjectCreate(chid,name,OBJ_VLINE,0,time,0);
   ObjectSetString(chid,name,OBJPROP_TOOLTIP,tool);
   ObjectSetInteger(chid,name,OBJPROP_COLOR,color_line);
   ObjectSetInteger(chid,name,OBJPROP_STYLE,style_line);
   ObjectSetInteger(chid,name,OBJPROP_BACK,true);
   ObjectSetInteger(chid,name,OBJPROP_SELECTED,false);
 
Urain:

Guida di riferimento MQL5 / Oggetti grafici

Riferimento MQL5 / Oggetti grafici / ObjectCreate

Riferimento MQL5/ Costanti, enumerazioni e strutture standard / Costanti di oggetti / Tipi di oggetti

Riferimento MQL5 / Oggetti grafici / ObjectSetInteger

E così via.

Crea un oggetto, poi imposta le sue proprietà.

Da qualche parte così:

Grazie.
 
if(ObjectFind(chid,name)==-1)
А что означает эта строчка?
 
erkov:

.... e questo è tutto - non è chiaro.... metodo GetData restituisce o -1 o >= 0 - (e ho bisogno del prezzo di apertura della barra 5)

E cosa volevi ottenere? Guarda la documentazione:"Valore di ritorno: >=0 - se ha successo, -1 - se non è riuscito a ottenere i dati".

Se "abbiamo bisogno del valore del prezzo di apertura della barra #5", allora questo valore dovrebbe essere cercato nell'"array per il posizionamento dei dati", cioè nell'array Open[] nel vostro caso.

...Leggi il manuale

 

Alfff:

if(ObjectFind(chid,name)==-1)
А что означает эта строчка?

Se l'oggetto chiamato nome nel grafico chid non esiste già, allora ...

Se esiste già, saltiamo semplicemente la creazione dell'oggetto e passiamo direttamente alla modifica delle impostazioni.

 
Urain:

Se l'oggetto chiamato nome nel grafico chid non esiste già, allora ...

Se esiste già, saltiamo la creazione dell'oggetto e passiamo direttamente alla modifica delle impostazioni.

Piccola nota: "Se l'oggetto non viene trovato, la funzione restituisce un numero negativo". A quanto pare, non restituisce necessariamente "-1".

Come dico io, "...Leggi la referenza" :)

 
Yedelkin:

Una piccola nota: "Se non viene trovato nessun oggetto, la funzione restituisce un numero negativo". A quanto pare, non restituisce necessariamente "-1".

Come dico io, "...Leggi la referenza" :)

Probabilmente è meglio mettere

if(ObjectFind(chid,name)<0)

Anche se ha sempre funzionato.

 
Yedelkin:

Cosa volevi ottenere? Vedere la documentazione:"Valore di ritorno: >=0 - se ha successo, -1 - se non è riuscito a ottenere i dati".

Se "avete bisogno del valore del prezzo di apertura della barra #5", allora dovreste cercare questo valore nell'"array per posizionare i dati", cioè nell'array Open[] nel vostro caso.

...Leggi Riferimento

Grazie per il vostro aiuto. Lo leggerò sicuramente...

 
erkov:

Grazie per il vostro aiuto. Mi assicurerò di leggerlo...

L'approccio generale alla copia degli array può essere trovato nelle descrizioni delle funzioni Copy...(). Per esempio, CopyBuffer().
 
erkov:
Domanda 1. Dove cercare (con tanto sforzo) i dati dei prezzi aperti (in quale posto dell'array Open[])...????

Domanda 2. Per il lasso di tempo D1 dovremmo dichiarare un altro array e creare la nostra istanza della classe (o possiamo fare con uno)...????

Domanda 1: TUTTE le classi della Libreria Standard che forniscono accesso ai dati degli indicatori e delle serie temporali richiedono il "refresh" (dei dati) prima di utilizzarli.

Scrivilo così (in una versione semplificata):

iOpen.Refresh(-1);
iOpen.GetData(...);

Domanda 2. l'altro.

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
Motivazione: