Chiến lược đột phá độ cứng

Tác giả:ChaoZhang, Ngày: 2024-01-03 11:34:34
Tags:

img

Tổng quan

Chiến lược đột phá độ cứng là một chiến lược đột phá dựa trên chỉ số độ cứng của giá. Nó tính toán số lần giá đóng phá vỡ đường ray trên trong một khoảng thời gian nhất định để xác định độ cứng của giá. Khi chỉ số độ cứng vượt quá ngưỡng đặt, nó được đánh giá là thị trường sắp phá vỡ và đặt lệnh mua. Khi chỉ số độ cứng dưới ngưỡng, nó được đánh giá là thị trường sắp giảm và đặt lệnh bán.

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

  1. Tính toán trung bình động và độ lệch chuẩn: Tính toán trung bình động đơn giản của n giai đoạn như đường ray trên của điểm chuẩn và 0,2 lần độ lệch chuẩn của giá như đường ray dưới đệm.

  2. Tính toán chỉ số độ cứng: Đếm số ngày khi giá đóng cửa cao hơn đường ray trên trong m chu kỳ, chia cho m để có được một giá trị từ 0-100, và sau đó làm mịn nó với EMA n-thời gian để có được giá trị độ cứng cuối cùng, đại diện cho xác suất giá đóng cửa sẽ phá vỡ đường ray trên.

  3. So sánh độ cứng và ngưỡng: Khi chỉ số độ cứng vượt quá ngưỡng đặt, điều đó có nghĩa là xác suất đột phá tăng và một tín hiệu mua được tạo ra. Khi chỉ số độ cứng vượt dưới ngưỡng, điều đó có nghĩa là xác suất đột phá giảm và một tín hiệu bán được tạo ra.

  4. Nhập và ra: Mua khi giá đóng phá vỡ đường sắt trên, và bán khi đột phá thất bại và giảm bắt đầu.

Phân tích lợi thế

  1. Nhận được thời gian của sự phá vỡ: Xét tương đối đáng tin cậy khi một xu hướng sắp phá vỡ hoặc rút lui, để đi vào thị trường trước.

  2. Hãy tính đến sự đột phá và giảm: Chiến lược nắm bắt cả cơ hội dài và ngắn bằng cách sử dụng sự đột phá và giảm chỉ số độ cứng.

  3. Các thông số linh hoạt: Người dùng có thể điều chỉnh các thông số như chiều dài trung bình động, chu kỳ độ cứng, ngưỡng, vv theo thị trường để thích nghi với các đặc điểm của các chu kỳ và thị trường khác nhau.

  4. Dễ dàng thực hiện: Chỉ sử dụng chỉ số độ cứng và so sánh ngưỡng mà không có logic phức tạp, thực hiện mã khá đơn giản.

Phân tích rủi ro

  1. Nguy cơ phá vỡ thất bại: Khi độ cứng vượt quá ngưỡng, không thể đảm bảo đầy đủ rằng giá sẽ phá vỡ đường sắt trên, với một nguy cơ phá vỡ sai.

  2. Nguy cơ giảm giá: Khi đi ngắn, phạm vi và vị trí cụ thể của giảm giá không thể được dự đoán, với nguy cơ mất quá nhiều.

  3. Rủi ro tối ưu hóa tham số: Các tham số tham chiếu không thể thích nghi đầy đủ với những thay đổi trên thị trường và cần phải được kiểm tra và tối ưu hóa liên tục theo điều kiện thực tế.

  4. Rủi ro giao dịch thường xuyên: Tần suất giao dịch tương đối cao của chiến lược này làm tăng tổn thất từ chi phí giao dịch và trượt.

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

  1. Tối ưu hóa tham số: Kiểm tra cài đặt tham số dưới các thị trường khác nhau để tìm sự kết hợp tham số tối ưu. Ví dụ, tăng chiều dài trung bình động để giảm tần suất giao dịch.

  2. Thêm stop loss: Thiết lập logic stop loss hợp lý để kiểm soát single loss. Stop loss có thể được đặt dựa trên ATR.

  3. Tích hợp các chỉ số khác: Các chỉ số như MACD và KD có thể được thêm vào để xác định các điểm đầu vào cụ thể và giảm xác suất đột phá sai.

  4. Tối ưu hóa điều kiện thoát: Các chỉ số xu hướng có thể được sử dụng để xác định các đặc điểm của sự đảo ngược xu hướng và thiết lập các điều kiện thoát chính xác hơn.

Tóm lại

Nhìn chung, Chiến lược đột phá độ cứng là khá đơn giản và thực tế. Nó có thể dự đoán trước các đột phá giá và giảm giá có thể xảy ra, với một số giá trị thực tế. Nhưng chúng ta cũng cần chú ý đến các vấn đề về đột phá sai và phạm vi giảm giá, và nắm bắt các cơ hội giao dịch chính xác hơn thông qua tối ưu hóa tham số và bổ sung các chỉ số kỹ thuật khác.


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// Copyright (c) 2020-present, JMOZ (1337.ltd)
// Copyright (c) 2018-present, Alex Orekhov (everget)
// Stiffness Indicator script may be freely distributed under the MIT license.
strategy("Stiffness Strategy", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_value=0.075)


maLength = input(title="Moving Average Length", minval=1, defval=100)
stiffLength = input(title="Stiffness Length", minval=1, defval=60)
stiffSmooth = input(title="Stiffness Smoothing Length", minval=1, defval=3)
threshold = input(title="Threshold", minval=1, defval=90)
highlightThresholdCrossovers = input(title="Highlight Threshold Crossovers ?", type=input.bool, defval=false)


bound = sma(close, maLength) - 0.2 * stdev(close, maLength)
sumAbove = sum(close > bound ? 1 : 0, stiffLength)
stiffness = ema(sumAbove * 100 / stiffLength, stiffSmooth)


long_cond = crossover(stiffness, threshold)
long_close = stiffness > threshold and falling(stiffness, 1)
short_cond = crossunder(stiffness, threshold) or stiffness < threshold and falling(stiffness, 1)
short_close = stiffness < threshold and rising(stiffness, 1)


strategy.entry("Long", strategy.long, when=long_cond)
strategy.close("Long", when=long_close)
strategy.entry("Short", strategy.short, when=short_cond)
strategy.close("Short", when=short_close)


transparent = color.new(color.white, 100)

bgColor = highlightThresholdCrossovers ? stiffness > threshold ? #0ebb23 : color.red : transparent
bgcolor(bgColor, transp=90)

plot(stiffness, title="Stiffness", style=plot.style_histogram, color=#f5c75e, transp=0)
plot(threshold, title="Threshold", color=color.red, transp=0)


Thêm nữa