đây là mình làm thử lúc chưa xem hướng dẫn bạn gửi, để mình xem lại, tại mình không hiểu được hàm có ý nghĩa gì, tại sao lúc đầu phải nhập,...
Mình vừa xem qua code của bạn, code này bạn dùng môi trường study nhưng trong nội dung lại có hành vi thực thi lệnh, hành vi thựcthi lệnh chỉ được hiểu ở môi trường strategy.
Sự khác nhau của môi trường study (mô tả) và strategy (backtest) bạn có thể xem ở phần giới thiệu ngôn ngữ Pine, nhưng cái khác nhau cơ bản của 2 cái này chính là việc thống kê backtest. Môi trường study sẽ diễn ra đồng thời với giá close đang chạy mà không cần chờ nến đóng cửa (ý nghĩa của sự mô tả), môi trường strategy chỉ thực hiện khi nến đóng cửa, nếu nến đóng cửa mà kịch bản xảy ra thì thực thi lệnh.
* Một vấn đề khác nữa là hàm bb đã được TradingView built-in trong Pine, bạn chỉ cần tra từ điển để biết cách lấy giá trị band mà không cần viết lại công thức hàm ra trong code.
* Một vấn đề tiếp nữa đó là bạn sử dụng mệnh đề điều kiện If, thay vì như vậy, bạn nên tạo 1 biến logic sẽ dễ dàng trong việc tổ hợp các điều kiện để tạo ra kịch bản hơn.
* Ví dụ về biến logic
rsi_ovb=rsi(close,chu kỳ)>70
biến rsi_ovb này sẽ có giá trị là true khi rsi vượt qua 70. Nếu kịch bản Sell của bạn chỉ chứa 1 biến logic thì nó sẽ thế này
Sell=rsi_ovb==true.
Nếu kịch bản của bạn chứa nhiều biến logic thì dùng phép nối and (xảy ra đồng thời) hoặc or (biến này hoặc biến kia xảy ra)
* Khi đã có kịch bản rồi thì nếu bạn làm việc trong môi trường strategy thì sử dụng mệnh đề điều kiện IF để chạy lệnh thực thi short hay long.
Nếu bạn là việc trong môi trường study thì dùng hàm plotshape để đánh dấu biểu tượng, hoặc bgcolor để tô màu. ví dụ tô màu thì nó thế này
bgcolor(Sell?tô màu đỏ:không tô màu)
- dấu ? là hỏi kịch bản Sell có xảy ra hay không
- trước dấu : là công việc khi kịch bản Sell xảy ra, sau dấu : là việc làm nếu kịch bản Sell không xảy ra.