Giới thiệu

Nếu không có các công cụ giao dịch đáng tin cậy thì không thể tiến hành phân tích kỹ thuật chất lượng cao. Một chiến lược giao dịch hiệu quả sẽ giúp bạn tránh được những sai lầm thường gặp, quản lý rủi ro hiệu quả hơn, tìm kiếm và thực hiện nhiều cơ hội giao dịch hơn.

Đối với hầu hết các nhà giao dịch, TradingView là một nền tảng phổ biến để phân tích biểu đồ. Một ứng dụng web HTML5 giàu tính năng cung cấp nhiều công cụ phân tích kỹ thuật, được hàng triệu người dùng sử dụng để theo dõi các chuyển động trên thị trường ngoại hối, tiền điện tử và chứng khoán truyền thống.

TradingView cung cấp nhiều tính năng mạnh mẽ, cho phép bạn theo dõi tài sản trên nhiều nền tảng giao dịch và chia sẻ ý tưởng giao dịch trên mạng xã hội của TradingView. Trong bài viết này, chúng ta sẽ xem xét các tùy chọn để tùy chỉnh TradingView. Chúng tôi sẽ sử dụng Pine Script, ngôn ngữ lập trình TradingView cung cấp khả năng kiểm soát chi tiết đối với bố cục biểu đồ.

Hãy bắt đầu nào!


Tập lệnh thông là gì?

Pine Script là ngôn ngữ kịch bản cho phép bạn tùy chỉnh biểu đồ trên TradingView. Nền tảng này đã cung cấp cho bạn rất nhiều chức năng cho việc này, nhưng Pine Script cho phép bạn mở rộng các khả năng. Cho dù bạn muốn thay đổi màu nến hay thử nghiệm chiến lược mới, bạn có thể tùy chỉnh biểu đồ thời gian thực theo cách bạn muốn bằng trình chỉnh sửa Pine.

Tài liệu chi tiết có sẵn trên trang web, vì vậy bạn luôn có thể tham khảo hướng dẫn sử dụng để biết hướng dẫn chi tiết. Trong bài viết này, chúng tôi muốn đề cập đến những kiến ​​thức cơ bản về Pine Script và chỉ ra cách tạo các chỉ báo có thể hữu ích khi giao dịch tiền điện tử.


Cài đặt

Bắt đầu với Pine Script rất dễ dàng. Tất cả mã chúng tôi viết đều chạy trên máy chủ TradingView và chúng tôi có quyền truy cập vào trình chỉnh sửa mã cũng như có thể viết tập lệnh trực tiếp trong trình duyệt - không cần tải xuống ứng dụng của bên thứ ba hoặc định cấu hình bất kỳ thứ gì.

Trong hướng dẫn này, chúng ta sẽ lập biểu đồ cặp tiền tệ Bitcoin/Binance USD (BTCBUSD). Nếu bạn chưa đăng ký với TradingView, hãy tạo một tài khoản miễn phí (đăng ký chuyên nghiệp cũng có sẵn nhưng không cần thiết cho bài viết này).

Theo liên kết này và bạn sẽ thấy một biểu đồ như thế này:


график BTCBUSD на tradingview

Lịch trình của bạn cần được cập nhật nhiều hơn.


Chúng tôi cần một lịch trình chi tiết - để truy cập nó, hãy nhấp vào nút được chỉ định. Chúng ta sẽ thấy các công cụ biểu đồ, vẽ và đường xu hướng chi tiết hơn.


Подробный график BTCBUSD на tradingview

Lịch trình chi tiết. Trong bảng phía trên các tab đã chọn, bạn có thể đặt các khung thời gian mong muốn.


Bây giờ chúng ta sẽ không thảo luận về việc sử dụng các công cụ khác nhau hiện có, nhưng nếu bạn nghiêm túc về phân tích kỹ thuật thì chúng tôi đặc biệt khuyên bạn nên tự làm quen với chúng. Ở phía dưới bên trái (được đánh dấu trong hình) có một số tab - nhấp vào Pine Editor.


Biên tập viên của Pine


скриншот редактора pine


Trình chỉnh sửa này là nơi điều kỳ diệu thực sự xảy ra. Để xem kết quả, bạn cần viết hướng dẫn trong trình chỉnh sửa, sau đó nhấp vào nút “Thêm vào biểu đồ”. Xin lưu ý: nếu bạn áp dụng nhiều chỉ báo tùy chỉnh cùng lúc, biểu đồ có thể trở nên lộn xộn, vì vậy chúng tôi sẽ xóa chúng giữa các ví dụ (nút chuột phải trên biểu đồ > Xóa chỉ báo).

Như bạn có thể thấy, chúng tôi đã có một vài dòng mã. Hãy nhấp vào nút "Thêm vào biểu đồ" và xem điều gì sẽ xảy ra.


Добавление первого скрипта на график tradingview


Cái thứ hai xuất hiện dưới biểu đồ ban đầu. Biểu đồ mới trình bày cùng một dữ liệu. Để xóa biểu đồ thứ hai, hãy di chuột qua My Script và nhấp vào dấu thập. Bây giờ chúng ta hãy nhìn vào mã.

nghiên cứu ("Kịch bản của tôi")

Dòng đầu tiên chỉ định tên của biểu đồ. Điều này chỉ yêu cầu tên của chỉ báo (trong trường hợp này là "My Script"), nhưng bạn cũng có thể đặt các tham số bổ sung. Một trong số đó là lớp phủ. Nó có nghĩa là đặt chỉ báo trên biểu đồ hiện có (không phải trong một phân đoạn mới). Như chúng ta có thể thấy từ ví dụ đầu tiên, nó được đặt thành false theo mặc định. Chúng tôi sẽ không kiểm tra điều này ngay bây giờ nhưng việc đặt lớp phủ=true sẽ thêm chỉ báo vào biểu đồ hiện có.

cốt truyện (đóng)

Dòng này là hướng dẫn vẽ giá đóng cửa của Bitcoin; cốt truyện chỉ định biểu đồ dạng đường, nhưng chúng ta có thể thêm nến và thanh.

Bây giờ hãy xem xét ví dụ sau:

//@version=4 nghiên cứu("My Script", Overlay=true) cốt truyện(open, color=color.purple)

Bằng cách thêm dòng này vào trình chỉnh sửa, bạn sẽ thấy biểu đồ thứ hai (trông giống biểu đồ ban đầu nhưng được dịch chuyển sang bên phải). Chúng ta đã vẽ đồ thị giá mở cửa và vì giá mở cửa của ngày hiện tại cũng là giá đóng cửa của ngày hôm trước nên điều hợp lý là các biểu đồ có hình dạng giống nhau.

Tuyệt vời! Hãy xóa các biểu đồ mà chúng ta đã tạo (hãy nhớ rằng để thực hiện việc này, bạn cần nhấp chuột phải vào biểu đồ và chọn “Xóa các chỉ báo”). Để xóa biểu đồ hiện tại, hãy di chuột qua biểu đồ Bitcoin/BUSD và nhấp vào nút Ẩn.

Nhiều nhà giao dịch sử dụng biểu đồ nến vì chúng cung cấp nhiều thông tin hơn biểu đồ thông thường (như biểu đồ chúng ta vừa xây dựng). Bây giờ hãy thêm nến vào biểu đồ.

//@version=4 nghiên cứu("My Script", Overlay=true) cốt truyện(mở, cao, thấp, đóng)

Nó tốt hơn, nhưng do thiếu màu sắc nên biểu đồ không có tính biểu cảm. Lý tưởng nhất là chúng ta cần vẽ nến màu đỏ nếu giá mở cửa trên khung thời gian lớn hơn giá đóng cửa và màu xanh nếu giá đóng cửa lớn hơn giá mở cửa. Hãy thêm một dòng phía trên hàmplotcandle():

//@version=4 nghiên cứu ("Tập lệnh của tôi", lớp phủ = đúng) màu sắc = mở >= đóng ? color.red : color.green cốt truyện(mở, cao, thấp, đóng)

Trong dòng này, chúng ta xem xét tất cả các cây nến và kiểm tra: giá mở cửa lớn hơn hoặc bằng giá đóng cửa. Nếu vậy thì giá đã giảm trong khoảng thời gian đó và nến sẽ có màu đỏ. Nếu không – màu xanh lá cây. Để thêm bảng màu, hãy sửa đổi hàmplotcandle() như dưới đây:

//@version=4 nghiên cứu ("Tập lệnh của tôi", lớp phủ = đúng) màu sắc = mở >= đóng ? color.red : color.green cốt truyện(mở, cao, thấp, đóng, color=colors)

Nếu bạn chưa làm như vậy, hãy xóa biểu đồ trước đó và thêm biểu đồ mới. Bây giờ chúng ta đã có một biểu đồ nến thông thường.


Свечной график на tradingview

Tuyệt vời!


Xây dựng đường trung bình động (MA)

Chúng tôi đã đề cập đến một số điều cơ bản. Hãy chuyển sang tạo chỉ báo tùy chỉnh đầu tiên của chúng ta, đường trung bình động hàm mũ hoặc EMA. Đây là một chỉ báo có giá trị vì nó lọc nhiễu thị trường và làm dịu biến động giá.

EMA khác với đường trung bình động đơn giản (SMA) ở chỗ nó mang lại nhiều trọng số hơn cho dữ liệu gần đây. EMA phản ứng tích cực hơn với những biến động bất ngờ của thị trường và thường được sử dụng trong các chiến lược ngắn hạn (ví dụ: giao dịch trong ngày).


Đường trung bình động đơn giản (SMA)

Chúng ta có thể vẽ đường SMA và sau đó so sánh nó với EMA. Thêm dòng sau vào tập lệnh:

cốt truyện(sma(đóng, 10))

Dòng này sẽ hiển thị mức trung bình trong 10 ngày trước đó. Bạn có thể đặt các giá trị khoảng thời gian khác nhau trong ngoặc và xem đường cong thay đổi như thế nào.


Простая 10-дневная скользящая средняя

SMA trong 10 ngày trước


Đường trung bình động hàm mũ (EMA)

EMA khó hiểu hơn một chút nhưng đừng lo lắng. Đầu tiên chúng ta nhìn vào công thức:

EMA = (giá đóng cửa - EMA của ngày hôm trước) * hệ số nhân - EMA của ngày hôm trước

Công thức này nói lên điều gì? Mỗi ngày, chúng tôi tính toán đường trung bình động mới dựa trên đường trung bình động trước đó. Hệ số nhân là “trọng số” của kỳ trước, được tính theo công thức sau:

hệ số nhân = 2 / (chu kỳ EMA + 1)

Như trong trường hợp đường trung bình động đơn giản, bạn cần chỉ định khoảng thời gian để xây dựng đường EMA. Cú pháp của hàm EMA tương tự như hàm SMA. Để rõ ràng, hãy vẽ biểu đồ EMA bên cạnh SMA:

//@version=4 nghiên cứu("My Script", lớp phủ=true) cốt truyện(sma(đóng, 10)) cốt truyện(ema(đóng,10))


EMA и SMA на одном графике tradingview

Sự khác biệt giữa SMA và EMA


➟ Bạn đang suy nghĩ nên bắt đầu làm việc với tiền điện tử từ đâu? Mua Bitcoin trên Binance!


Các tập lệnh tích hợp

Cho đến bây giờ, chúng tôi đã viết mã theo cách thủ công để hiểu nó chi tiết hơn. Nhưng hãy khám phá một công cụ sẽ giúp chúng ta tiết kiệm thời gian, đặc biệt nếu chúng ta viết những tập lệnh phức tạp hơn và không muốn làm lại từ đầu.

Ở góc trên bên phải của trình chỉnh sửa, nhấp vào nút “Mới”. Một menu thả xuống sẽ xuất hiện với nhiều chỉ báo kỹ thuật khác nhau. Để xem mã nguồn của chỉ báo EMA, hãy nhấp vào mục “Trung bình di chuyển theo cấp số nhân”.



Экспоненциальная скользящая средняя в pine script

Thêm mã vào biểu đồ


Mã mẫu sẽ khác với những gì chúng tôi đã viết - hãy chú ý đến các hàm input(). Chúng rất tiện lợi vì bạn có thể nhấp vào ở góc trên bên trái của biểu đồ...


Изменение графика в интерфейсе tradingview


...và trong cửa sổ bật lên, bạn có thể dễ dàng thay đổi một số giá trị bằng cách nhấn vào bánh xe cài đặt.


изменение входных параметров EMA


Để chứng minh điều này, chúng tôi sẽ thêm hai hàm input() vào tập lệnh sau.


Xây dựng chỉ báo Chỉ số sức mạnh tương đối (RSI)

Chỉ số sức mạnh tương đối (RSI) là một chỉ báo phân tích kỹ thuật quan trọng khác. Nó được biết đến như một chỉ báo động lượng. Điều này có nghĩa là nó hiển thị tốc độ mua và bán tài sản. Chỉ số RSI, nằm trong khoảng từ 0 đến 100, cho các nhà giao dịch biết liệu một tài sản có bị mua quá mức hay bán quá mức hay không. Nói chung, một tài sản được coi là quá bán nếu chỉ số RSI nhỏ hơn hoặc bằng 30 và quá mua nếu chỉ số RSI lớn hơn hoặc bằng 70.

Bạn có thể tự kiểm tra - đi tới menu Mới > Chiến lược RSI. RSI thường được đo trong khoảng thời gian 14 đơn vị (tức là 14 giờ hoặc 14 ngày), nhưng bạn có thể tùy chỉnh thông số này cho phù hợp với chiến lược của riêng mình.

Thêm nó vào biểu đồ. Bạn sẽ thấy một số mũi tên (được xác định trong mã bởi hàm Strategy.entry()). RsiLE cho biết tiềm năng của một vị thế mua đối với một tài sản vì nó có thể được bán lại. RsiSE cũng cho thấy khả năng bán khống một tài sản vì nó có thể bị mua quá mức. Xin lưu ý: như với tất cả các chỉ báo, bạn không nên dựa vào chúng để đảm bảo rằng giá sẽ giảm/tăng.


Chiến lược thử nghiệm

Chúng ta có thể kiểm tra các chỉ số của chính mình. Mặc dù hiệu suất trên dữ liệu lịch sử không đảm bảo cho kết quả trong tương lai, nhưng các tập lệnh thử nghiệm trên dữ liệu lịch sử có thể cho bạn ý tưởng về mức độ hiệu quả của chúng trong việc theo dõi các tín hiệu.

Hãy lấy một kịch bản đơn giản làm ví dụ. Hãy tạo một chiến lược đơn giản trong đó chúng ta sẽ vào một vị thế mua khi giá BTC giảm xuống dưới 11.000 USD và đóng vị thế khi giá vượt quá 11.300 USD. Chúng ta có thể xem chiến lược này mang lại lợi nhuận như thế nào khi áp dụng vào lịch sử thị trường.

//@version=4 Strategy("ToDaMoon", Overlay=true) enter = input(11000) exit = input(11300) price = close if (price <= enter)     strategy.entry("BuyTheDip", Strategy.long , bình luận="BuyTheDip") nếu (giá >= thoát)     Strategy.close_all(comment="SellTheNews")

Ở đây chúng tôi đã xác định mức vào và thoát dưới dạng các biến - cả hai đều là đầu vào, nghĩa là sau đó chúng tôi có thể thay đổi chúng trên biểu đồ. Chúng tôi cũng đã tạo một biến giá lấy giá trị đóng cửa cho mỗi kỳ. Logic được trình bày dưới dạng câu lệnh if. Nếu phần trong ngoặc đơn là đúng thì khối có thụt lề bên dưới sẽ được chạy. Nếu không nó sẽ bị bỏ qua.

Vì vậy, nếu giá nhỏ hơn hoặc bằng giá trị nhập mong muốn, biểu thức đầu tiên sẽ có giá trị đúng và chúng ta mua vào. Khi giá bằng hoặc vượt quá giá trị thoát mong muốn, khối thứ hai sẽ được kích hoạt, đóng tất cả các vị thế mở.

Ngoài ra, trên biểu đồ, chúng tôi đã hiển thị bằng các mũi tên các vị trí vào và thoát khỏi vị trí đó. Chúng tôi đã đánh dấu những điểm này bằng tham số nhận xét (trong ví dụ này là "BuyTheDip" và "SellTheNews"). Sao chép mã và thêm nó vào biểu đồ.


активный индикатор на графике tradingview

Các chỉ số trên biểu đồ. Bạn có thể thu nhỏ


TradingView tự động áp dụng các quy tắc của bạn cho dữ liệu cũ hơn. Xin lưu ý rằng bạn đã chuyển từ Pine Editor sang tab Trình kiểm tra chiến lược. Tại đây bạn có thể phân tích lợi nhuận tiềm năng, xem danh sách giao dịch và hiệu suất của từng giao dịch.


Тестирование стратегии на Tradingview

Vị trí mở và đóng


Hãy tóm tắt lại

Bây giờ chúng ta có thể viết tập lệnh của riêng mình bằng các công cụ quen thuộc. Chúng ta sẽ kết hợp EMA và RSI trên cùng một biểu đồ, sau đó sử dụng giá trị của chúng để tô màu các cây nến nhằm tạo ra thông tin có thể dễ dàng hình dung.

Kết quả của biểu đồ không phải là lời khuyên tài chính – không có cách sử dụng nó một cách khách quan và chính xác. Giống như các chỉ báo khác, nó nên được sử dụng kết hợp với các công cụ khác để phát triển chiến lược của riêng bạn.

Hãy viết kịch bản mới của chúng tôi. Để có không gian trống để làm việc, hãy xóa các chỉ báo trước đó khỏi biểu đồ và ẩn biểu đồ Bitcoin/BUSD.

Hãy bắt đầu bằng cách xác định nghiên cứu của chúng tôi. Đặt tên theo ý muốn của bạn, chỉ cần đảm bảo rằng lớp phủ = đúng.

nghiên cứu(title="Kịch bản của Học viện Binance", Overlay=true)

Hãy nhớ lại công thức EMA mà chúng tôi đã mô tả ở trên. Chúng ta cần xác định hệ số nhân cho khoảng thời gian EMA. Hãy biến nó thành một biến (đầu vào) là số nguyên (nghĩa là không có chữ số thập phân). Chúng tôi cũng sẽ đặt giá trị tối thiểu (minval) và giá trị mặc định (defval).

nghiên cứu(title="Binance Academy Script", Overlay=true) emaLength = input(title="Độ dài EMA", type=input.integer, defval=25, minval=0)


Sử dụng biến mới này, chúng ta có thể tính giá trị EMA cho mỗi nến:

nghiên cứu(title="Binance Academy Script", Overlay=true) emaLength = input(title="EMA length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength)


Khỏe. Bây giờ hãy chuyển sang RSI. Hãy đặt chu kỳ của nó theo cách tương tự:

nghiên cứu(title="Binance Academy Script", Overlay=true) emaLength = input(title="EMA length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Độ dài RSI", type=input.integer, defval=25, minval=0)

Bây giờ chúng ta có thể tính toán nó:

nghiên cứu(title="Binance Academy Script", Overlay=true) emaLength = input(title="EMA length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Độ dài RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength)

Ở giai đoạn này, hãy đặt logic tô màu nến tùy thuộc vào giá trị EMA và RSI. Hãy xem xét tình huống khi giá đóng cửa của nến vượt quá đường EMA (a) và khi chỉ số RSI trên 50 (b).

Tại sao chính xác những điều kiện này? Các chỉ báo này có thể được sử dụng cùng nhau để cho bạn biết khi nào nên mua hoặc bán Bitcoin. Ví dụ: nếu cả hai điều kiện đều được đáp ứng, điều đó có nghĩa là bây giờ là thời điểm tốt để mở một vị thế mua. Hoặc ngược lại, bạn có thể sử dụng chỉ báo này để hiểu khi nào không nên bán, ngay cả khi các chỉ báo khác nói ngược lại.

Dòng tiếp theo của tập lệnh của chúng tôi sẽ trông như thế này:

nghiên cứu(title="Binance Academy Script", Overlay=true) emaLength = input(title="EMA length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Độ dài RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) màu = đóng > emaVal và rsiVal > 50 ? color.green : màu.red

Nếu chúng tôi dịch mã sang ngôn ngữ thông thường, thì hóa ra nếu giá trị EMA vượt quá giá đóng cửa và giá trị RSI vượt quá 50, chúng tôi tô màu nến xanh. Nếu không màu sẽ có màu đỏ.

Thêm EMA:

nghiên cứu(title="Binance Academy Script", Overlay=true) emaLength = input(title="EMA length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Độ dài RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) màu = đóng > emaVal và rsiVal > 50 ? color.green : cốt truyện color.red(emaVal, "EMA")

Cuối cùng, hãy vẽ những ngọn nến bằng cách thêm tham số màu:

nghiên cứu(title="Binance Academy Script", Overlay=true) emaLength = input(title="EMA length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Độ dài RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) màu = đóng > emaVal và rsiVal > 50 ? color.green : color.red cốt truyện(emaVal, "EMA") nến cốt truyện(mở, cao, thấp, đóng, color=colors)

Đây là toàn bộ kịch bản của chúng tôi! Để xem nó hoạt động, hãy thêm nó vào biểu đồ của bạn.


Скрипт Tradingview в действии

Biểu đồ BTC/BUSD với chỉ báo EMA/RSI.


Bản tóm tắt

Trong bài viết này, chúng ta đã xem xét một số ví dụ đơn giản về cách sử dụng Pine Editor của TradingView. Đến bây giờ, nếu bạn đã hoàn thành các ví dụ của chúng tôi, bạn đã có thể tạo chú thích đơn giản cho biểu đồ giá và nhận thêm thông tin từ các chỉ báo của riêng bạn.

Trong bài viết này, chúng tôi chỉ đề cập đến một số chỉ báo, nhưng bạn có thể tự mình phân tích những chỉ báo phức tạp hơn bằng cách chọn các tập lệnh tích hợp từ danh sách Mới hoặc bằng cách tự viết chúng.

Tìm kiếm cảm hứng? Bạn có thể lấy ý tưởng cho dự án tiếp theo của mình từ các bài viết dưới đây:

  • Hướng dẫn nhanh về cách sử dụng hệ thống Parabol SAR

  • Hướng dẫn sử dụng đường Fibonacci

  • Các chỉ số dẫn đầu và tụt hậu

  • Chỉ báo MACD là gì