기고글 토론 "구글 차트 API와 표준 라이브러리 클래스를 이용하여 정보 보드 만들기"

 

새로운 기고글 구글 차트 API와 표준 라이브러리 클래스를 이용하여 정보 보드 만들기 가 게재되었습니다:

MQL5 프로그래밍 언어는 주로 자동화된 거래 시스템과 복잡한 기술 분석 수단을 만드는 것을 목표로 합니다. 하지만 이것 외에도, 그것은 우리가 시장 상황을 추적하기 위한 흥미로운 정보 시스템을 만들 수 있게 해주며, 거래자와의 반품 연결을 제공합니다. 본 문서는 MQL5 표준 라이브러리 구성요소를 다룰 것이며, 목표 달성을 위한 실전 사례 또한 적어두었습니다. 또한 차트 작성에 쓰인 구글 차트 API의 실제 예시 또한 실려있습니다.

모든 클래스의 코드를 포함하는 파일은 MQL5/Include 폴더에 있습니다. 라이브러리 코드를 볼 때 해당 코드는 클래스만 제공하고 기능은 제공하지 않는다는 것을 알 수 있습니다. 따라서 이를 사용하려면 객체 지향 프로그래밍(OOP)에 대한 지식이 어느정도는 있어야 합니다.  

모든 라이브러리 클래스(거래 클래스 제외)는 기본 클래스 CObject에 기원을 두고 있습니다. 기본 클래스와 그 상속자들이 다 준비되어 있으니 - 지금부터 클래스 다이어그램을 만들어 볼 것입니다. MQL5 언어는 기본적으로 C++의 부분 집합이므로, IBM Rational Rose instrument를 사용하여 C++ 프로젝트의 역엔지니어링을 위한 도구를 다이어그램의 자동 구성에 사용해봅시다.

작성자: Евгений

 

이 구조가 마음에 들지 않았습니다: ((CArrayDouble *)Data.At(Data.Total()-1)).Add(profit).

다이어그램을 사용하면 훌륭한 해결책이 있습니다.

 

컴파일 시 다음 줄에서 유형 변환으로 인해 데이터가 손실될 수 있는 오류 InfoBoard.mq5 589 20이 발생합니다.

int deal_type=((CArrayDouble *)Data.At(i)).At(1); //및 거래 유형

 
sergey1294:

컴파일 시 다음 줄에서 유형 변환으로 인해 데이터가 손실될 수 있는 오류 InfoBoard.mq5 589 20이 발생합니다.

int deal_type=((CArrayDouble *)Data.At(i)).At(1); //및 거래 유형


은 아마도 오류가 아니라 경고일 것입니다.

그냥 넘어가셔도 되고, 인디케이터를 자유롭게 실행하셔도 됩니다.

 
오류 2010.06.03 11:47:26 정보보드 (EURUSD,M5) Convert_PNG() 호출 시 오류
차트가 제대로 표시되지 않습니다.
 
sergey1294:
오류 2010.06.03 11:47:26 정보보드(EURUSD,M5) Convert_PNG() 호출 시 오류 발생
차트가 제대로 표시되지 않습니다.

MQL5\Files 폴더로 이동하여 board_balance_chart.png 및 pie_chart.png 파일이 있는지 확인하세요.

또한 MQL5/Images 폴더도 확인하세요.

 
space_cowboy:

MQL5\Files 폴더로 이동하여 보드_밸런스_차트.png 및 파이_차트.png 파일이 있는지 확인합니다.

또한 MQL5/Images 폴더도 확인하세요.

예, 이 파일들이 있고 터미널의 다른 디렉토리에도 복사했습니다. Windows 7을 사용하고 있기 때문에 터미널을 설치할 때 폴더가 아무데도 흩어져 있습니다. 오류 메시지는 사라졌지만 이미지는 여전히 차트에로드되지 않습니다.
 
sergey1294:
터미널을 설치할 때 폴더가 어디에 있는지 모르는 사람에게 흩어져 있습니다.

이것이 아마도 문제 일 것입니다.

스크립트를 실행해 보세요.

#property copyright "Copyright 2010, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Print(TerminalInfoString(TERMINAL_PATH));
  }
//+------------------------------------------------------------------+
를 실행하여 스크립트가 표시하는 터미널 폴더에 MQL5\Files, MQL5\Images 및 MQL5\Libraries 폴더(dll을 넣어야 하는 위치)가 있는지 확인하세요.


 
space_cowboy:

그게 문제일 수 있습니다.

스크립트를 실행해 보세요.

를 실행하고 스크립트가 표시하는 터미널 폴더에 MQL5\Files, MQL5\Images 및 MQL5\Libraries 폴더(dll을 넣어야 하는 위치)가 있는지 확인합니다.


일반적으로 폴더가 중복되는 곳에는 파일도 거기에 넣었지만 여전히 사진을 로드하지 않습니다.
 
sergey1294:
어쨌든 중복 폴더가 있는 곳에 파일을 넣었는데도 여전히 사진을 업로드할 수 없습니다.

"중복 폴더"가 무슨 뜻인가요?

터미널을 제대로 설치하세요.

스크립트(위 참조)를 실행하고 이 결과를 얻습니다:

그런 다음 이 폴더를 열면 해당 하위 폴더가 포함되어 있어야 합니다:

 
space_cowboy:

"폴더 중복"이란 무슨 뜻인가요?

터미널을 제대로 설치하세요.

스크립트(위 참조)를 실행하고 다음과 같은 결과를 얻습니다:

그런 다음 이 폴더를 열면 해당 하위 폴더가 포함되어 있어야 합니다:

Windows 7에서는 어떤 종류의 보호가 트리거되고 터미널이 디렉토리에 설치되어 있습니다.

C:\프로그램 파일 (x86)\MetaTrader 5_1\MQL5 그러나 동시에 디렉토리의 폴더가 중복됩니다.

C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\E885B7972A0C831E41EB39B7A9849BBC\MQL5

둘 다에 파일을 업로드했지만 여전히 작동하지 않으며 터미널을 다시 시작하면 모든 것이 사라지고 표시기 창이 비어 있습니다.