#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link "https://www.mql5.com"
#property version "1.00"
#define OBJ_NAME "TestObjectSetString" // Object name
/+------------------------------------------------------------------+
//| Script program start function |
/+------------------------------------------------------------------+
void OnStart()
{
//--- 현재 차트 ID 및 심볼, 객체 설명 표시 플래그
long chart_id= ChartID();
string symbol = ChartSymbol(chart_id);
bool descript= ChartGetInteger(chart_id, CHART_SHOW_OBJECT_DESCR);
//--- 차트에 객체 설명 표시 설정
ChartSetInteger(chart_id, CHART_SHOW_OBJECT_DESCR, true);
//--- 현재 Bid 가격을 가져옵니다
double bid=0;;
ResetLastError();
if(!SymbolInfoDouble(symbol, SYMBOL_BID, bid))
{
Print("SymbolInfoDouble() failed. Error ", GetLastError());
return;
}
//--- 현재 Bid 가격에 "수평선" 그래픽 객체를 생성합니다.
if(!ObjectCreate(chart_id, OBJ_NAME, OBJ_HLINE, 0, 0, bid))
{
Print("ObjectCreate() failed. Error ", GetLastError());
return;
}
//--- 객체 설명에 객체 이름+"Description"을 입력합니다.
if(!ObjectSetString(chart_id, OBJ_NAME, OBJPROP_TEXT, "Bid: "+DoubleToString(bid, (int)SymbolInfoInteger(symbol, SYMBOL_DIGITS))))
{
Print("ObjectSetString() failed. Error ", GetLastError());
return;
}
//--- 변경 사항을 즉시 반영하도록 차트를 업데이트합니다.
ChartRedraw(chart_id);
//--- 객체 설명을 가져옵니다
string string_var="";
if(!ObjectGetString(chart_id, OBJ_NAME, OBJPROP_TEXT, 0, string_var))
{
Print("ObjectGetInteger() failed. Error ", GetLastError());
return;
}
//--- 객체 이름을 가져옵니다
string obj_name=ObjectGetString(chart_id, OBJ_NAME, OBJPROP_NAME);
//--- 객체 유형을 가져옵니다
ENUM_OBJECT object_type=(ENUM_OBJECT)ObjectGetInteger(chart_id, OBJ_NAME, OBJPROP_TYPE);
//--- 저널에 객체 유형, 이름 및 설명을 표시합니다.
PrintFormat("The %s object named \"%s\" has the description \"%s\"",EnumToString(object_type), obj_name, string_var);
//--- 2초간 기다린 후 생성된 객체를 삭제합니다.
Sleep(2000);
ObjectDelete(chart_id, OBJ_NAME);
//--- 차트 객체 설명을 표시하기 위한 초기 플래그를 반환합니다.
ChartSetInteger(chart_id, CHART_SHOW_OBJECT_DESCR, descript);
ChartRedraw(chart_id);
/*
결과:
The OBJ_HLINE object named "TestObjectSetString" has the description "Bid: 0.62096"
*/
}
|