Trong MetaTrader 5 có 2 phần hỗ trợ cho việc giao dịch đó là Expert Advisors và Indicators.
- Expert Advisor viết tắc là EA, đây là phần mềm/chương trình được phát triển trên nền tảng MT5 nhằm hỗ trợ việc giao dịch tự động hay các tác vụ khác liên quan tới thị trường tài chính.
- Indicator hay còn gọi là chỉ báo phân tích kỹ thuật. Với trader thường sử dụng chỉ báo, họ chỉ nhìn thấy và quan tâm những gì mà chỉ báo hiển thị trên chart (biểu đồ nến/giá).
Về mặt kỹ thuật, EA và Indicator có sự liên kết với nhau thông qua một thành phần trung gian gọi là Indicator Buffer. Với trader bình thường, họ không quan tâm tới việc phát triển EA mà chỉ sử dụng Indicator cho việc phân tích kỹ thuật thì không nhất thiết phải biết và hiểu về Indicator Buffer.
Tuy nhiên, khi bạn tạo EA từ GigaFactory hoặc thậm chí bạn biết lập trình viết code tạo EA bằng ngôn ngữ mq5 trên nền tảng MT5 thì bạn cần phải hiểu rõ về Indicator Buffer.
Vậy Indicator Buffer là gì? Trong cụm từ Indicator Buffer thì Indicator là chỉ báo, còn lại chúng ta sẽ tìm hiểu về Buffer.
Nói một cách nôm na, đời thường thì Buffer là một vùng nhớ trong bộ nhớ của máy tính, vùng nhớ này sẽ lưu một giá trị nào đó. Giá trị này sẽ được dùng để làm số liệu đầu vào cho một chương trình xử lý một chức năng nào đó. Buffer được áp dụng rất nhiều trong kỹ thuật / khoa học máy tính.
Là một trader trên nền tảng MT5, bạn chỉ cần hiểu Buffer là một nơi để lưu một giá trị (cụ thể là một con số nào đó). Indicator Buffer là một vùng nhớ lưu giá trị mà chỉ báo sẽ trả ra. Và trong MetaTrader thì Buffer có vai trò làm trung gian giao tiếp giữa Indicator và EA. Một chỉ báo có thể trả về một hay nhiều giá trị sẽ tương ứng với một hay nhiều Buffer(s). Các EA sẽ dùng các giá trị Buffer này như là giá trị đầu vào để xử lý việc vào lệnh hoặc tính toán khối lượng vào lệnh, hay những mục đích khác nhau, v.v…
Hình trên đây minh họa một EA giao dịch tự động sử dụng 3 Indicators: Indicator S trả về 2 buffers (0 và 1), Indicator B trả về 3 buffers (0, 1 và 2) và Indicator D trả về 1 buffer (buffer 0). EA có thể sử dụng hết tất cả các buffers hoặc chỉ một vài buffers được trả về từ Indicator.
Và các bạn để ý các buffer này có thứ tự của riêng nó (còn gọi lài Buffer Index), và theo MT5 thứ tự của các Buffer được tính bắt đầu từ 0.
Làm sao để biết buffer có thứ tự là bao nhiêu? Có 2 cách:
- Dùng cửa sổ Data Window của MT5.
- Dùng tab Indi. Buffer trong GigaFactory.
Để mở cửa sổ Data Window của MT5, bạn bấm Ctrl+D, cửa sổ này hiển thị hết tất cả Buffers của những Indicator đã được add vào chart như hình bên dưới.
Trong hình trên chart này có 2 chỉ báo là MA(50) và EngulfingCandle.
- MA(50) chỉ có 1 buffer thì đây là buffer 0 vị trí nến hiện tại có giá trị là 1.337365.
- EngulfingCandle có 2 buffers, và buffer ở trên Engulfing Bullish sẽ là Buffer 0 tại vị trí chuột thì buffer này đang có giá trị là 1.337350. Còn ở dưới là buffer Engulfing Bearish sẽ là Buffer 1, tại vị trí này Buffer 1 không có giá trị có nghĩa là không có mẫu hình nến Engulfing giảm.
Và tương tự như vậy, nếu có một chỉ báo nào đó có 3 buffers thì thứ tự các buffers sẽ là 0, 1, 2 tương ứng với thứ tự Buffer được hiển thị từ trên xuống trong cửa sổ Data Window.
Với thao tác trên GigaFactory, bạn hãy xem tiếp phần bên dưới.
Ví dụ đường MA là một chỉ báo rất thông dụng để phân tích kỹ thuật. Với trader bình thường họ chỉ xem nến nằm trên hay dưới đường MA để đưa ra chiến lược Buy hay Sell. Nhưng khi bạn làm một robot (EA) giao dịch tự động thì bạn phải hình dung ra sự tương quan giữa nến và đường MA.
Như hình trong biểu đồ trên, khi bạn rê chuột vào đường MA bạn sẽ thấy một khung chữ nhật hiển thị thông tin của đường MA. Trong khung này bạn thấy dòng cuối có ghi là Value: 1.357754. Thì đây là giá trị của Buffer 0 được trả về từ chỉ báo đường MA tương ứng với vị trí nến. Trong EA bạn khi so sánh giá của nến với đường MA, bạn sẽ phải dùng giá trị Buffer này để so sánh với giá của nến.
Ví dụ thiết lập như hình sau có nghĩa là Buy khi giá đóng nến trên đường MA(50).
Có thể chia làm 2 loại Indicator Buffer: Chỉ báo trả về buffer có giá trị liên tục và buffer có giá trị không liên tục.
- Chỉ báo trả về Buffer có giá trị liên tục như MA, Bollinger band, RSI, … là những chỉ báo vẽ đường liên tục trên chart thì Buffer luôn trả về.
- Chỉ báo trả về Buffer có giá trị không liên tục, thì đây là các chỉ báo nhận diện mẫu hình nến hoặc các chỉ báo tín hiệu, thì với những chỉ báo này khi nào xuất hiện mẫu hình nến trên chart hoặc có tín hiệu Buy/Sell thì khi đó Buffer mới có giá trị, ngược lại thì sẽ không có giá trị (có nghĩa là chỉ báo chỉ trả về giá trị > 0 khi có tín hiệu, khi không có tín hiệu thì trị trả về = 0 hoặc rỗng)
Sau đây là các ví dụ chỉ báo về Candle pattern hoặc là chỉ báo Tín hiệu Buy/Sell và cách áp dụng chỉ báo này vào biểu thức so sánh trong GigaFactory.
Với chỉ báo Candle patterns thì khi nào xuất hiện mẫu hình nến trên chart sẽ có đánh dấu mẫu hình bằng mũi tên hay một ký hiệu nào đó. Đồng thời chỉ báo cũng sẽ trả về Buffer có giá trị KHÁC 0.
Hình trên đây là ví dụ về chỉ báo EngulfingCandle, chỉ báo này trả về 2 buffers: buffer 0 là Engulfing Bullish và buffer 1 là Engulfing Bearish (Tại sao biết? Nếu bạn chưa nhớ thì vui lòng xem lại phần trên trong mục Data Window).
- Ví dụ điều kiện vào lệnh Buy là xuất hiện mẫu hình nến Engulfing Bullish và giá đóng nến nằm trên đường MA(20)thì bạn làm sẽ thiết lập biểu thức điều kiện như sau:
- Bên vế trái chọn Type là Indicator, Value là tên chỉ báo EngulfingCandle, Buffer là 0. Tại sao Buffer ở đây ghi là 0? là vì Buffer Index của EngulfingCandle là 0.
- Tương tự với chỉ báo Tín hiệu Buy/Sell, thì loại chỉ báo này hiển thị các mũi tên chỉ ra tín hiệu Buy hay tín hiệu Sell trên chart, và cũng sẽ trả về Buffer tương ứng với mỗi tín hiệu đó. Vì đây là chỉ báo tín hiệu BUY và SELL nên nó cũng sẽ trả về 2 buffers, một cho Buy và một cho Sell.
Dưới đây là ví dụ về chỉ báo tín hiệu EGSU, hiển thị mũi tên Đỏ là Sell, và mũi tên Xanh dương là Buy, tương ứng với buffer 0 là Buy và buffer 1 cho Sell.
Buffer Sell của chỉ báo EGSU trả về giá trị là 1.38101
Buffer Buy của chỉ báo EGSU trả về giá trị là 1.35260
- Nếu tại vị trí nến nào đó không có tín hiệu thì chỉ báo không trả về giá trị (hay trị trả về sẽ là 0) với đặc điểm như vậy thì điều kiện so sánh trong GigaFactory phải thiết lập như sau:
Thiết lập điều kiện cho lệnh Buy với tín hiệu Buy từ chỉ báo EGSU
Thiết lập điều kiện cho lệnh Sell với tín hiệu Sell từ chỉ báo EGSU
Như đã nói ở trên GigaFactory có hỗ trợ xem giá trị Buffer tương ứng với Buffer Index cũng như Indicator trả về bao nhiêu buffer. Cách xem thông tin Buffer như sau:
Trong GigaFactory chọn tab Indi. Buffer bạn chọn tên Indicator đã được add vào chart, bạn nhập ô Bar là vị trí nến, thì nếu buffer tại vị trí bạn nhập có dữ liệu thì nó sẽ hiển thị trong bảng Buffer Values bên dưới.
Buffer Value của đường MA(50) tại vị trí nến Bar là 1.
- Dưới đây là ví dụ về 1 chỉ báo tín hiệu Buy/Sell, chỉ báo này trả về 2 buffers (0 cho Buy, 1 cho Sell)
- Tại vị trí nến số 52 thì có tín hiệu Buy và giá trị buffer trả về là 1.33840, bạn vào tab Indi. Buffer của GigaFatory chọn tên chỉ báo là EGSU và nhập Bar là 52 thì bảng Buffer Value sẽ hiển thị Buffer Index (chỉ số hay thứ tự buffer) và giá trị tương ứng như hình bên dưới.
- Tương tự cho tính hiệu Sell tại nến số 7 và buffer trả về là 1.33988
Trong tab Indi. Buffer, bạn cũng nhập vị trí nến số 7 vào ô Bar thì GigaFactory sẽ hiển thị giá trị buffer với thứ tự buffer tương ứng.
Hi vọng phần giải thích về Indicator Buffer trên đây giúp bạn hiểu và nắm được Buffer là gì và áp dụng nó trong GigaFactory như thế nào. Nếu bạn có thắc mắc gì về phần Indicator Buffer này vui lòng comment bên dưới, hoặc tương tác trên group Telegram FXCE-EA.
Còn nếu bạn chưa biết GigaFactory là gì thì hãy xem tại đây.