Dựa trên chiến lược đột phá tổng hợp


Ngày tạo: 2024-02-29 14:07:54 sửa đổi lần cuối: 2024-02-29 14:07:54
sao chép: 0 Số nhấp chuột: 546
1
tập trung vào
1617
Người theo dõi

Dựa trên chiến lược đột phá tổng hợp

Tổng quan

Chiến lược này thực hiện chiến lược giao dịch mua thấp và bán cao bằng cách tính toán giá cao nhất và giá thấp nhất của đường N gốc K gần đây nhất, kết hợp với chỉ số trung bình di chuyển, đặt điều kiện phá vỡ đôi.

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

Chiến lược này dựa trên các nguyên tắc sau:

  1. Tính giá tối thiểu cho 7 đường K gần nhất minLow để xác định điều kiện mua phá vỡ
  2. Tính giá maxHigh của 7 đường K gần nhất để xác định điều kiện bán phá vỡ
  3. Xác định chiều dài của một đường trượt trung bình đơn giản (SMA) dài 200 mm, kết hợp với chỉ số MMA để xác định xu hướng
  4. Điều kiện mua: Giá đóng cửa phá vỡ minLow và cao hơn mma
  5. Điều kiện bán: giá đóng cửa vượt quá maxHigh hoặc cao hơn maxHigh

Xác định xem thị trường có đang bán quá hoặc mua quá bằng cách tính toán cực của đường N gốc K gần nhất. Xác định hướng xu hướng kết hợp với đường trung bình di chuyển, đặt điều kiện kép, thực hiện chiến lược giao dịch phá vỡ mua thấp và bán cao.

Phân tích lợi thế

Chiến lược này có những ưu điểm sau:

  1. Cài đặt điều kiện kép làm cho tín hiệu giao dịch chiến lược đáng tin cậy hơn
  2. Sử dụng K-Line cực đoan để đánh giá tình trạng quá bán, có thể nắm bắt cơ hội đảo ngược
  3. Kết hợp với đường trung bình di chuyển để đánh giá xu hướng, tránh hoạt động ngược
  4. Các nhà giao dịch đã thực hiện các giao dịch mua thấp và bán cao, phù hợp với tâm lý giao dịch của hầu hết các nhà giao dịch
  5. Lập luận chiến lược đơn giản, rõ ràng, dễ hiểu và thực hiện

Bằng cách xác nhận điều kiện kép, làm cho tín hiệu chiến lược có chất lượng cao hơn, đồng thời có nhiều không gian tối ưu hóa tham số, phù hợp với môi trường thị trường khác nhau.

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Điều kiện kép hạn chế tần số tín hiệu, có thể bỏ lỡ một số cơ hội giao dịch
  2. Chu kỳ tính toán cực K-line được thiết lập không chính xác, có thể không xác định chính xác tình trạng quá bán
  3. Các tham số trung bình di chuyển không được thiết lập đúng, có thể đánh giá sai hướng xu hướng
  4. Cần tối ưu hóa nhiều tham số cùng một lúc, tham số tối ưu hóa khó hơn

Những rủi ro này có thể được giảm bằng cách điều chỉnh chu kỳ tính toán, tối ưu hóa các tham số. Ngoài ra, cũng có thể xem xét tối ưu hóa kết hợp với các chỉ số khác.

Hướng tối ưu hóa

Chiến lược này có thể được tối ưu hóa theo các hướng sau:

  1. Tối ưu hóa chu kỳ tính toán cực K-line để tìm các tham số chu kỳ phù hợp nhất để đánh giá quá mua quá bán
  2. Kiểm tra hiệu quả của các đường trung bình di chuyển với độ dài khác nhau
  3. Thêm kết hợp các chỉ số khác, chẳng hạn như kênh BOLL, chỉ số KD
  4. Tăng chiến lược dừng lỗ, kiểm soát lỗ hổng đơn lẻ
  5. Tối ưu hóa các điều kiện ra sân và cải thiện chất lượng tín hiệu

Thông qua các phương tiện như tối ưu hóa tham số, tối ưu hóa chỉ số, tối ưu hóa kiểm soát gió, có thể nâng cao đáng kể yếu tố lợi nhuận chiến lược.

Tóm tắt

Chiến lược này nói chung là một chiến lược đột phá rất thực tế. Tính toán K-line cực đoan để xác định tình trạng quá mua quá bán, trung bình di chuyển để xác định hướng xu hướng, điều kiện kép thiết lập các tín hiệu lọc sai, để đạt được chiến lược bán cao giá thấp chất lượng cao. Bằng cách tối ưu hóa chu kỳ tính toán, thêm các chỉ số khác có thể nâng cao hiệu quả chiến lược hơn nữa.

Mã nguồn chiến lược
/*backtest
start: 2023-02-22 00:00:00
end: 2024-02-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Larry Connors por RON", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

value1 = input(7, title="Quantity of day low")
value2 = input(7, title="Quantity of day high")
entry = lowest(close[1], value1)
exit = highest(close[1], value2)

lengthMMA = input(200, title="Length of SMA", minval=1)
mma = sma(close, lengthMMA)

// Calcular el mínimo de los precios bajos de las últimas 'value1' velas
minLow = lowest(low, value1)

// Calcular el máximo de los precios altos de las últimas 'value2' velas
maxHigh = highest(high, value2)

// Test Period
testStartYear = input(2009, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)

testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)

testPeriod() => true

if testPeriod()
    // Condiciones de entrada
    conditionMet = (close > mma) and (close < entry) and (low == minLow)
    strategy.entry("Buy", strategy.long, when=conditionMet)
    
    if conditionMet
        label.new(bar_index, entry, text="↑", style=label.style_arrowup, color=color.green, size=size.small, yloc=yloc.belowbar)
    
    // Condiciones de salida
    conditionExit = close > exit or close > maxHigh
    strategy.close("Buy", when=conditionExit)