Indicator Buffer là gì? Cách sử dụng Indicator Buffer trong GigaFactory để tạo EA

QTrader
QTrader
Bình luận: 0Lượt xem: 1,262
QTrader

QTrader

Moderator
  • QTrader

    QTrader

Trong MetaTrader 5 có 2 phần hỗ trợ cho việc giao dịch đó là Expert AdvisorsIndicators giúp cho việc giao dịch trở nên dễ dàng hơn.
  • Expert Advisors viết tắt 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 sử dụng chỉ báo, thông thường 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, EAIndicator 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, hay sử dụng EA xử lý lệnh nhận tín hiệu từ với Indicator như LiteUni, 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, vế còn lại là Buffer, vậy Buffer là gì?.

Nói một cách nôm na, 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.

Tuy nhiên, gói gọn trong phạm vi là trader sử dụng nền tảng MT5, bạn chỉ cần hiểu Indicator Buffer là một nơi để chỉ báo trả ra 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 để sử dụng trong EA. Vậy 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). EA sẽ dùng các giá trị Buffers 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 (01), Indicator B trả về 3 buffers (0, 12) 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.

Các Buffers này có thứ tự của riêng nó (còn gọi là 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 Indicators đang có trong chart, hãy xem hình sau đây.
Trong chart này đang có 2 chỉ báo là MA(50)EngulfingCandle.
  • MA(50) chỉ có 1 buffer thì đây là buffer 0, tại vị trí chuột ở nến hiện tại có giá trị là 1.337365.
  • EngulfingCandle có 2 buffers là Engulfing BullishEngulfing Bearish. buffer Engulfing Bullish ở trên là Buffer 0 tại vị trí chuột thì buffer này đang có giá trị là 1.337350. Còn buffer Engulfing Bearish ở dưới sẽ là Buffer 1, tại vị trí này buffer 1 không có giá trị, có nghĩa là ở vị trí nến hiện tại 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, hãy cùng xem tiếp các ví dụ sau:

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 nhìn vào chart, họ chỉ xem nến nằm trên hay dưới đường MA là một yếu tố 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 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, đây là giá trị của Buffer 0 được trả về từ chỉ báo MA tương ứng với vị trí nến hiện tại. 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à vào lệnh 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ụcbuffer 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 tương ứng với từng nến, thì Buffer luôn trả về giá trị tương ứng.
  • 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. 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ì Buffer 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). Chú ý, giá trị trả về từ loại buffer này không phải là giá tương ứng với thông tin nến, mà chỉ là vị trí của ký hiệu trên chart.
Sau đây là các ví dụ về chỉ báo Candle pattern và chỉ báo Tín hiệu Buy/Sell cũng như 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, 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 tương ứng có giá trị KHÁC 0.
1636870864724.png

Hình trên là vì dụ về chỉ báo nhận diện nến thân dài râu ngắn hay còn gọi là ERC hoặc Marubuzu

Chỉ báo nhận diện ERC (ERC-Pattern) trả về một buffer duy nhất, tuy nhiên giá trị trả về không liên tục. Chỉ khi nào xuất hiện ERC thì khi đó Buffer mới có giá trị KHÁC 0. Chỉ báo ERC-Pattern này có thể kết hợp với chỉ báo EngulfingCandle để lọc ra được những nẫu hình nến Engulfing đáng tin cậy hơn.

Hình trên đây là ví dụ về chỉ báo EngulfingCandle, chỉ báo này trả về 2 buffers: Engulfing Bullish (buffer 0) và Engulfing Bearish (buffer 1) (Tại sao biết buffer 0 và 1? Nếu bạn chưa nhớ thì vui lòng xem lại phần xem thứ tự buffer bằng Data Window trong MT5).

  • Áp dụng vào GigaFactory, ví dụ điều kiện vào lệnh Buy khi xuất hiện mẫu hình nến Engulfing Bullishgiá đóng nến trên đường MA(50), cách thiết lập biểu thức điều kiện như sau:
    • Điều kiện 1: check giá so với đường MA
      • Bên vế trái chọn Type là Indicator, Value là tên chỉ báo MA(20), Buffer là 0. Tại sao Buffer ở đây ghi là 0? là vì MA chỉ có một buffer nên buffer index là 0.
      • So sánh: dùng dấu <
      • Vế phải chọn Type là Candel, Value là Close
    • Điều kiện 2: check bộ nến bao trùm tăng
      • 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.
      • So sánh: dùng dấu != hay >
      • Vế phải chọn Type là Number, Value là 0.
    • Điều kiện cuối là dùng để xác nhận nến bao trùm hay nến mẹ là nến có thân dài
      • Bên vế trái chọn Type là Indicator, Value là tên chỉ báo Extended Range Candle, Buffer là 0. Tại sao Buffer ở đây ghi là 0? là vì chỉ báo ERC-Pattern chỉ trả về một buffer duy nhất nên buffer index là 0.
      • So sánh: dùng dấu > hoặc !=
      • Vế phải chọn Type là Number, Value là 0.
Kết quả như hình sau:
1636871470791.png
  • Tương tự như vậy, chỉ báo Tín hiệu Buy/Sell sẽ 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à chỉ báo này cũng sẽ trả về buffers tương ứng với mỗi tín hiệu đó. Khi có tín hiệu BUY chỉ báo trả về giá trị cho buffer Buy và có tín hiệu SELL chỉ báo trả về giá trị cho buffer Sell.
Dưới đây là ví dụ về chỉ báo tín hiệu EGSU, chỉ báo này 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 giá trị của buffer trả về 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

1636804710496.png

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 (Buffer Index cũng như Buffer Value) như sau:

Trong GigaFactory chọn tab Indi. Buffer bạn chọn tên Indicator đã được add vào chart, sau đó nhập vị trí nến vào ô Bar, thì nếu buffer tại vị trí nến bạn nhập có dữ liệu thì nó sẽ hiển thị Buffer Value KHÁC 0 trong bảng Buffers 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ề chỉ báo EGSU cho 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 52 thì bảng Buffers sẽ hiển thị Buffer Index và giá trị Buffer Value 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 đượ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.

Chúc bạn giao dịch vui vẻ và thành công.
 
Xem nhiều nhất
  • FXCE EA Entry Notify
  • FXCE EA Copy Trades MT5 to MT5
  • Last edited:
    Bên trên