Chiến lược phá vỡ hợp chất

Tác giả:ChaoZhang, Ngày: 2024-02-29 14:07:54
Tags:

img

Tổng quan

Chiến lược này tính toán giá cao nhất và thấp nhất của các thanh N gần đây để thiết lập các điều kiện phá vỡ kép kết hợp với đường trung bình động để thực hiện chiến lược giao dịch mua thấp và bán cao.

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

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

  1. Tính toán giá thấp tối thiểu minLow của 7 thanh gần đây để xác định điều kiện mua đột phá
  2. Tính toán giá cao tối đa maxHigh của 7 thanh gần đây để xác định điều kiện bán phá vỡ
  3. Tính toán đường trung bình di chuyển đơn giản 200 giai đoạn mma để xác định hướng xu hướng kết hợp với mma
  4. Điều kiện mua: giá đóng phá vỡ minLow và cao hơn mma
  5. Điều kiện bán: giá đóng cửa vượt qua maxHigh hoặc cao hơn maxHigh

Bằng cách tính toán các cực của các thanh N gần đây, nó đánh giá liệu thị trường có quá bán hay quá mua hay không. Kết hợp với đường trung bình động để xác định hướng xu hướng, nó đặt ra hai điều kiện để đạt được chiến lược giao dịch phá vỡ của mua thấp và bán cao.

Phân tích lợi thế

Chiến lược có những lợi thế sau:

  1. Cài đặt hai điều kiện làm cho các tín hiệu giao dịch của chiến lược đáng tin cậy hơn
  2. Sử dụng các cực của các đường K để đánh giá tình trạng bán quá mức và mua quá mức có thể nắm bắt cơ hội đảo ngược
  3. Kết hợp đường trung bình động để xác định hướng xu hướng tránh các hoạt động ngược
  4. Nó thực hiện ý tưởng 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. Logic của chiến lược là đơn giản và rõ ràng, dễ hiểu và thực hiện

Thông qua xác nhận hai lần, chất lượng tín hiệu của chiến lược tương đối cao và không gian tối ưu hóa tham số là lớn, 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 đôi hạn chế tần suất tín hiệu, có thể bỏ lỡ một số cơ hội giao dịch
  2. Cài đặt không chính xác của chu kỳ tính toán cho các đường cực K có thể không xác định chính xác tình trạng bán quá và mua quá
  3. Cài đặt tham số không chính xác của đường trung bình động có thể xác định sai hướng xu hướng
  4. Nó cần tối ưu hóa nhiều tham số đồng thời, làm cho tối ưu hóa tham số khó khăn 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 sự kết hợp các tham số và các phương pháp khác.

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

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

  1. Tối ưu hóa chu kỳ tính toán của K đường cực để tìm các thông số chu kỳ thích hợp nhất để xác định mua quá mức và bán quá mức
  2. Kiểm tra các hiệu ứng của đường trung bình động có chiều dài khác nhau
  3. Tăng các chỉ số kết hợp khác như kênh BOLL, chỉ số KD, v.v.
  4. Tăng các chiến lược dừng lỗ để kiểm soát lỗ dừng duy nhất
  5. Tối ưu hóa điều kiện nhập và xuất để cải thiện chất lượng tín hiệu

Thông qua tối ưu hóa tham số, tối ưu hóa chỉ số, tối ưu hóa kiểm soát rủi ro và các phương tiện khác, yếu tố lợi nhuận của chiến lược có thể được cải thiện đáng kể.

Tóm lại

Nói chung, đây là một chiến lược đột phá rất thực tế. Tính toán cực của các đường K để xác định tình trạng bán quá mức và mua quá mức, sử dụng đường trung bình động để xác định hướng xu hướng, thiết lập điều kiện lọc kép để lọc các tín hiệu sai, nó thực hiện các chiến lược mua thấp và bán cao 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 và các phương tiện khác, hiệu ứng chiến lược có thể được tăng cường hơn nữa. Chiến lược này phù hợp cho cả người mới bắt đầu học và thương nhân chuyên nghiệp để tối ưu hóa và sử dụng.


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


Thêm nữa