ChartSetString

지정된 차트의 해당 속성에 대한 값을 설정. 차트 속성은 문자열 유형이어야 합니다. 이 명령은 차트 메시지 대기열에 추가되며 이전 모든 명령을 처리한 후 실행됩니다.

bool  ChartSetString(
   long                         chart_id,     // 차트 ID
   ENUM_CHART_PROPERTY_STRING   prop_id,      // 속성 ID
   string                       str_value     // 값
   );

매개변수

chart_id

[in]  차트 ID. 0은 현재 차트를 의미합니다.

prop_id

[in]  차트 속성 ID. 그 값은 ENUM_CHART_PROPERTY_STRING 값 중 하나일 수 있습니다(읽기 전용 속성 제외).

str_value

[in]  속성 값 문자열. 문자열 길이는 2045자를 초과할 수 없습니다(초과 문자는 잘립니다).

값 반환

명령이 차트 대기열에 추가된 경우 true를 반환, 그렇지 않은 경우 false를 반환. 오류에 대한 정보를 가져오기 위해, GetLastError() 함수 호출.

주의

ChartSetString은 코멘트 기능 대신 차트의 코멘트 출력에 사용할 수 있습니다.

함수는 비동기식이며, 이는 함수가 지정된 차트의 대기열에 성공적으로 추가된 명령 실행을 기다리지 않음을 의미합니다. 대신, 컨트롤을 즉시 반환 차트 대기열에서 적절한 명령을 처리한 후에만 속성이 변경됩니다. 차트 대기열에서 명령을 즉시 시행하려면 ChartRedraw 함수를 호출.

한 번에 여러 차트 속성을 즉시 변경하려면 해당 함수(ChartSetString, ChartSetDouble, ChartSetString)를 하나의 코드 블록에서 실행해야 하며그런 다음 ChartRedraw를 한번 호출.

명령 실행 결과를 확인하려면 지정된 차트 속성 (ChartGetInteger, ChartGetDouble, ChartSetString)을 요청하는 함수를 사용할 수 있습니다. 하지만 이러한 기능은 동기화되어 실행 결과를 기다립니다.

예를 들어:

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);
  }

추가 참조

Comment, ChartGetString