Xu hướng theo chiến lược dựa trên mức cao lịch sử

Tác giả:ChaoZhang, Ngày: 2024-01-22 08:59:34
Tags:

img

Tổng quan

Chiến lược này chủ yếu theo dõi giá cao nhất trong lịch sử của chứng khoán. Nó mua khi giá giảm trở lại một tỷ lệ phần trăm nhất định của giá cao nhất và bán khi giá phá vỡ giá cao nhất trong lịch sử một lần nữa. Nó thuộc về chiến lược theo xu hướng.

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

Chiến lược đầu tiên ghi lại giá cao nhất của chứng khoán từ ngày 1 tháng 1 năm 2011 đến nay, được định nghĩa là biến số cao nhất. Sau đó nó vẽ đường ngang allTimeHigh của giá cao nhất này.

Trong quá trình hoạt động, nó đánh giá liệu giá cao nhất của ngày đã đạt mức cao mới mỗi ngày. Nếu nó đạt mức cao mới, nó cập nhật biến highestHigh và vẽ lại đường ngang allTimeHigh.

Có 3 đường thẳng ngang quan trọng trong chiến lược này:

  1. Buyzone=highestHigh*0.9: 90% giá cao nhất, đại diện cho cơ hội giảm mạnh

  2. Buyzone2=highestHigh*0.8: 80% giá cao nhất, đại diện cho một vị trí giảm giá tương đối hấp dẫn

  3. sellzone=highestHigh*0.99: 99% giá cao nhất, đại diện cho cơ hội xác định sự đảo ngược xu hướng

Nó gửi tín hiệu mua khi giá giảm xuống đường 80% (buyzone2); nó gửi tín hiệu bán khi giá vượt qua đường 99% (sellzone) của mức giá cao nhất trong lịch sử một lần nữa.

Phán quyết chính của chiến lược này là theo dõi mức giá cao nhất trong lịch sử và các đường mức tỷ lệ khác nhau.

Phân tích lợi thế

Lợi thế lớn nhất của chiến lược này là nó có thể nắm bắt xu hướng tăng dài hạn. Bằng cách chờ đợi giảm giá và sau đó đi vào, nó đạt được hiệu ứng mua thấp và bán cao. Những lợi thế cụ thể là như sau:

  1. Nó có thể nắm bắt các cơ hội xu hướng tăng dài hạn của cổ phiếu.

  2. Vị trí giảm 80% của giá cao nhất đại diện cho tỷ lệ rủi ro - lợi nhuận tối ưu có thể đảm bảo lợi nhuận sau khi tăng trong khi hạn chế rủi ro giảm

  3. 99% của mức cao lịch sử hoạt động như một đường dừng lỗ để tối đa hóa lợi nhuận trong khi kiểm soát rủi ro

  4. Có thể được sử dụng để kiểm tra xem cổ phiếu đã đi vào một cơ hội tăng trưởng cơ cấu.

  5. Không gian tham số điều chỉnh lớn có thể được tối ưu hóa cá nhân cho các cổ phiếu khác nhau

Do đó, chiến lược này tối đa hóa lợi nhuận từ xu hướng tăng của cổ phiếu trong khi tránh rủi ro điều chỉnh ngắn hạn.

Phân tích rủi ro

Rủi ro chính của chiến lược này là xác suất giá có thể đạt mức thấp mới và tiếp tục giảm sau khi mua.

  1. Khả năng tiếp tục giảm hoặc giới hạn xuống sau khi mua, có thể phải đối mặt với tổn thất

  2. Giá cao nhất thực sự đại diện cho sự điên cuồng của đuổi theo tăng và giết chết rơi, động lực cho tiếp tục tăng có thể không đủ

  3. Nếu các thông số được thiết lập không chính xác, sẽ có các vấn đề khác nhau nếu điểm dừng mất mát là quá cao hoặc quá thấp

  4. Tần suất giao dịch có thể thấp, dễ bị ảnh hưởng môi trường bên ngoài như xu hướng thị trường

  5. Nó không xem xét các nguyên tắc cơ bản và định giá của các cổ phiếu cá nhân, và cơ sở để lựa chọn cổ phiếu để mua là yếu

Giải pháp chính là: đánh giá hợp lý các nguyên tắc cơ bản để đảm bảo chất lượng lựa chọn cổ phiếu; điều chỉnh các tham số như tỷ lệ mua và dừng lỗ để tối ưu hóa các chiến lược; xem xét kết hợp với các chiến lược khác, v.v.

Hướng dẫn tối ưu hóa

Các hướng tối ưu hóa chính của chiến lược này là điều chỉnh tham số, quy tắc lựa chọn cổ phiếu và cải thiện các phương pháp dừng lỗ.

  1. Tối ưu hóa các chỉ số kỹ thuật mua và dừng lỗ, chẳng hạn như KD, MACD để tránh điểm cao

  2. Cải thiện các quy tắc lựa chọn cổ phiếu, bổ sung các nguyên tắc cơ bản và số liệu định giá để đảm bảo chất lượng cổ phiếu

  3. Điều chỉnh động tỷ lệ tham số và liên kết với thị trường rộng hơn để đảm bảo tính hợp lý của các tham số

  4. Thiết lập stop loss di chuyển hoặc stop loss thời gian để tối ưu hóa các phương pháp và vị trí stop loss

  5. Xem xét kết hợp với các chiến lược yếu tố khác để hình thành các mô hình đa yếu tố và cải thiện sự ổn định

  6. Thêm các chỉ số động lực để tránh thời kỳ thịnh vượng thấp sau khi cổ phiếu tăng

Do đó, các hướng tối ưu hóa chính là cải thiện các quy tắc lựa chọn cổ phiếu, điều chỉnh tham số và phương pháp dừng lỗ, đồng thời cải thiện thêm sự ổn định và lợi nhuận điều chỉnh rủi ro trên cơ sở các xu hướng sau.

Tóm lại

Chiến lược này thuộc về chiến lược theo xu hướng điển hình dựa trên mức cao mới trong lịch sử. Nó có thể nắm bắt hiệu quả xu hướng tăng dài hạn của cổ phiếu thông qua các sự rút lui kỹ thuật để có được tỷ lệ rủi ro-lợi nhuận vượt trội. Nhưng do thiếu xem xét các nguyên tắc cơ bản, sự ổn định và khả năng chống rủi ro yếu hơn. Các hướng tối ưu hóa chính là cải thiện các quy tắc lựa chọn cổ phiếu, điều chỉnh các tham số và dừng lỗ, và tối ưu hóa các cơ chế dừng lỗ. Nếu được sử dụng kết hợp với các chiến lược khác thông qua mô hình đa yếu tố, nó có thể hình thành một lựa chọn cổ phiếu định lượng và chiến lược giao dịch với tỷ lệ rủi ro-lợi nhuận tối ưu.


/*backtest
start: 2023-01-21 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("All-time-high", "ATH", overlay=true, initial_capital=10000, default_qty_value=100, default_qty_type=strategy.percent_of_equity, pyramiding=1, commission_type=strategy.commission.cash_per_contract, commission_value=0.000)

// input
Athlw = input(title="All-time-high line widths", type=input.integer, defval=4, minval=0, maxval=4)
Athlc = input(title="All-time-high line color", type=input.color, defval=color.new(color.fuchsia,50))
years = input(title="Years back to search for an ATH", type=input.integer, defval=6,minval=0, maxval=100)

var float   highestHigh = 0
// var line    allTimeHigh = line.new(na, na, na, na, extend=extend.both, color=Athlc, width=Athlw)

if high > highestHigh
    highestHigh := high

// if barstate.islast
//     line.set_xy1(allTimeHigh, bar_index-1, highestHigh)
//     line.set_xy2(allTimeHigh, bar_index,   highestHigh)

plot(highestHigh)
buyzone=highestHigh*0.9
buyzone2=highestHigh*0.8
buyzone3=highestHigh*0.7
sellzone=highestHigh*0.99

plot(buyzone, color=color.red)
plot(buyzone2, color=color.white)
plot(buyzone3, color=color.green)

begin = timestamp(2011,1,1,0,0)
end = timestamp(2022,4,19,0,0)

longCondition = close<buyzone2
if (longCondition)
    strategy.entry("Buy", strategy.long)
closeCondition = close>sellzone
if (closeCondition)
    strategy.close("Buy", strategy.long)


Thêm nữa