ChartSetString

Establece el valor para la propiedad correspondiente del gráfico especificado. La propiedad del gráfico debe ser string. El comando se añade a la cola de los mensajes del gráfico y se ejecuta sólo después del procesamiento de todos los comandos anteriores.

bool  ChartSetString(
   long  chart_id,         // identificador del gráfico
   int   prop_id,          // identificador de la propiedad
   string   str_value      // valor
   );

Parámetros

chart_id

[in]  Identificador del gráfico. 0 significa el gráfico actual.

prop_id

[in]  Identificador de la propiedad del gráfico. Su valor puede ser uno de los valores de la enumeración ENUM_CHART_PROPERTY_STRING (salvo read-only).

str_value

[in]  Cadena para establecer la propiedad.  La longitud de la cadena no puede superar 2045 símbolos (los que sobran, serán recortados).

Valor devuelto

Si el comando se coloca con éxito a la cola del gráfico, devuelve true, de lo contrario, devuelve false. Para obtener la información sobre el error, hay que llamar a la función GetLastError().

Nota

La función ChartSetString puede ser usada para visualizar los comentarios en el gráfico en vez de la función Comment.

La función es asincrónica, esto significa que la función no espera la ejecución de un comando colocado con éxito en la cola del gráfico especificado, sino que devuelve inmediatamente el control. La propiedad cambiará solo después de que el comando haya sido procesado en la cola del gráfico. Para que el comando se ejecute de inmediato en la cola del gráfico, hay que llamar a la función ChartRedraw.

Si resulta necesario cambiar de inmediato varias propiedades del gráfico, entonces deberemos ejecutar las funciones correspondientes (ChartSetString, ChartSetDouble, ChartSetString) en un bloque de código y después llamar una vez ChartRedraw.

Para comprobar el resultado de la ejecución, podemos usar la función que solicita la propiedad del gráfico indicada (ChartGetInteger, ChartGetDouble, ChartSetString). En este caso, además, hay que tener en cuenta que estas funciones son sincrónicas y esperan el resultado de la ejecución.

Ejemplo:

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("Mostramos precios:\nAsk = %G\nBid = %G\nSpread = %d",
                               Ask,Bid,Spread);
   ChartSetString(0,CHART_COMMENT,comment);
  }

Véase también

Comment, ChartGetString