Giới thiệu chung về Fibonacci trong phân tích kỹ thuật

Fibonacci là một trong những công cụ phổ biến và được tin dùng trong phân tích kỹ thuật, giúp nhà giao dịch xác định các mức hỗ trợ và kháng cự tiềm năng dựa trên các tỉ lệ phần trăm của dãy số Fibonacci (0.236, 0.382, 0.5, 0.618, 0.786…). Khi áp dụng đúng cách, Fibonacci có thể cung cấp các điểm vào lệnh, điểm chốt lời và mức dừng lỗ hợp lý, tăng khả năng thành công trong giao dịch.

Amibroker (viết tắt là AB) là một phần mềm phân tích kỹ thuật mạnh mẽ, hỗ trợ lập trình AFL (Amibroker Formula Language) để tùy chỉnh các chỉ báo, chiến lược và biểu đồ. Việc vẽ Fibonacci trên biểu đồ Amibroker không chỉ giúp người dùng quan sát trực quan mà còn có thể tích hợp vào các chiến lược tự động.

Bài viết này sẽ hướng dẫn chi tiết cách vẽ Fibonacci trên Amibroker, bao gồm:

  1. Cách vẽ Fibonacci bằng công cụ giao diện (GUI) tích hợp sẵn
  2. Cách lập trình vẽ Fibonacci bằng AFL
  3. Kỹ thuật áp dụng Fibonacci trong các mẫu hình giá
  4. Lưu ý và lỗi thường gặp khi sử dụng Fibonacci
  5. Một số ví dụ thực tế và chiến lược giao dịch sử dụng Fibonacci

Mục tiêu cuối cùng là giúp bạn không chỉ biết cách vẽ mà còn hiểu sâu về cách khai thác Fibonacci một cách hiệu quả trong môi trường Amibroker.

1. Vẽ Fibonacci Trực Tiếp Trên Biểu Đồ Amibroker (GUI)

1.1. Chuẩn bị môi trường

  • Cài đặt Amibroker: Đảm bảo bạn đang sử dụng phiên bản Amibroker 6.0 trở lên (các tính năng vẽ Fibonacci đã được cải tiến trong các bản cập nhật gần đây).
  • Mở biểu đồ: Chọn một mã chứng khoán, khung thời gian (Timeframe) và mở biểu đồ (Chart). Đối với ví dụ, chúng ta sẽ dùng EUR/USD trên khung 4 giờ.

1.2. Chọn công cụ Fibonacci

  1. Mở thanh công cụ: Click vào Tools → Drawing Tools hoặc nhấn phím tắt Ctrl + D để hiển thị thanh công cụ vẽ.
  2. Chọn công cụ Fibonacci Retracement: Trong danh sách, tìm biểu tượng “Fibonacci Retracement” (thường là một đường thẳng kèm các mức phần trăm). Click vào biểu tượng này.

1.3. Vẽ Fibonacci Retracement

Cách Vẽ Fibonacci Trên Amibroker
Cách Vẽ Fibonacci Trên Amibroker
  1. Xác định xu hướng: Đối với xu hướng tăng, bạn cần xác định điểm thấp (low) đầu tiên và điểm cao (high) cuối cùng của một chuyển động giá đáng kể.
  2. Kéo công cụ: Click chuột tại điểm low, giữ chuột và kéo lên đến điểm high, sau đó thả chuột. Amibroker sẽ tự động tạo ra các mức retracement (0%, 23.6%, 38.2%, 50%, 61.8%, 78.6%, 100%).
  3. Điều chỉnh: Bạn có thể di chuyển từng mức bằng cách click vào chúng và kéo, hoặc thay đổi màu sắc, độ dày bằng cách click chuột phải → Properties.

1.4. Vẽ Fibonacci Extension (Mở Rộng)

  1. Chọn công cụ: Trên thanh Drawing Tools, chọn Fibonacci Extension.
  2. Cách vẽ: Thực hiện ba bước click:
  3. Click tại điểm low (điểm A).
  4. Click tại điểm high (điểm B).
  5. Click tại một điểm giá sau điểm high (điểm C) để xác định mức mở rộng.
  6. Kết quả: Các mức 127.2%, 161.8%, 200%… sẽ xuất hiện, giúp xác định các mục tiêu lợi nhuận khi giá tiếp tục xu hướng.

1.5. Lưu và quản lý các công cụ vẽ

  • Lưu biểu đồ: Để lưu các công cụ vẽ, click File → Save As và lưu dưới dạng .crp (Chart). Khi mở lại, các công cụ sẽ hiển thị.
  • Quản lý công cụ: Vào Tools → Object Manager để xem danh sách các công cụ vẽ hiện tại, xóa hoặc ẩn chúng khi không cần.

2. Vẽ Fibonacci Bằng AFL (Amibroker Formula Language)

Việc vẽ Fibonacci bằng mã AFL cho phép tự động hoá quá trình, đặc biệt hữu ích khi bạn muốn áp dụng trên nhiều mã hoặc nhiều khung thời gian cùng lúc.

2.1. Cấu trúc cơ bản của một script AFL

// Định nghĩa biến
SetChartOptions(0, chartShowArrows|chartShowDates);
Plot(Close, "Close", colorDefault, styleCandle);

2.2. Xác định điểm high và low cho Fibonacci

Để tự động tìm điểm high và low, chúng ta thường dùng hàm HighestSince và LowestSince hoặc BarsSince. Dưới đây là một ví dụ đơn giản:

Cách Vẽ Fibonacci Trên Amibroker
Cách Vẽ Fibonacci Trên Amibroker
// Đặt số thanh (bars) để tìm high/low
LookBack = 50; // Tìm high/low trong 50 thanh gần nhất // Tìm điểm thấp nhất và cao nhất
LowLevel = Lowest(Low, LookBack);
HighLevel = Highest(High, LookBack); // Lấy chỉ số (index) của các điểm này
LowBar = Ref(BarIndex(), -LookBack) + BarsSince(Low == LowLevel);
HighBar = Ref(BarIndex(), -LookBack) + BarsSince(High == HighLevel);

2.3. Vẽ các mức retracement

// Tính toán các mức Fibonacci
FibLevels = array(0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0);
FibColors = array(colorRed, colorOrange, colorYellow, colorGreen, colorBlue, colorViolet, colorGray); for (i = 0; i < BarCount; i++)
{ // Kiểm tra nếu thanh hiện tại nằm trong khoảng high/low if (BarIndex() >= LowBar AND BarIndex() <= HighBar) { // Tính mức giá cho mỗi tỉ lệ levelPrice = LowLevel + (HighLevel - LowLevel) FibLevelsi; // Vẽ đường ngang Plot(levelPrice, "Fib " + NumToStr(FibLevelsi100, 1) + "%", FibColorsi, styleDashed|styleNoRescale); }
}

Lưu ý: Đoạn mã trên sẽ vẽ toàn bộ mức Fibonacci trên toàn bộ biểu đồ, vì vậy bạn cần thêm logic để chỉ vẽ khi một xu hướng mới bắt đầu (ví dụ: khi giá phá vỡ mức 61.8% và đảo chiều).

2.4. Vẽ Fibonacci Extension

// Định nghĩa mức mở rộng
ExtLevels = array(1.272, 1.618, 2.0, 2.618);
ExtColors = array(colorDarkRed, colorDarkGreen, colorDarkBlue, colorDarkViolet); // Tính toán mức mở rộng dựa trên đoạn high-low
for (i = 0; i < BarCount; i++)
{ if (BarIndex() >= HighBar) // chỉ vẽ sau điểm high { extPrice = HighLevel + (HighLevel - LowLevel) ExtLevelsi; Plot(extPrice, "Ext " + NumToStr(ExtLevelsi100, 0) + "%", ExtColorsi, styleDashed|styleNoRescale); }
}

2.5. Gộp lại thành một Indicator

Bạn có thể tạo một indicator riêng và thêm vào biểu đồ:

_SECTION_BEGIN("Fibonacci Retracement & Extension"); // Đặt tham số cho người dùng
SetOption("PriceStyle", priceCandle);
SetChartOptions(0, chartShowArrows|chartShowDates);
Plot(Close, "Close", colorDefault, styleCandle); // Gọi hàm vẽ Fibonacci
PlotFibonacci(LookBack = 50); _SECTION_END(); function PlotFibonacci(LookBack)
{ // Tìm high/low LowLevel = Lowest(Low, LookBack); HighLevel = Highest(High, LookBack); LowBar = Ref(BarIndex(), -LookBack) + BarsSince(Low == LowLevel); HighBar = Ref(BarIndex(), -LookBack) + BarsSince(High == HighLevel); // Retracement FibLevels = array(0,0.236,0.382,0.5,0.618,0.786,1); FibColors = array(colorRed,colorOrange,colorYellow,colorGreen,colorBlue,colorViolet,colorGray); for(i=0;i<BarCount;i++) { if(BarIndex()>=LowBar AND BarIndex()<=HighBar) { level = LowLevel + (HighLevel-LowLevel)FibLevelsi; Plot(level,"Fib "+NumToStr(FibLevelsi100,1)+"%",FibColorsi,styleDashed|styleNoRescale); } } // Extension ExtLevels = array(1.272,1.618,2,2.618); ExtColors = array(colorDarkRed,colorDarkGreen,colorDarkBlue,colorDarkViolet); for(i=0;i<BarCount;i++) { if(BarIndex()>HighBar) { ext = HighLevel + (HighLevel-LowLevel)ExtLevelsi; Plot(ext,"Ext "+NumToStr(ExtLevelsi100,0)+"%",ExtColorsi,styleDashed|styleNoRescale); } }
}

Lưu script này dưới dạng .afl, sau đó Load vào Amibroker → Analysis → New → Add → chọn file và Apply to Chart. Bạn sẽ thấy Fibonacci tự động vẽ dựa trên khoảng look‑back đã định.

3. Kỹ Thuật Áp Dụng Fibonacci Trong Các Mẫu Hình Giá

3.1. Fibonacci Retracement trong xu hướng đảo chiều

  • Mô tả: Khi giá đang trong xu hướng tăng và bắt đầu giảm, các mức 38.2%, 50% và 61.8% thường là các mức hỗ trợ tiềm năng. Nếu giá chạm và bật lại, đây là tín hiệu mua.
  • Cách thực hiện: Vẽ Fibonacci từ low tới high của xu hướng tăng gần nhất. Khi giá giảm và chạm mức 61.8% và bật lên, mở lệnh mua với stop‑loss dưới mức 78.6%.

3.2. Fibonacci Extension để đặt mục tiêu lợi nhuận

Cách Vẽ Fibonacci Trên Amibroker
Cách Vẽ Fibonacci Trên Amibroker
  • Mô tả: Sau khi giá bứt phá mức 61.8% và tiếp tục tăng, các mức 127.2% và 161.8% của Fibonacci Extension thường là các mục tiêu chốt lời hợp lý.
  • Cách thực hiện: Xác định điểm low, high và một điểm đỉnh (hoặc đáy) sau khi giá bứt phá để vẽ Extension. Đặt các mức chốt lời tại 127.2% và 161.8%.

3.3. Kết hợp Fibonacci với các chỉ báo khác

Chỉ báo Cách kết hợp Lợi ích
Moving Average (MA) Khi giá nằm trên MA 200 và chạm mức 38.2% Retracement, xác nhận xu hướng tăng mạnh. Giảm rủi ro tín hiệu ngược chiều.
RSI Khi RSI > 50 và giá chạm mức 50% Retracement, tăng xác suất tiếp tục xu hướng. Lọc tín hiệu quá mua/bán.
MACD Khi MACD cắt lên và giá bật từ mức 61.8% Retracement, tạo tín hiệu mua mạnh. Xác nhận động lực.

3.4. Fibonacci Time Zones (Vùng Thời Gian)

Mặc dù ít được sử dụng hơn, Fibonacci Time Zones giúp dự đoán các thời điểm quan trọng (ví dụ: các ngày hoặc tuần tới) dựa trên chu kỳ Fibonacci. Trong Amibroker, bạn có thể vẽ chúng bằng cách tạo các vertical lines tại các khoảng thời gian theo dãy 1, 2, 3, 5, 8, 13… thanh.

// Fibonacci Time Zones
timeLevels = array(1,2,3,5,8,13,21);
for(i=0;i<BarCount;i++)
{ if(i % timeLevelsi%ArraySize(timeLevels) == 0) PlotShapes(shapeVLine, colorDarkGray, 0, Highi, -15);
}

4. Lưu Ý Khi Sử Dụng Fibonacci

  1. Không dùng Fibonacci một mình: Fibonacci là công cụ hỗ trợ, nên luôn kết hợp với các chỉ báo hoặc mô hình giá để tăng độ tin cậy.
  2. Xác định đúng phạm vi swing: Việc chọn điểm high/low sai sẽ làm sai lệch các mức hỗ trợ/kháng cự. Hãy luôn sử dụng swing rõ ràng (ví dụ: swing high/low đã được xác nhận ít nhất 3 thanh trước và sau).
  3. Cẩn thận với tin tức: Các mức Fibonacci có thể bị phá vỡ mạnh khi có tin tức quan trọng. Đặt stop‑loss hợp lý.
  4. Thường xuyên kiểm tra lại: Khi xu hướng thay đổi, cần vẽ lại Fibonacci để phản ánh mức mới.
  5. Quản lý rủi ro: Dù mức Fibonacci cho thấy nơi có khả năng quay đầu, không có gì bảo chắc chắn. Hãy luôn tuân thủ quy tắc rủi ro 1‑2% tài khoản cho mỗi giao dịch.

4.1. Các lỗi phổ biến

Lỗi Mô tả Cách khắc phục
Vẽ từ điểm sai Chọn low không phải swing low thực sự. Sử dụng công cụ “Swing High/Low” của Amibroker để đánh dấu.
Quá nhiều mức Đặt quá nhiều mức (cả retracement và extension) gây rối mắt. Chỉ hiển thị các mức quan trọng (38.2%, 50%, 61.8% và 127.2%, 161.8%).
Không cập nhật Khi xu hướng mới xuất hiện, để lại các mức cũ. Thiết lập script tự động xóa các mức cũ sau một số thanh (ví dụ 30).
Không tính toán đúng Sai công thức tính mức extension. Kiểm tra lại công thức: extension = high + (high - low) level.

5. Ví Dụ Thực Tế và Chiến Lược Giao Dịch Sử Dụng Fibonacci

5.1. Ví dụ 1: EUR/USD trên khung 4H (Tháng 3/2026)

Cách Vẽ Fibonacci Trên Amibroker
Cách Vẽ Fibonacci Trên Amibroker
  1. Xác định swing: Swing low ngày 5/3 (1.0800), swing high ngày 15/3 (1.1150).
  2. Vẽ Fibonacci Retracement: Các mức quan trọng:
  3. 38.2% = 1.0977
  4. 50% = 1.0975
  5. 61.8% = 1.0940
  6. Giá giảm và chạm mức 61.8% (1.0940) rồi bật lên: Mở lệnh mua tại 1.0945, stop‑loss dưới 1.0900 (đánh dấu dưới mức 78.6%).
  7. Mục tiêu lợi nhuận: Dùng Fibonacci Extension: 127.2% = 1.1370, 161.8% = 1.1580. Đặt chốt lời ở 1.1370, nếu giá tiếp tục lên thì di chuyển stop‑loss tới breakeven.

5.2. Ví dụ 2: Cổ phiếu AAPL trên ngày (Daily) – Đảo chiều giảm

  1. Swing high ngày 20/2 (185$), swing low ngày 2/3 (165$).
  2. Vẽ Retracement: Mức 38.2% = 172.2$, 50% = 175$, 61.8% = 177.8$.
  3. Giá giảm và chạm mức 38.2% (172.2$) rồi bật lại: Mở lệnh mua tại 172.5$, stop‑loss dưới 170$.
  4. Mục tiêu: Extension 127.2% = 190$, 161.8% = 200$. Đặt mục tiêu chốt lời đầu tiên ở 190$.

5.3. Chiến lược tự động – “Fibo Pull‑Back”

Điều kiện vào lệnh mua:

  • Giá đang trên MA 200.
  • Đã vẽ Fibonacci Retracement trên swing high/low trong 30 thanh gần nhất.
  • Giá chạm mức 61.8% và bật lên, MACD cắt lên, RSI > 55.
  • Mở lệnh mua, SL dưới mức 78.6%, TP1 tại 127.2% Extension, TP2 tại 161.8%.

Mã AFL (rút gọn):

SetChartOptions(0,chartShowArrows|chartShowDates);
Plot(Close,"Close",colorDefault,styleCandle); // MA200
MA200 = MA(Close,200);
Plot(MA200,"MA200",colorBlue,styleLine); // Fibonacci Retracement (30 bars)
LookBack = 30;
LowL = Lowest(Low,LookBack);
HighL = Highest(High,LookBack);
Fib61 = LowL + (HighL-LowL)0.618; // Điều kiện mua
Buy = Cross(Close,Fib61) AND Close > MA200 AND MACD() > 0 AND RSI(14) > 55;
Sell = Cross(Fib61,Close); // ví dụ thoát khi giá chạm lại mức 61.8% giảm ApplyStop(stopTypeLoss, stopModePercent, 1.5, True); // SL 1.5%
ApplyStop(stopTypeProfit, stopModePercent, 3, True); // TP 3%

Chiến lược này có thể back‑test trong Amibroker để kiểm tra tỉ lệ thắng, lợi nhuận trung bình và drawdown.

6. Kết luận

Fibonacci là một công cụ mạnh mẽ và linh hoạt trong phân tích kỹ thuật, và Amibroker cung cấp cả giao diện vẽ trực quan lẫn khả năng lập trình AFL để tự động hoá quá trình này. Bằng việc:

  • Hiểu rõ các mức Fibonacci (retracement và extension).
  • Biết cách vẽ chính xác trên biểu đồ (công cụ GUI).
  • Viết script AFL để tự động vẽ và tích hợp vào chiến lược.
  • Áp dụng đúng kỹ thuật và kết hợp với các chỉ báo khác.

Bạn sẽ nâng cao đáng kể khả năng dự đoán các mức hỗ trợ, kháng cự và mục tiêu lợi nhuận, đồng thời giảm thiểu rủi ro khi giao dịch.

Hãy thực hành bằng cách tạo một biểu đồ mẫu, vẽ Fibonacci thủ công, sau đó chuyển sang viết script AFL và kiểm tra kết quả trên nhiều mã khác nhau. Khi đã nắm vững, bạn có thể phát triển các chiến lược giao dịch tự động dựa trên Fibonacci và đưa chúng vào hệ thống giao dịch thực tế.

Chúc bạn thành công và luôn có những giao dịch có lợi nhuận!

Rate this post
Mục nhập này đã được đăng trong Blog. Đánh dấu trang permalink.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *