Lấy biểu tượng và khung thời gian của một biểu đồ bất kỳ
Hai thuộc tính cơ bản của bất kỳ biểu đồ nào là biểu tượng làm việc và khung thời gian của nó. Như chúng ta đã thấy trước đó, các thuộc tính này cho biểu đồ hiện tại có sẵn dưới dạng các biến tích hợp sẵn _Symbol
và _Period
, cũng như thông qua các hàm liên quan Symbol
và Period
. Các hàm sau có thể được sử dụng để xác định cùng các thuộc tính cho các biểu đồ khác: ChartSymbol
và ChartPeriod
.
string ChartSymbol(long chartId = 0)
Hàm trả về tên của biểu tượng của biểu đồ với định danh được chỉ định. Nếu tham số là 0, biểu đồ hiện tại được giả định.
Nếu biểu đồ không tồn tại, một chuỗi rỗng (""
) được trả về và _LastError
đặt mã lỗi ERR_CHART_WRONG_ID (4101).
ENUM_TIMEFRAMES ChartPeriod(long chartId = 0)
Hàm trả về giá trị khoảng thời gian cho biểu đồ với định danh được chỉ định.
Nếu biểu đồ không tồn tại, 0 được trả về.
Script ChartList2.mq5
, tương tự như ChartList1.mq5
, tạo ra một danh sách các biểu đồ chỉ ra biểu tượng và khung thời gian.
#include <MQL5Book/Periods.mqh>
void OnStart()
{
ChartList();
}
void ChartList()
{
const long me = ChartID();
long id = ChartFirst();
int count = 0;
Print("Chart List\nN, ID, Symbol, TF, *active");
// keep iterating over charts until there are none left
while(id != -1)
{
const string header = StringFormat("%d %lld %s %s %s",
count, id, ChartSymbol(id), PeriodToString(ChartPeriod(id)),
(id == me ? " *" : ""));
// fields: N, id, symbol, timeframe, label of the current chart
Print(header);
count++;
id = ChartNext(id);
}
Print("Total chart number: ", count);
}
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
Dưới đây là một ví dụ về nội dung nhật ký sau khi chạy script trên biểu đồ EURUSD, H1 (ở dòng thứ hai).
Chart List
N, ID, Symbol, TF, *active
0 132358585987782873 EURUSD M15
1 132360375330772909 EURUSD H1 *
2 132544239145024745 XAUUSD H1
3 132544239145024732 USDRUB D1
4 132544239145024744 EURUSD H1
Total chart number: 5
2
3
4
5
6
7
8
MQL5 cho phép không chỉ xác định mà còn chuyển đổi biểu tượng và khung thời gian của bất kỳ biểu đồ nào.