ChartSetString

Imposta un valore per la corrispondente proprietà del grafico specificato. La proprietà del grafico dev'essere di tipo stringa. Il comando viene aggiunto alla coda dei messaggi del chart e verrà eseguito dopo l'elaborazione di tutti i comandi precedenti.

bool  ChartSetString(
   long                         chart_id,   // ID del Grafico
   ENUM_CHART_PROPERTY_STRING   prop_id,    // ID della Proprietà
   string                       str_value   // Valore
   );

Parametri

chart_id

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

prop_id

[in]  ID proprietà del Grafico. Il suo valore può essere uno dei valori ENUM_CHART_PROPERTY_STRING (eccetto le proprietà di sola-lettura).

str_value

[in]  Valore proprietà stringa. La lunghezza della stringa non può eccedere i 2045 caratteri (i caratteri extra verranno troncati).

Valore restituito

Restituisce true se il comando è stato aggiunto alla coda del chart, altrimenti false. Per avere informazioni sull' errore, Chiamare la funzione GetLastError().

Nota

ChartSetString può essere usato per un output commento sul grafico al posto della funzione Comment.

La funzione è asincrona, il che significa che la funzione non attende l'esecuzione del comando, che è stato correttamente aggiunto alla coda di specifica del chart. Invece, restituisce immediatamente il controllo. La proprietà cambierà solo dopo la gestione del comando appropriato dalla coda del chart. Per eseguire immediatamente i comandi dalla coda del chart, chiamare la funzione ChartRedraw.

Se si desidera modificare immediatamente più proprietà del chart contemporaneamente, allora le funzioni corrispondenti (ChartSetString, ChartSetDouble, ChartSetString) devono essere eseguite in un blocco di codice, dopo il quale è necessario chiamare ChartRedraw una volta.

Per verificare il risultato dell'esecuzione del comando, è possibile utilizzare una funzione che richiede la proprietà del chart specificata (ChartGetInteger, ChartGetDouble, ChartSetString). Tuttavia, notare che queste funzioni sono sincrone e attendere i risultati dell'esecuzione.

Esempio:

void OnTick()
  {
//---
   double Ask,Bid;
   int Spread;
   Ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
   Bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);
   Spread=SymbolInfoInteger(Symbol(),SYMBOL_SPREAD);
   string comment=StringFormat("Выводим цены:\nAsk = %G\nBid = %G\nSpread = %d",
                               Ask,Bid,Spread);
   ChartSetString(0,CHART_COMMENT,comment);
  }

Vedi anche

Comment, ChartGetString