ObjectCreate

La funzione crea un oggetto con il nome, il tipo e le coordinate iniziale specificati, nella sottofinestra grafico specificata. Durante la creazione, fino a 30 coordinate possono essere specificate.

bool  ObjectCreate(
   long         chart_id,      // identificatore del grafico
   string       name,          // nome dell'oggetto
   ENUM_OBJECT  type,          // tipo dell'oggetto
   sub_window   nwin,          // indice della finestra
   datetime     time1,         // tempo per il primo punto di ancoraggio
   double       price1,        // prezzo per il primo punto di ancoraggio
   ...
   datetime     timeN=0,       // tempo dell' N-simo punto di ancoraggio
   double       priceN=0,      // prezzo tempo dell' N-simo punto di ancoraggio
   ...
   datetime     time30=0,      // tempo del 30esimo punto di ancoraggio
   double       price30=0      // prezzo del 30esimo punto di ancoraggio
   );

Parametri

chart_id

[in] Identificatore del Grafico. 0 significa il grafico corrente.

name

[in] Nome dell'oggetto. Il nome deve essere univoco all'interno di un grafico, incluse le sue sottofinestre.

type

[in] Tipo dell' Oggetto. Il valore può essere uno dei valori dell'enumerazione ENUM_OBJECT.

sub_window

[in] Numero di sottofinestra grafico. 0 significa la finestra principale del grafico. La sottofinestra specificata deve esistere, altrimenti la funzione restituisce false.

time1

[in] La coordinata temporale del primo ancoraggio.

price1

[in] La coordinata prezzo del primo punto di ancoraggio.

timeN=0

[in] La coordinata temporale dell' N-esimo punto di ancoraggio.

priceN=0

[in] La coordinata prezzo dell' N-esimo punto di ancoraggio.

time30=0

[in] coordinata temporale del trentesimo punto di ancoraggio.

price30=0

[in] La coordinata prezzo del trentesimo punto di ancoraggio.

Valore restituito

La funzione restituisce true se il comando è stato aggiunto con successo alla coda del chart specificato, altrimenti false. Se un oggetto è già stato creato, si tenta di modificare le coordinate.

Nota

Una chiamata asincrona viene sempre utilizzata per ObjectCreate(), che è ciò per cui la funzione restituisce solo i risultati di aggiunta comando ad una coda(queue) chart. In questo caso, true significa solo che il comando è stato accodato correttamente, ma il risultato della sua esecuzione non è noto.

Per verificare il risultato di esecuzione del comando, è possibile utilizzare la funzione ObjectFind() o qualsiasi altra funzione che richiede proprietà dell'oggetto, come ObjectGetXXX. Tuttavia, dovresti tenere presente che tali funzioni vengono aggiunte alla fine della coda di quel grafico ed aspettano il risultato dell'esecuzione (dovuto alla chiamata sincrona) e quindi possono richiedere molto tempo. Questa funzione deve essere presa in considerazione quando si lavora con un gran numero di oggetti su un chart.

Un nome di oggetto non deve superare i 63 caratteri.

La numerazione delle sottofinestre grafico (se ci sono sotto-finestre con indicatori nella tabella) inizia con 1. La finestra grafico principale del grafico è, e sempre ha, indice 0.

Il gran numero di punti di ancoraggio (fino a 30) è implementato per uso futuro. At stesso tempo, il limite di 30 punti di ancoraggio possibili per gli oggetti grafici è determinato dal limite al numero di parametri (non più di 64) che può essere utilizzato quando si chiama una funzione.

Quando un oggetto viene rinominato, due eventi si formano simultaneamente. Questi eventi possono essere gestiti in un Expert Advisor o indicatore della funzione OnChartEvent():

  • un evento di eliminazione di un oggetto con il vecchio nome;
  • un evento di creazione di un oggetto con un nuovo nome.

Vi è un certo numero di punti di ancoraggio che devono essere specificati al momento della creazione di ogni Tipo di oggetto:

ID

Descrizione

Punti di ancoraggio

OBJ_VLINE

Linea verticale

Un punto di ancoraggio. Al momento, solo la coordinata temporale viene utilizzata.

OBJ_HLINE

Linea orizzontale

Un punto di ancoraggio. Al momento solo la coordinata prezzo viene utilizzata.

OBJ_TREND

Trend Line

Due punti di ancoraggio.

OBJ_TRENDBYANGLE

Trend Line per Angolo

Due punti di ancoraggio.

OBJ_CYCLES

Linee Cicliche

Due punti di ancoraggio.

OBJ_ARROWED_LINE

Linea con freccia

Due punti di ancoraggio.

OBJ_CHANNEL

Canale Equidistante

Tre punti di ancoraggio.

OBJ_STDDEVCHANNEL

Canale Deviazione Standard

Due punti di ancoraggio.

OBJ_REGRESSION

Canale Regressione Lineare

Due punti di ancoraggio.

OBJ_PITCHFORK

Andrews' Pitchfork

Tre punti di ancoraggio.

OBJ_GANNLINE

La Linea Gann

Due punti di ancoraggio.

OBJ_GANNFAN

In ventaglio Gann

Due punti di ancoraggio.

OBJ_GANNGRID

La griglia Gann

Due punti di ancoraggio.

OBJ_FIBO

Ritracciamento di Fibonacci

Due punti di ancoraggio.

OBJ_FIBOTIMES

Le Fibonacci Time Zones

Due punti di ancoraggio.

OBJ_FIBOFAN

Il ventaglio Fibonacci

Due punti di ancoraggio.

OBJ_FIBOARC

L' arco Fibonacci

Due punti di ancoraggio.

OBJ_FIBOCHANNEL

Il canale Fibonacci

Tre punti di ancoraggio.

OBJ_EXPANSION

L'espansione Fibonacci

Tre punti di ancoraggio.

OBJ_ELLIOTWAVE5

L'onda motiva Elliott

Cinque punti di ancoraggio.

OBJ_ELLIOTWAVE3

L'onda correttiva Elliott

Tre punti di ancoraggio.

OBJ_RECTANGLE

Rettangolo

Due punti di ancoraggio.

OBJ_TRIANGLE

Triangolo

Tre punti di ancoraggio.

OBJ_ELLIPSE

Ellisse

Tre punti di ancoraggio.

OBJ_ARROW_THUMB_UP

Pollice su

Un punto di ancoraggio.

OBJ_ARROW_THUMB_DOWN

Pollice giu

Un punto di ancoraggio.

OBJ_ARROW_UP

Freccia su

Un punto di ancoraggio.

OBJ_ARROW_DOWN

Freccia giu

Un punto di ancoraggio.

OBJ_ARROW_STOP

Segno di Stop

Un punto di ancoraggio.

OBJ_ARROW_CHECK

Segno di Visto

Un punto di ancoraggio.

OBJ_ARROW_LEFT_PRICE

Etichetta Prezzo a Sinistra

Un punto di ancoraggio.

OBJ_ARROW_RIGHT_PRICE

Etichetta Prezzo a Destra

Un punto di ancoraggio.

OBJ_ARROW_BUY

Segno di Buy

Un punto di ancoraggio.

OBJ_ARROW_SELL

Segno di Sell

Un punto di ancoraggio.

OBJ_ARROW

Freccia

Un punto di ancoraggio.

OBJ_TEXT

Testo

Un punto di ancoraggio.

OBJ_LABEL

Etichetta

La posizione viene impostata utilizzando la proprietà OBJPROP_XDISTANCE e OBJPROP_YDISTANCE.

OBJ_BUTTON

Bottone

La posizione viene impostata utilizzando la proprietà OBJPROP_XDISTANCE e OBJPROP_YDISTANCE.

OBJ_CHART

Grafico

La posizione viene impostata utilizzando la proprietà OBJPROP_XDISTANCE e OBJPROP_YDISTANCE.

OBJ_BITMAP

Bitmap

Un punto di ancoraggio.

OBJ_BITMAP_LABEL

Etichetta Bitmap

La posizione viene impostata utilizzando la proprietà OBJPROP_XDISTANCE e OBJPROP_YDISTANCE.

OBJ_EDIT

Modifica

La posizione viene impostata utilizzando la proprietà OBJPROP_XDISTANCE e OBJPROP_YDISTANCE.

OBJ_EVENT

L'oggetto "Evento" corrispondente ad un evento nel calendario economico

Un punto di ancoraggio. Al momento, solo la coordinata temporale viene utilizzata.

OBJ_RECTANGLE_LABEL

L' oggetto "Etichetta Rettangolo" per la creazione e la progettazione dell'interfaccia grafica personalizzata.

La posizione viene impostata utilizzando la proprietà OBJPROP_XDISTANCE e OBJPROP_YDISTANCE.