Thuộc tính biểu đồ
Các định danh của liệt kê ENUM_CHART_PROPERTY
được sử dụng làm tham số cho các hàm làm việc với biểu đồ. Viết tắt r/o
trong cột "Loại thuộc tính" có nghĩa là thuộc tính này chỉ đọc và không thể thay đổi. Viết tắt w/o
trong cột "Loại thuộc tính" có nghĩa là thuộc tính này chỉ ghi và không thể lấy được. Khi truy cập một số thuộc tính nhất định, cần chỉ định một tham số bổ sung (modifier), dùng để chỉ ra số lượng cửa sổ phụ của biểu đồ. 0 có nghĩa là cửa sổ chính.
Các hàm xác định thuộc tính biểu đồ thực tế được sử dụng để gửi lệnh thay đổi đến biểu đồ. Nếu các hàm này được thực thi thành công, lệnh sẽ được thêm vào hàng đợi chung của các sự kiện biểu đồ. Các thay đổi được áp dụng cho biểu đồ khi xử lý hàng đợi sự kiện biểu đồ.
Vì vậy, không nên mong đợi cập nhật trực quan ngay lập tức của biểu đồ sau khi gọi các hàm này. Nói chung, biểu đồ được cập nhật tự động bởi terminal sau các sự kiện thay đổi - như khi có báo giá mới, thay đổi kích thước cửa sổ biểu đồ, v.v. Sử dụng hàm ChartRedraw() để buộc cập nhật biểu đồ.
Đối với các hàm ChartSetInteger() và ChartGetInteger()
ID | Mô tả | Loại thuộc tính |
---|---|---|
CHART_SHOW | Vẽ biểu đồ giá. Nếu là false , việc vẽ bất kỳ thuộc tính nào của biểu đồ giá bị vô hiệu hóa và tất cả các lề viền biểu đồ bị loại bỏ, bao gồm thang thời gian và giá, thanh điều hướng nhanh, nhãn sự kiện lịch, nhãn giao dịch, chú thích chỉ báo và thanh công cụ, cửa sổ phụ chỉ báo, biểu đồ khối lượng, v.v. Việc vô hiệu hóa vẽ là giải pháp hoàn hảo để tạo giao diện chương trình tùy chỉnh bằng tài nguyên đồ họa. Các đối tượng đồ họa luôn được vẽ bất kể giá trị thuộc tính CHART_SHOW . | bool |
CHART_IS_OBJECT | Xác định đối tượng "Chart" (OBJ_CHART ) – trả về true cho đối tượng đồ họa. Trả về false cho biểu đồ thực tế. | bool r/o |
CHART_BRING_TO_TOP | Hiển thị biểu đồ lên trên các biểu đồ khác | bool |
CHART_CONTEXT_MENU | Bật/tắt quyền truy cập menu ngữ cảnh bằng cách nhấp chuột phải. Khi CHART_CONTEXT_MENU=false , chỉ menu ngữ cảnh của biểu đồ bị vô hiệu hóa. Menu ngữ cảnh của các đối tượng trên biểu đồ vẫn khả dụng. | bool (mặc định là true) |
CHART_CROSSHAIR_TOOL | Bật/tắt quyền truy cập công cụ Crosshair bằng cách nhấp chuột giữa. | bool (mặc định là true) |
CHART_MOUSE_SCROLL | Cuộn biểu đồ theo chiều ngang bằng chuột trái. Cuộn dọc cũng khả dụng nếu bất kỳ thuộc tính nào sau đây được đặt thành true : CHART_SCALEFIX , CHART_SCALEFIX_11 hoặc CHART_SCALE_PT_PER_BAR . Khi CHART_MOUSE_SCROLL=false , cuộn biểu đồ bằng bánh xe chuột không khả dụng. | bool |
CHART_EVENT_MOUSE_WHEEL | Gửi thông báo về các sự kiện bánh xe chuột (CHARTEVENT_MOUSE_WHEEL ) đến tất cả chương trình mql5 trên biểu đồ. | bool (mặc định là true) |
CHART_EVENT_MOUSE_MOVE | Gửi thông báo về sự kiện di chuyển và nhấp chuột (CHARTEVENT_MOUSE_MOVE ) đến tất cả chương trình mql5 trên biểu đồ. | bool |
CHART_EVENT_OBJECT_CREATE | Gửi thông báo về sự kiện tạo đối tượng mới (CHARTEVENT_OBJECT_CREATE ) đến tất cả chương trình mql5 trên biểu đồ. | bool |
CHART_EVENT_OBJECT_DELETE | Gửi thông báo về sự kiện xóa đối tượng (CHARTEVENT_OBJECT_DELETE ) đến tất cả chương trình mql5 trên biểu đồ. | bool |
CHART_MODE | Loại biểu đồ (nến, thanh hoặc đường) | enum ENUM_CHART_MODE |
CHART_FOREGROUND | Biểu đồ giá ở phía trước | bool |
CHART_SHIFT | Chế độ thụt lề biểu đồ giá từ biên phải | bool |
CHART_AUTOSCROLL | Chế độ tự động di chuyển đến biên phải của biểu đồ | bool |
CHART_KEYBOARD_CONTROL | Cho phép quản lý biểu đồ bằng bàn phím ("Home", "End", "PageUp", "+", "-", "Mũi tên lên", v.v.). Đặt CHART_KEYBOARD_CONTROL thành false vô hiệu hóa cuộn và缩放 biểu đồ nhưng vẫn giữ khả năng nhận sự kiện nhấn phím trong OnChartEvent(). | bool |
CHART_QUICK_NAVIGATION | Cho phép biểu đồ nhận các phím Space và Enter để kích hoạt thanh điều hướng nhanh. Thanh điều hướng nhanh tự động xuất hiện ở dưới cùng biểu đồ sau khi nhấp đúp chuột hoặc nhấn Space/Enter. Nó cho phép thay đổi nhanh ký hiệu, khung thời gian và ngày thanh đầu tiên hiển thị. | bool |
CHART_SCALE | Tỷ lệ | int từ 0 đến 5 |
CHART_SCALEFIX | Chế độ tỷ lệ cố định | bool |
CHART_SCALEFIX_11 | Chế độ tỷ lệ 1:1 | bool |
CHART_SCALE_PT_PER_BAR | Tỷ lệ được chỉ định bằng điểm trên mỗi thanh | bool |
CHART_SHOW_TICKER | Hiển thị mã ký hiệu ở góc trên bên trái. Đặt CHART_SHOW_TICKER thành false cũng đặt CHART_SHOW_OHLC thành false và tắt OHLC. | bool |
CHART_SHOW_OHLC | Hiển thị giá trị OHLC ở góc trên bên trái. Đặt CHART_SHOW_OHLC thành true cũng đặt CHART_SHOW_TICKER thành true và bật mã ký hiệu. | bool |
CHART_SHOW_BID_LINE | Hiển thị giá trị Bid dưới dạng đường ngang trên biểu đồ | bool |
CHART_SHOW_ASK_LINE | Hiển thị giá trị Ask dưới dạng đường ngang trên biểu đồ | bool |
CHART_SHOW_LAST_LINE | Hiển thị giá trị Last dưới dạng đường ngang trên biểu đồ | bool |
CHART_SHOW_PERIOD_SEP | Hiển thị các đường phân cách dọc giữa các kỳ liền kề | bool |
CHART_SHOW_GRID | Hiển thị lưới trên biểu đồ | bool |
CHART_SHOW_VOLUMES | Hiển thị khối lượng trên biểu đồ | enum ENUM_CHART_VOLUME_MODE |
CHART_SHOW_OBJECT_DESCR | Hiển thị mô tả văn bản của đối tượng (không khả dụng cho tất cả đối tượng) | bool |
CHART_SHOW_TRADE_HISTORY | Hiển thị các giao dịch từ lịch sử giao dịch dưới dạng mũi tên vào/ra trên biểu đồ. Xem mô tả tùy chọn "Hiển thị lịch sử giao dịch" trong cài đặt nền tảng. | bool |
CHART_VISIBLE_BARS | Số lượng thanh hiển thị trên biểu đồ | int r/o |
CHART_WINDOWS_TOTAL | Tổng số cửa sổ biểu đồ, bao gồm các cửa sổ phụ của chỉ báo | int r/o |
CHART_WINDOW_IS_VISIBLE | Khả năng hiển thị của các cửa sổ phụ | bool r/o modifier - số cửa sổ phụ |
CHART_WINDOW_HANDLE | Xử lý cửa sổ biểu đồ (HWND) | int r/o |
CHART_WINDOW_YDISTANCE | Khoảng cách giữa khung trên của cửa sổ phụ chỉ báo và khung trên của cửa sổ biểu đồ chính, theo trục Y dọc, tính bằng pixel. Trong trường hợp sự kiện chuột, tọa độ con trỏ được truyền theo tọa độ của cửa sổ biểu đồ chính, trong khi tọa độ của đối tượng đồ họa trong cửa sổ phụ chỉ báo được đặt tương đối so với góc trên bên trái của cửa sổ phụ. Giá trị này cần thiết để chuyển đổi tọa độ tuyệt đối của biểu đồ chính sang tọa độ cục bộ của cửa sổ phụ để làm việc chính xác với các đối tượng đồ họa, có tọa độ được đặt tương đối so với góc trên bên trái của khung cửa sổ phụ. | int r/o modifier - số cửa sổ phụ |
CHART_FIRST_VISIBLE_BAR | Số của thanh đầu tiên hiển thị trên biểu đồ. Chỉ số của các thanh giống như đối với chuỗi thời gian. | int r/o |
CHART_WIDTH_IN_BARS | Chiều rộng biểu đồ tính bằng thanh | int r/o |
CHART_WIDTH_IN_PIXELS | Chiều rộng biểu đồ tính bằng pixel | int r/o |
CHART_HEIGHT_IN_PIXELS | Chiều cao biểu đồ tính bằng pixel | int modifier - số cửa sổ phụ |
CHART_COLOR_BACKGROUND | Màu nền của biểu đồ | color |
CHART_COLOR_FOREGROUND | Màu của trục, thang và đường OHLC | color |
CHART_COLOR_GRID | Màu lưới | color |
CHART_COLOR_VOLUME | Màu của khối lượng và mức mở vị thế | color |
CHART_COLOR_CHART_UP | Màu cho thanh tăng, bóng và viền thân của nến tăng | color |
CHART_COLOR_CHART_DOWN | Màu cho thanh giảm, bóng và viền thân của nến giảm | color |
CHART_COLOR_CHART_LINE | Màu biểu đồ đường và màu của nến Nhật "Doji" | color |
CHART_COLOR_CANDLE_BULL | Màu thân của nến tăng | color |
CHART_COLOR_CANDLE_BEAR | Màu thân của nến giảm | color |
CHART_COLOR_BID | Màu mức giá Bid | color |
CHART_COLOR_ASK | Màu mức giá Ask | color |
CHART_COLOR_LAST | Màu đường của giá giao dịch cuối cùng (Last) | color |
CHART_COLOR_STOP_LEVEL | Màu của các mức lệnh dừng (Stop Loss và Take Profit) | color |
CHART_SHOW_TRADE_LEVELS | Hiển thị các mức giao dịch trên biểu đồ (mức của vị thế mở, Stop Loss, Take Profit và lệnh chờ) | bool |
CHART_DRAG_TRADE_LEVELS | Cho phép kéo các mức giao dịch trên biểu đồ bằng chuột. Chế độ kéo được bật mặc định (true ) | bool |
CHART_SHOW_DATE_SCALE | Hiển thị thang thời gian trên biểu đồ | bool |
CHART_SHOW_PRICE_SCALE | Hiển thị thang giá trên biểu đồ | bool |
CHART_SHOW_ONE_CLICK | Hiển thị bảng Giao dịch một cú nhấp chuột trên biểu đồ | bool |
CHART_IS_MAXIMIZED | Cửa sổ biểu đồ được phóng to tối đa | bool r/o |
CHART_IS_MINIMIZED | Cửa sổ biểu đồ được thu nhỏ | bool r/o |
CHART_IS_DOCKED | Cửa sổ biểu đồ được neo. Nếu đặt thành false , biểu đồ có thể được kéo ra ngoài khu vực terminal | bool |
CHART_FLOAT_LEFT | Tọa độ trái của cửa sổ biểu đồ không neo so với màn hình ảo | int |
CHART_FLOAT_TOP | Tọa độ trên của cửa sổ biểu đồ không neo so với màn hình ảo | int |
CHART_FLOAT_RIGHT | Tọa độ phải của cửa sổ biểu đồ không neo so với màn hình ảo | int |
CHART_FLOAT_BOTTOM | Tọa độ dưới của cửa sổ biểu đồ không neo so với màn hình ảo | int |
Đối với các hàm ChartSetDouble() và ChartGetDouble()
ID | Mô tả | Loại thuộc tính |
---|---|---|
CHART_SHIFT_SIZE | Kích thước thụt lề của thanh số không từ biên phải tính bằng phần trăm | double (từ 10 đến 50 phần trăm) |
CHART_FIXED_POSITION | Vị trí cố định của biểu đồ từ biên trái tính bằng phần trăm. Vị trí cố định của biểu đồ được đánh dấu bằng một tam giác xám nhỏ trên trục thời gian ngang. Nó chỉ hiển thị nếu tự động cuộn biểu đồ sang phải khi có tick đến bị tắt (xem thuộc tính CHART_AUTOSCROLL ). Thanh ở vị trí cố định giữ nguyên chỗ khi phóng to hoặc thu nhỏ. | double |
CHART_FIXED_MAX | Giá trị tối đa cố định của biểu đồ | double |
CHART_FIXED_MIN | Giá trị tối thiểu cố định của biểu đồ | double |
CHART_POINTS_PER_BAR | Tỷ lệ tính bằng điểm trên mỗi thanh | double |
CHART_PRICE_MIN | Giá trị tối thiểu của biểu đồ | double r/o modifier - số cửa sổ phụ |
CHART_PRICE_MAX | Giá trị tối đa của biểu đồ | double r/o modifier - số cửa sổ phụ |
Đối với các hàm ChartSetString() và ChartGetString()
ID | Mô tả | Loại thuộc tính |
---|---|---|
CHART_COMMENT | Văn bản của bình luận trên biểu đồ | string |
CHART_EXPERT_NAME | Tên của Expert Advisor đang chạy trên biểu đồ với chart_id được chỉ định | string r/o |
CHART_SCRIPT_NAME | Tên của script đang chạy trên biểu đồ với chart_id được chỉ định | string r/o |
Ví dụ:
int chartMode=ChartGetInteger(0,CHART_MODE);
switch(chartMode)
{
case(CHART_BARS): Print("CHART_BARS"); break;
case(CHART_CANDLES): Print("CHART_CANDLES");break;
default: Print("CHART_LINE");
}
bool shifted=ChartGetInteger(0,CHART_SHIFT);
if(shifted) Print("CHART_SHIFT = true");
else Print("CHART_SHIFT = false");
bool autoscroll=ChartGetInteger(0,CHART_AUTOSCROLL);
if(autoscroll) Print("CHART_AUTOSCROLL = true");
else Print("CHART_AUTOSCROLL = false");
int chartHandle=ChartGetInteger(0,CHART_WINDOW_HANDLE);
Print("CHART_WINDOW_HANDLE = ",chartHandle);
int windows=ChartGetInteger(0,CHART_WINDOWS_TOTAL);
Print("CHART_WINDOWS_TOTAL = ",windows);
if(windows>1)
{
for(int i=0;i<windows;i++)
{
int height=ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,i);
double priceMin=ChartGetDouble(0,CHART_PRICE_MIN,i);
double priceMax=ChartGetDouble(0,CHART_PRICE_MAX,i);
Print(i+": CHART_HEIGHT_IN_PIXELS = ",height," pixels");
Print(i+": CHART_PRICE_MIN = ",priceMin);
Print(i+": CHART_PRICE_MAX = ",priceMax);
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Xem thêm