Giới thiệu

Nếu không có công cụ giao dịch phù hợp thì không thể thực hiện phân tích kỹ thuật hiệu quả. Một chiến lược giao dịch vững chắc sẽ giúp bạn tránh những lỗi thường gặp, cải thiện khả năng quản lý rủi ro và nâng cao khả năng xác định cũng như tận dụng các cơ hội.

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

TradingView có nhiều tính năng mạnh mẽ: nó cho phép chúng tôi 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. Trong bài viết này, chúng tôi sẽ nói về các tùy chọn tùy chỉnh của bạn. Chúng tôi sẽ sử dụng PineScript, ngôn ngữ lập trình riêng của TradingView, cho phép chúng tôi kiểm soát bố cục biểu đồ của mình.

Hãy bắt đầu!


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

Pine Script là ngôn ngữ kịch bản được sử dụng để tùy chỉnh biểu đồ TradingView. Nền tảng này đã cung cấp nhiều tính năng cho việc này, nhưng Pine Script cung cấp một số tùy chọn bổ sung. Cho dù bạn muốn thay đổi màu sắc của nến hay kiểm tra lại một chiến lược mới, Pine Editor đều cho phép bạn tùy chỉnh biểu đồ của mình trong thời gian thực theo cách bạn muốn.

Mã này có tài liệu rất chắc chắn, vì vậy hãy nhớ tham khảo hướng dẫn sử dụng để biết thêm thông tin. Mục tiêu của chúng tôi trong hướng dẫn này là thảo luận về một số vấn đề cơ bản và trình bày các chỉ báo hữu ích cho giao dịch tiền điện tử.


Cài đặt

Rất đơn giản để bắt đầu sử dụng Pine Script. Tất cả mã đều chạy trên máy chủ của TradingView, vì vậy chúng tôi có thể truy cập trình chỉnh sửa và phát triển tập lệnh của mình từ trình duyệt – không cần tải xuống hoặc cấu hình bổ sung.

Trong hướng dẫn này, chúng tôi sẽ sử dụng cặp tiền tệ Bitcoin/Binance USD (BTCBUSD). Nếu bạn chưa có tài khoản, hãy tạo một tài khoản miễn phí (cũng có tùy chọn đăng ký Pro nhưng không cần thiết cho hướng dẫn này). 

Hãy truy cập vào liên kết này và bạn sẽ thấy biểu đồ như thế này:


Gráfico BTCBUSD no TradingView

Của bạn có thể sẽ được cập nhật hơn.


Ở đây chúng ta sẽ sử dụng chế độ biểu đồ đầy đủ tính năng – hãy nhấp vào nút để truy cập chế độ đó. Ở chế độ này, chúng ta có chế độ xem chi tiết hơn, các công cụ vẽ và các tùy chọn để vẽ đường xu hướng, cùng với các chức năng khác.


Gráfico completo no TradingView para BTCBUSD

Biểu đồ hoàn chỉnh. Bạn có thể điều chỉnh khoảng thời gian bằng cách nhấp vào các tùy chọn phía trên các tab được đánh dấu trong hình ảnh.


Chúng tôi sẽ không thảo luận về cách sử dụng các công cụ khác nhau có sẵn nhưng nếu bạn sử dụng phân tích kỹ thuật, chúng tôi khuyên bạn nên tự làm quen với chúng. Ở góc dưới cùng bên trái (hiển thị trong hình ảnh), bạn sẽ thấy một vài tab khác nhau – hãy nhấp vào Pine Editor.


Biên tập viên thông


captura de tela do Pine Editor


Trình chỉnh sửa này là nơi điều kỳ diệu xảy ra. Hãy nhập hướng dẫn. Nhấp vào Thêm vào biểu đồ để hiển thị các chú thích trên. Lưu ý rằng mọi thứ có thể trở nên phức tạp nếu chúng tôi đưa vào nhiều chú thích cùng một lúc, vì vậy chúng tôi sẽ xóa chúng cho các ví dụ tiếp theo (nhấp chuột phải vào biểu đồ > Xóa chỉ báo).

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


Adicionando o primeiro script ao gráfico do TradingView


Hình ảnh thứ hai sẽ được thêm vào bên dưới bản gốc. Biểu đồ mới bây giờ hiển thị cùng một dữ liệu. Di chuột qua Tập lệnh của tôi và nhấp vào dấu thập để xóa tập lệnh đó. Bây giờ, hãy đi sâu hơn vào mã.

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

Dòng đầu tiên này chỉ là thiết lập các chú thích của chúng tôi. Chúng ta chỉ cần xác định tên cho chỉ báo ("My Script" trong trường hợp này), nhưng cũng có một số tham số tùy chọn mà chúng ta có thể thêm vào. Một trong số đó là lớp phủ, hướng dẫn TradingView chèn chỉ báo vào biểu đồ hiện có (thay vì sử dụng phân đoạn mới). Như chúng ta có thể thấy trong ví dụ đầu tiên, giá trị mặc định là sai. Tham số lớp phủ = true sẽ thêm chỉ báo vào biểu đồ hiện có nhưng hiện tại chúng tôi sẽ không sử dụng nó.

cốt truyện (đóng)

Dòng này là hướng dẫn vẽ giá đóng cửa của Bitcoin. Tham số cốt truyện chỉ đơn giản cung cấp cho chúng ta một biểu đồ đường, nhưng nó cũng có thể hiển thị nến và thanh, như chúng ta sẽ thấy sau đây. 

Bây giờ, hãy thử làm như sau:

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

Sau khi thêm tham số này, chúng ta sẽ thấy biểu đồ thứ hai (trông giống biểu đồ ban đầu nhưng được dịch chuyển sang phải). Tất cả những gì chúng tôi làm là vẽ ra giá mở cửa. 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 chúng có định dạng giống hệt nhau.

ĐƯỢC RỒI! Hãy loại bỏ các ghi chú hiện tại (hãy nhớ rằng chúng ta thực hiện việc này bằng cách nhấp chuột phải và chọn Xóa chỉ báo). Di chuột qua Bitcoin/BUSD và nhấp vào Ẩn để xóa biểu đồ hiện tại.

Nhiều nhà giao dịch thích biểu đồ nến vì chúng cung cấp cho chúng ta nhiều thông tin hơn biểu đồ đơn giản như biểu đồ chúng ta vừa tạo. Chúng tôi sẽ thêm chúng tiếp theo. 

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

Đó là một khởi đầu tốt, bạn nên thêm một số màu sắc vào. Nói chung, chúng tôi sử dụng nến đỏ khi giá mở cửa cao hơn giá đóng cửa trong khoảng thời gian nhất định và nến xanh nếu giá đóng cửa cao hơn giá mở cửa. Hãy thêm một dòng bên dưới 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)

Hàm này phân tích từng nến và kiểm tra xem giá trị mở lớn hơn hoặc bằng giá trị đóng. Nếu đúng thì có nghĩa là giá đã giảm trong khoảng thời gian đó nên nến sẽ chuyển sang màu đỏ. Nếu không nó sẽ có màu xanh. Sửa đổi hàm plotcandle() để đặt bảng phối màu này thành:

//@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)

Xóa các chỉ báo hiện tại nếu bạn chưa có và thêm chỉ báo này vào biểu đồ. Bây giờ chúng ta sẽ có một cái gì đó tương tự như biểu đồ nến thông thường.


Gráfico de velas no TradingView

Tuyệt vời!


Vẽ đồ thị đường trung bình động (MM)

Chúng tôi đi qua một số điều cơ bản. Hãy vẽ đồ thị 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 công cụ có giá trị vì nó cho phép chúng ta lọc ra mọi nhiễu loạn thị trường và điều chỉnh hành động giá. 

EMA hơi khác so với đường trung bình động đơn giản (SMA) ở chỗ nó tập trung nhiều hơn vào dữ liệu gần đây nhất. Nó có xu hướng phản ứng nhanh hơn với những chuyển động đột ngột và thường được sử dụng cho các chiến lược ngắn hạn (chẳng hạn như giao dịch trong ngày).


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

Chúng ta cũng hãy vẽ đường trung bình động đơn giản (SMA) để sau này chúng ta có thể so sánh hai đường này. Thêm dòng này vào tập lệnh của bạn:

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

Giá trị này đại diện cho mức trung bình của mười ngày qua. Điều chỉnh số trong ngoặc đơn để xem đường cong thay đổi như thế nào khi xem xét các giai đoạn khác nhau.


Média móvel simples com base nos 10 dias anteriores

MMS, dựa trên mười ngày qua.


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

EMA phức tạp hơn một chút nhưng đừng lo lắng. Trước tiên chúng ta hãy nhìn vào công thức:

EMA = (Đóng cửa - EMA của ngày hôm trước) * Nhân lên - EMA của ngày hôm trước

Điều đó nghĩa là gì? Đối với mỗi ngày, chúng tôi tính toán mức trung bình động mới dựa trên mức trung bình của ngày hôm trước. Hệ số nhân xem xét “trọng số” của kỳ gần đây nhất và tính toán nó bằng công thức:

Hệ số nhân = 2 / (Thời gian EMA + 1)

Giống như các đường trung bình động đơn giản, chúng ta cần xác định khoảng thời gian của EMA. Về mặt cú pháp, chức năng vẽ đồ thị EMA tương tự như MMS. Vẽ nó bên cạnh MMS để bạn có thể so sánh cả hai:

//@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))


MME e MMS em um gráfico do TradingView

Chúng ta có thể nhận thấy một sự khác biệt nhỏ giữa hai loại đường trung bình động.


➠ Bạn đang nghĩ đến việc đầu tư vào tiền điện tử? Mua Bitcoin trên Binance!


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

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

Ở trên cùng bên phải của trình chỉnh sửa, hãy nhấp vào Mới. Bạn sẽ thấy một menu thả xuống với tất cả các loại chỉ báo kỹ thuật. Nhấp vào Hàm mũ trung bình di chuyển để xem mã nguồn của chỉ báo EMA.



Média móvel exponencial em script do Pine Editor

Thêm phần này vào biểu đồ.


Cái này khác với cái của chúng ta – ở đây chúng ta thấy các hàm input(). Chúng tốt về mặt khả năng sử dụng, bởi vì chúng ta có thể nhấp vào hộp này…


Modificando um gráfico na interface do TradingView


...và dễ dàng thay đổi một số giá trị trong cửa sổ mới bằng cách nhấp vào Cài đặt.


alterando inputs da MME


Chúng tôi sẽ thêm một số hàm input() trong tập lệnh tiếp theo để chứng minh điều này.


Vẽ 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 thiết yếu khác. Nó được biết đến như một chỉ báo động lượng, nghĩa là nó đo lường tỷ lệ mua và bán tài sản. Điểm RSI được trình bày theo thang điểm từ 0 đến 100 và cố gắng thông báo cho nhà đầu tư biết liệu tài sản có bị mua quá mức hay bán quá mức hay không. Thông thường, một tài sản được coi là quá bán nếu nó có điểm nhỏ hơn hoặc bằng 30 và quá mua với điểm lớn hơn hoặc bằng 70.

Bạn có thể vào Mới > Chiến lược RSI và tự mình xem. Nói chung, RSI được đo theo khoảng thời gian 14 giờ hoặc 14 ngày, nhưng bạn có thể điều chỉnh cài đặt này cho phù hợp với chiến lược của riêng mình.

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


Kiểm tra lại

Có một cách để kiểm tra các chỉ số tùy chỉnh. Mặc dù lịch sử của nội dung không đảm bảo cho kết quả trong tương lai, nhưng việc kiểm tra lại các tập lệnh của chúng tôi có thể cho chúng tôi ý tưởng về tính hiệu quả của nó trong việc thu thập tín hiệu. 

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

//@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 nhập và thoát dưới dạng biến – cả hai đều là đầu vào, có nghĩa là bạn có thể thay đổi chúng trong biểu đồ sau này. Chúng tôi cũng định cấu hình biến giá, giá, xem xét thời điểm đóng cửa của từng kỳ. Sau đó, chúng ta sử dụng logic ở dạng hàm if. Nếu phần trong ngoặc vuông là đúng thì khối bên dưới nó sẽ được thực thi. Nếu không, khối sẽ bị bỏ qua.

Do đó, nếu giá nhỏ hơn hoặc bằng mục nhập mong muốn, biểu thức đầu tiên sẽ đánh giá là đúng và chúng tôi sẽ mở một vị thế mua. Ngay khi giá bằng hoặc lớn hơn mức thoát mong muốn, khối thứ hai sẽ được kích hoạt, đóng tất cả các vị thế mở. 

Chúng tôi sẽ sử dụng biểu đồ có mũi tên hiển thị nơi chúng tôi vào/ra; Do đó, chúng tôi chỉ định cách gắn nhãn các điểm này bằng tham số nhận xét, 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 đồ.


indicador ativo no gráfico do TradingView

Bây giờ chúng ta có thể thấy các chỉ số trên biểu đồ. Bạn có thể cần phải thu nhỏ.


TradingView tự động áp dụng các quy tắc của nó cho dữ liệu cũ hơn. Bạn cũng sẽ nhận thấy rằng nó chuyển từ tab Trình chỉnh sửa thông sang tab Trình kiểm tra chiến lược. Điều này cho phép bạn có cái nhìn tổng quan về lợi nhuận có thể có của mình, danh sách các giao dịch và từng kết quả hoạt động riêng lẻ của chúng.


Strategy Tester do TradingView

Vị trí vào và ra.


Liên kết thông tin

Đã đến lúc viết kịch bản của riêng chúng ta bằng cách sử dụng một số khái niệm mà chúng ta đã thấy cho đến nay. Hãy kết hợp EMA và RSI và sử dụng các giá trị của chúng để tô màu biểu đồ nến, tạo ra thông tin mà chúng ta có thể dễ dàng hình dung. 

Điều này không nên được hiểu là khuyến khích đầu tư hoặc tư vấn tài chính – không có cách nào khách quan và chính xác để sử dụng chỉ báo này. Giống như tất cả những công cụ khác, nó nên được sử dụng cùng với các công cụ khác để phát triển chiến lược của riêng bạn.

Bây giờ hãy làm việc với kịch bản mới của chúng ta. Xóa tất cả các chỉ báo của bạn khỏi biểu đồ và ẩn biểu đồ Bitcoin/BUSD để chúng ta có thể làm việc trong một khung vẽ rõ ràng.

Hãy bắt đầu bằng cách xác định nghiên cứu của chúng tôi. Bạn có thể thoải mái đặt tên nó theo bất kỳ tên nào bạn muốn nhưng hãy nhớ đặt tham số lớp phủ=true.

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

Hãy nhớ công thức EMA của chúng tôi từ trước. Chúng tôi phải cung cấp hệ số nhân với khoảng thời gian của EMA. Hãy sử dụng đầu vào yêu cầu số nguyên (để không có chữ số thập phân). Chúng tôi cũng sẽ xác định 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="EMA length", 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 cây nến trên biểu đồ của mình:

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)


Xuất sắc. Bây giờ là RSI. Chúng ta sẽ xác định một khoảng thời gian 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)

Và sau đó, chúng ta có thể tính toá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, chúng ta sẽ tập hợp logic tô màu biểu đồ nến theo giá trị EMA và RSI. Hãy xem xét tình huống trong đó (a) giá đóng cửa của nến vượt quá EMA và (b) chỉ số RSI lớn hơn 50.

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

Vì vậy, dòng tiếp theo 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

Sử dụng ngôn ngữ đơn giản, mã chỉ nói rằng nếu giá trị EMA vượt qua giá đóng cửa và điểm RSI lớn hơn 50 thì màu nến sẽ có màu xanh lục. Nếu không nó sẽ có màu đỏ. 

Tiếp theo, hãy vẽ đường 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, vẽ đồ thị nến, đảm bảo bao gồm tham số màu, màu sắc:

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)

Và đó là kịch bản! Thêm nó vào biểu đồ để xem nó hoạt động.


Script em funcionamento no TradingView

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


Cân nhắc cuối cùng

Trong bài viết này, chúng ta xem xét một số ví dụ cơ bản về những gì bạn có thể làm với Pine Editor của TradingView. Giờ đây, bạn có thể tùy chỉnh biểu đồ giá để có thêm thông tin chi tiết bằng cách sử dụng các chỉ báo của riêng mình.

Ở đây chúng tôi chỉ đề cập đến một số chỉ báo, nhưng ý tưởng cũng tương tự đối với những chỉ báo phức tạp hơn – bạn có thể chọn các tập lệnh được tích hợp trong Mới hoặc tự viết chúng.

Không cảm hứng? Các bài viết sau đây có thể cung cấp một số ý tưởng cho dự án tiếp theo của bạn:

  • Hướng dẫn ngắn gọn về Chỉ báo Parabolic SAR

  • Hướng dẫn thoái lui Fibonacci

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

  • Cách hoạt động của chỉ báo MACD