Chiến lược thoát khỏi rừng đá quý 1 phút

Tác giả:ChaoZhang, Ngày: 2024-02-19 10:56:07
Tags:

img

Tổng quan

Chiến lược Breakout 1 phút là một chiến lược giao dịch định lượng nhằm nắm bắt các tín hiệu breakout trong khoảng thời gian 1 phút để nhận ra lợi nhuận nhanh chóng. Chiến lược này kết hợp nhiều chỉ số như đường trung bình động, ATR, RSI để tạo ra các tín hiệu giao dịch và đạt tỷ lệ rủi ro-lợi nhuận cao hơn trong thời gian nắm giữ ngắn.

Chiến lược logic

Chiến lược này chủ yếu sử dụng các yếu tố sau đây để hình thành tín hiệu giao dịch:

  1. Chỉ số ATR - Tính toán phạm vi thực tế trung bình để thiết lập các kênh giá;
  2. Chỉ số trung bình động - Tính toán EMA nhanh và EMA chậm để tạo ra tín hiệu đường chéo vàng / đường chéo chết;
  3. Chỉ số RSI - Tính toán chỉ số RSI nhanh và chậm để xác định khu vực mua quá mức / bán quá mức;
  4. Mối quan hệ kênh giá - tạo ra tín hiệu giao dịch khi giá vượt ra khỏi các kênh.

Cụ thể, chiến lược tính toán trung bình N-thời gian của ATR, EMA nhanh, EMA chậm, RSI nhanh và RSI chậm. Kết hợp các điều kiện của kênh phá vỡ giá ATR, EMA Golden Cross và RSI đạt đến mức độ cực, chiến lược gửi tín hiệu mua hoặc bán.

Phân tích lợi thế

Những lợi thế chính của chiến lược này là:

  1. Nhận được xu hướng giá ngắn hạn;
  2. Phản ứng nhanh chóng, phù hợp với giao dịch tần số cao;
  3. Đáng tin cậy hơn với nhiều chỉ số lọc;
  4. Parametric cho người dùng để tối ưu hóa.

Phân tích rủi ro

Ngoài ra còn có một số rủi ro:

  1. Rủi ro cao trong giao dịch ngắn hạn, cần phải dừng lỗ nghiêm ngặt;
  2. Tối ưu hóa tham số không đúng dẫn đến quá tải;
  3. Tần suất giao dịch cao làm tăng chi phí.

Để kiểm soát rủi ro, nên thực hiện dừng lỗ, và các thông số cần phải kiểm tra lại đúng cách để tránh quá mức.

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

Chiến lược có thể được tối ưu hóa thông qua:

  1. Các thiết lập tham số thử nghiệm trong thời gian ngắn hơn (5 phút, 15 phút);

  2. Thêm nhiều chỉ số lọc như âm lượng để cải thiện chất lượng tín hiệu;

  3. Tối ưu hóa kênh ATR và các thông số trung bình động để tìm kết hợp thông số tốt nhất.

Kết luận

Chiến lược Breakout 1 phút Gem Forest tập trung vào việc nắm bắt xu hướng ngắn hạn bằng cách lọc với nhiều chỉ số, có phản ứng nhanh và đặc điểm rủi ro-lợi nhuận cao. Nó có thể được điều chỉnh theo sở thích rủi ro của người dùng thông qua tối ưu hóa tham số để có kết quả tốt hơn. Tuy nhiên, người dùng nên kiểm soát rủi ro giao dịch thông qua dừng lỗ nghiêm ngặt, tần suất giao dịch hợp lý v.v. Nhìn chung, chiến lược này phù hợp với các nhà đầu tư có kiến thức giao dịch lượng nhất định và dung nạp rủi ro cho giao dịch ngắn hạn.


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

//@version=5
strategy("Gem Forest 1 Dakika Scalp", overlay=true)

source = close
atrlen = input.int(14, "ATR Period")
mult = input.float(1, "ATR Multi", step=0.1)
smoothing = input.string(title="ATR Smoothing", defval="WMA", options=["RMA", "SMA", "EMA", "WMA"])

ma_function(source, atrlen) => 
    if smoothing == "RMA"
        ta.rma(source, atrlen)
    else
        if smoothing == "SMA"
            ta.sma(source, atrlen)
        else
            if smoothing == "EMA"
                ta.ema(source, atrlen)
            else
                ta.wma(source, atrlen)

atr_slen = ma_function(ta.tr(true), atrlen)
upper_band = atr_slen * mult + close
lower_band = close - atr_slen * mult

ShortEMAlen = input.int(21, "Fast EMA")
LongEMAlen = input.int(65, "Slow EMA")
shortSMA = ta.ema(close, ShortEMAlen)
longSMA = ta.ema(close, LongEMAlen)
RSILen1 = input.int(25, "Fast RSI Length")
RSILen2 = input.int(100, "Slow RSI Length")
rsi1 = ta.rsi(close, RSILen1)
rsi2 = ta.rsi(close, RSILen2)
atr = ta.atr(atrlen)

RSILong = rsi1 > rsi2
RSIShort = rsi1 < rsi2

longCondition = open < lower_band
shortCondition = open > upper_band
GoldenLong = ta.crossover(shortSMA,longSMA)
Goldenshort = ta.crossover(longSMA,shortSMA)

plotshape(shortCondition, title="Sell Label", text="Sell", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.white)
plotshape(longCondition, title="Buy Label", text="Buy", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.white)
plotshape(Goldenshort, title="Golden Sell Label", text="Golden Crossover Short", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.new(color.blue, 0), textcolor=color.white)
plotshape(GoldenLong, title="Golden Buy Label", text="Golden Crossover Long", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.new(color.yellow, 0), textcolor=color.white)

if (longCondition)
    stopLoss = low - atr * 2
    takeProfit = high + atr * 5
    strategy.entry("long", strategy.long)

if (shortCondition)
    stopLoss = high + atr * 2
    takeProfit = low - atr * 5
    strategy.entry("short", strategy.short)

plot(upper_band)
plot(lower_band)
plot(shortSMA, color = color.red)
plot(longSMA, color = color.yellow)


Thêm nữa