▶ #13_Quotes라는 이름으로 새로운 indicator를 만듭니다.
▶ 코드편집기 왼쪽 모서리에 Toolbox탭을 클릭하고 QuotesProvider component를 코드편집기로 드래그 합니다.
QuoteProvider1이란 이름으로 코드편집기 하단 component tray에 표시됩니다.
properties panel을 열기 위해 편집기 오른쪽 모서리의 Properties탭을 클릭하고
Properties editor 상단에서 QuotesProvider1을 선택합니다.
▶ Name을 단축명 CP로 변경합니다.
▶ provider가 차트나 그리드 상의 종목에 대한 호가 정보값을 가져올 수 있도록 Filter 카테고리에 Symbol을 예약어 symbol로 세팅합니다.
설정 종목에 요청할 Quotes Fields를 정하기 위해 Fields를 text string "last, tradevolume, tradetime"으로 세팅합니다.
▶ 사용가능한 Quote Field명과 데이터 유형은
dictionary의 QuoteFields class와 EasyLanguage Object Reference의 QuoteFileds 도움말에서 찾아볼 수 있습니다.
이제 QP component를 그리드나 차트 종목값에 접근할 수 있는 object로써 사용할 수 있습니다.
▶ 이벤트 아이콘을 클릭해서 property editor의 event pane으로 전환시킵니다.
이벤트 컬럼내에 목록 중 빈 값을 가진 Updated를 찾을 수 있습니다.
Updated라는 이벤트 이름을 더블클릭해서
easylanguage 문서 내에 event handler method를 추가하고 해당 속성과 연관된 새로운 method 이름을 만듭니다.
▶ QP_Updated라는 method가 문서에 추가됩니다.
event handler 괄호안에 파라미터가 자동으로 생성되는데 이를 직접 제거하거나 수정할 수는 없습니다.
▶ event handler method에서 begin문 다음에 자동으로 생성된 comment 대신에 method PlotValues()로 변경합니다.
method void QA_Updated( elsystem.Object sender, tsdata.marketdata.QuoteUpdatedEventArgs args ) begin
PlotValues();
end;
▶ 이제 method에 다래의 문장을 추가해서 Quote collection에서 선택한 quote fields를 그려냅니다.
특정 호가값을 읽기 위해서는 Quote["fieldname"] 뒤에 적절한 속성 유형 (doublevalue, integervalue, 등)을 추가할 필요가 있습니다.
field명과 데이터 유형의 목록을 알기 위해서는
dictionary나 EasyLanguage Object Reference 도움말 QuoteFields class를 참조합니다.
예를 들어, QuoteFields class에 Last라는 field이름에 대한 dictionary의 설명을 찾아보면,
설명하단에 doublevalue라는 데이터 유형을 가진 간단코드사례를 볼 수 있다.
Method void PlotValues() begin
plot1(QP.Quote["Last"].doublevalue,"Last");
plot2(QP.Quote["TradeVolume"].integervalue,"Volume");
plot3(QP.Quote["TradeTime"].datevalue.tostring(),"Time");
end;
PlotValues();
▶ indicator를 검증하고, RadarScreen에 추가합니다.
▶ 코드편집기 왼쪽 모서리에 Toolbox탭을 클릭하고 QuotesProvider component를 코드편집기로 드래그 합니다.
QuoteProvider1이란 이름으로 코드편집기 하단 component tray에 표시됩니다.
properties panel을 열기 위해 편집기 오른쪽 모서리의 Properties탭을 클릭하고
Properties editor 상단에서 QuotesProvider1을 선택합니다.
▶ Name을 단축명 CP로 변경합니다.
▶ provider가 차트나 그리드 상의 종목에 대한 호가 정보값을 가져올 수 있도록 Filter 카테고리에 Symbol을 예약어 symbol로 세팅합니다.
설정 종목에 요청할 Quotes Fields를 정하기 위해 Fields를 text string "last, tradevolume, tradetime"으로 세팅합니다.
▶ 사용가능한 Quote Field명과 데이터 유형은
dictionary의 QuoteFields class와 EasyLanguage Object Reference의 QuoteFileds 도움말에서 찾아볼 수 있습니다.
이제 QP component를 그리드나 차트 종목값에 접근할 수 있는 object로써 사용할 수 있습니다.
▶ 이벤트 아이콘을 클릭해서 property editor의 event pane으로 전환시킵니다.
이벤트 컬럼내에 목록 중 빈 값을 가진 Updated를 찾을 수 있습니다.
Updated라는 이벤트 이름을 더블클릭해서
easylanguage 문서 내에 event handler method를 추가하고 해당 속성과 연관된 새로운 method 이름을 만듭니다.
▶ QP_Updated라는 method가 문서에 추가됩니다.
event handler 괄호안에 파라미터가 자동으로 생성되는데 이를 직접 제거하거나 수정할 수는 없습니다.
▶ event handler method에서 begin문 다음에 자동으로 생성된 comment 대신에 method PlotValues()로 변경합니다.
method void QA_Updated( elsystem.Object sender, tsdata.marketdata.QuoteUpdatedEventArgs args ) begin
PlotValues();
end;
▶ 이제 method에 다래의 문장을 추가해서 Quote collection에서 선택한 quote fields를 그려냅니다.
특정 호가값을 읽기 위해서는 Quote["fieldname"] 뒤에 적절한 속성 유형 (doublevalue, integervalue, 등)을 추가할 필요가 있습니다.
field명과 데이터 유형의 목록을 알기 위해서는
dictionary나 EasyLanguage Object Reference 도움말 QuoteFields class를 참조합니다.
예를 들어, QuoteFields class에 Last라는 field이름에 대한 dictionary의 설명을 찾아보면,
설명하단에 doublevalue라는 데이터 유형을 가진 간단코드사례를 볼 수 있다.
Method void PlotValues() begin
plot1(QP.Quote["Last"].doublevalue,"Last");
plot2(QP.Quote["TradeVolume"].integervalue,"Volume");
plot3(QP.Quote["TradeTime"].datevalue.tostring(),"Time");
end;
PlotValues();
▶ indicator를 검증하고, RadarScreen에 추가합니다.