Tài nguyên đang được tải lên... tải...

Chiến lược kênh ngược

Tác giả:ChaoZhang, Ngày: 2023-12-05 12:04:13
Tags:

img

Tổng quan chiến lược

Đây là một chiến lược giao dịch đảo ngược dựa trên chỉ số Laruent Channel. Nó tính toán giá cao nhất và thấp nhất trong một khoảng thời gian nhất định trong quá khứ để xác định xem giá hiện tại có nằm trong khu vực mua quá nhiều hoặc bán quá nhiều không. Nếu giá gần đường ray trên hoặc dưới, nó sẽ mở một vị trí theo hướng ngược lại và chờ giá quay trở lại đường trung.

Nguyên tắc chiến lược

Chiến lược này chủ yếu dựa trên hai chỉ số:Chỉ số %R (%R)Đường ray kênh Laruent.

Chỉ số PercentR cho thấy khoảng cách giữa giá đóng hiện tại và giá cao nhất và thấp nhất trong thời gian gần đây nhất. Phạm vi giá trị là từ 0 đến -100. Giá trị gần 0 có nghĩa là giá đóng hiện tại gần với điểm cao nhất gần đây. Và giá trị gần -100 có nghĩa là giá đóng hiện tại gần với giá thấp nhất gần đây.

Kênh Laruent bao gồm đường ray trên, đường ray giữa và đường ray dưới. Đường ray trên bằng giá cao nhất trong thời gian gần đây nhất. Đường ray dưới bằng giá thấp nhất trong thời gian đó. Đường ray giữa là trung bình của đường ray trên và đường ray dưới. Nếu giá vượt quá đường ray trên, nó được coi là mua quá mức. Nếu giá dưới đường ray dưới, nó được coi là bán quá mức.

Chiến lược đầu tiên tính toánChỉ số %RĐường ray kênh Laruent, sau đó sử dụng hai chỉ số để xác định xem tình trạng hiện tại có quá mua hay quá bán không:

  1. Khi PercentR dưới -87, tình trạng được coi là quá bán.
  2. Khi PercentR trên -20, tình trạng được coi là đã mua quá mức.

Nếu tình trạng hiện tại không bị mua quá mức hoặc bán quá mức, nó sẽ mở thị trường và đóng vị trí trước khi thị trường đóng cửa cùng một ngày.

Bằng cách nắm bắt sự đảo ngược giá cả, nó có thể tạo ra lợi nhuận trong ngắn hạn.

Ưu điểm

  1. Chiến lược đơn giản và rõ ràng, dễ hiểu và thực hiện.
  2. Sử dụng chỉ số PercentR để đánh giá tình trạng mua quá mức / bán quá mức là đáng tin cậy.
  3. Việc thực hiện lệnh tại thị trường mở và đóng các vị trí trước khi thị trường đóng tránh rủi ro qua đêm.
  4. Là một chiến lược giao dịch đảo ngược, nó phù hợp với việc kiếm lợi nhuận ngắn hạn.

Rủi ro

  1. Không thể đảo ngược, không thể thoát ra với lợi nhuận.
  2. Cài đặt tham số không chính xác, không thể đánh giá chính xác tình trạng mua quá mức / bán quá mức.
  3. Thời gian giao dịch trong ngày quá ngắn, tín hiệu giao dịch ít hơn.

Rủi ro có thể được giảm bằng cách tối ưu hóa các tham số, điều chỉnh thời gian đặt lệnh hoặc kết hợp với các chỉ số khác.

Tối ưu hóa

  1. Một cơ chế dừng lỗ có thể được giới thiệu để thiết lập một đường dừng lỗ để tránh mở rộng lỗ.
  2. Các thông số của PercentR có thể được tối ưu hóa để đánh giá mua quá mức / bán quá mức chính xác hơn.
  3. Chiến lược có thể được sử dụng trên nhiều khung thời gian đồng thời để thực hiện giao dịch nhiều khung thời gian.
  4. Nó có thể được kết hợp với các chỉ số khác như KDJ, MACD để làm cho tín hiệu giao dịch đáng tin cậy hơn.

Tóm lại

Nói chung, chiến lược này khá đơn giản và thực tế. Nó được thiết kế dựa trên ý tưởng giao dịch đảo ngược và phù hợp với giao dịch thường xuyên ngắn hạn. Có nhiều phòng tối ưu hóa. Có thể giới thiệu nhiều chỉ số kỹ thuật hơn để kết hợp. Và cơ chế dừng lỗ tự động cũng có thể được thiết lập để kiểm soát rủi ro.


/*backtest
start: 2023-11-04 00:00:00
end: 2023-12-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © zweiprozent original strategy by larry williams

strategy("Daily PercentR Strategy", overlay=false)
D_High = security(syminfo.tickerid, 'D', high[1])
D_Low = security(syminfo.tickerid, 'D', low[1])
D_Close = security(syminfo.tickerid, 'D', close[1])
D_Open = security(syminfo.tickerid, 'D', open[1])

LowMarker = input(-87,"Low Marker",input.integer)

HighMarker =  input(-20,"High Marker",input.integer)

length = input(title="Length", type=input.integer, defval=3)
src = input(close, "Source", type = input.source)
_pr(length) =>
	max = highest(length)
	min = lowest(length)
	100 * (src - max) / (max - min)
percentR = _pr(length)
obPlot = hline(LowMarker, title="Upper Band", color=#606060)
hline(-50, title="Middle Level", linestyle=hline.style_dotted, color=#606060)
osPlot = hline(HighMarker, title="Lower Band", color=#606060)
fill(obPlot, osPlot, title="Background", color=color.new(#9915ff, 90))
plot(percentR, title="%R", color=#3A6CA8, transp=0)

// Go Long - if percentR is not overbought/sold

ordersize=floor(strategy.equity/close) 

if percentR<HighMarker and percentR>LowMarker
    strategy.entry("Long", strategy.long,comment="Long")

//exit at end of session
if low[0]<high[0]
    strategy.close("Long", comment="exit")
    

Thêm nữa