Chiến lược theo dõi đường trung bình động đột phá dao động


Ngày tạo: 2023-10-30 11:39:31 sửa đổi lần cuối: 2023-10-30 11:39:31
sao chép: 1 Số nhấp chuột: 629
1
tập trung vào
1617
Người theo dõi

Chiến lược theo dõi đường trung bình động đột phá dao động

Chiến lược này mang lại lợi nhuận bền vững trong thị trường chấn động bằng cách theo dõi sự phá vỡ của đường cân bằng.

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

Chiến lược này chủ yếu dựa trên nguyên tắc phá vỡ đường trung bình để xây dựng vị trí, sử dụng MA tập hợp nhiều đường trung bình để tạo ra đường trung bình chính. Khi giá phá vỡ đường trung bình chính, nó tạo ra tín hiệu giao dịch.

Cụ thể, chiến lược sử dụng đường trung bình trượt hai lần WMA 60 chu kỳ làm đường trung bình chính. Đồng thời, tính toán phạm vi biến động thực tế của giá và vẽ đường đi lên xuống.

Trên cơ sở phá vỡ, chiến lược cũng giới thiệu các chỉ số RSI và EMA để đưa ra phán đoán hỗ trợ, yêu cầu làm nhiều khi RSI> 50 và giá cao hơn EMA, và làm trống khi RSI < 50 và giá thấp hơn EMA, để tránh phá vỡ giả.

Ngoài ra, chiến lược sử dụng các hình thức mạnh và yếu của đường trung bình ba chiều để xác định vị trí kết thúc. Khi các hình dạng đường trung bình ba chiều là yếu ((-1), chọn điểm thoát là lối đột phá ngược.

Lợi thế chiến lược

  • Sử dụng đường trung bình đa MA, có thể làm mỏng hiệu quả sự thay đổi giá, nhận ra hướng xu hướng
  • Các giao dịch phá vỡ kênh có thể mang lại lợi nhuận lớn trong thời kỳ khủng hoảng
  • Kết hợp RSI và EMA để đánh giá phụ trợ, có thể lọc các tín hiệu phá vỡ giả
  • Sử dụng trạng thái đường trung bình ba để xác định điểm rút ra thích hợp, tránh tình trạng suy thoái

Rủi ro chiến lược

  • Trong trường hợp có sự biến động lớn, đường trung bình MA có thể tạo ra nhiều đột phá giả
  • Thời điểm rút lui của Triple Equilibrium có thể không chính xác
  • RSI không được thiết lập đúng có thể dẫn đến tần suất giao dịch quá cao

Có thể giảm rủi ro bằng cách tối ưu hóa các tham số chu kỳ MA, điều chỉnh thiết lập đường trung bình ba, sử dụng các tham số RSI một cách thận trọng.

Hướng tối ưu hóa chiến lược

  • Tối ưu hóa tham số chu kỳ MA để tìm chu kỳ đường trung bình chính phù hợp hơn
  • Hãy thử các chỉ số hỗ trợ khác để thay thế RSI, như KDJ, MACD.
  • Điều chỉnh tham số đường trung bình ba lần để tìm thời gian đảo ngược chính xác hơn
  • Thêm chiến lược dừng lỗ, kiểm soát rủi ro giao dịch đơn lẻ

Tóm tắt

Chiến lược này nói chung là một chiến lược đột phá rất phù hợp với tình huống chấn động. Ý tưởng cốt lõi là dựa trên MA phá vỡ vị trí, hỗ trợ lọc chỉ số xu hướng, lợi nhuận liên tục trong tình huống chấn động. Đồng thời kết hợp với ba đường trung bình đánh giá thời gian đảo ngược rút lui sớm.

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



//@version=5

//exapple bot
strategy('RIPO BOT', shorttitle='RIPO BOT', overlay=true, process_orders_on_close=true, calc_on_order_fills=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
sl_inp = input(0.1, title='Stop Loss %') / 100
tp_inp = input(0.33, title='Take Profit %') / 100

length = input(defval=21)
upper = ta.highest(length)
lower = ta.lowest(length)

lengthChop = input.int(14, minval=1)
ci = 100 * math.log10(math.sum(ta.atr(1), lengthChop) / (ta.highest(lengthChop) - ta.lowest(lengthChop))) / math.log10(lengthChop)
offset = input.int(0, "Offset",  minval = -500, maxval = 500)
plot(ci, "CHOP", color=#2962FF, offset = offset)
band1 = hline(61.8, "Upper Band", color=#787B86, linestyle=hline.style_dashed)
hline(50, "Middle Band", color=color.new(#787B86, 50))
band0 = hline(38.2, "Lower Band", color=#787B86, linestyle=hline.style_dashed)
fill(band1, band0, color = color.rgb(33, 150, 243, 90), title = "Background")

rsi = ta.rsi(close, 14)

var float entry_price = na

output = 100 * (close - upper) / (upper - lower)
ema = ta.ema(output, input(defval=13, title='EMA'))

ma(src, len) =>
    ta.wma(2 * ta.wma(src, len / 2) - ta.wma(src, len), math.round(math.sqrt(len)))
BBMC = ma(close, 60)
rangema = ta.ema(ta.tr, 60)
upperk = BBMC + rangema * 0.2
lowerk = BBMC - rangema * 0.2
color_bar = close > upperk ? color.blue : close < lowerk ? color.fuchsia : color.gray

ExitHigh = ma(high, 15)
ExitLow = ma(low, 15)
Hlv3 = int(na)
Hlv3 := close > ExitHigh ? 1 : close < ExitLow ? -1 : Hlv3[1]
sslExit = Hlv3 < 0 ? ExitHigh : ExitLow
base_cross_Long = ta.crossover(close, sslExit)
base_cross_Short = ta.crossover(sslExit, close)
codiff = base_cross_Long ? 1 : base_cross_Short ? -1 : na
entry_long = false

entry_short = false

    
if ta.crossover(close, BBMC) and output > ema
    entry_long := true
    
if ta.crossunder(close, BBMC) and output < ema
    entry_short := true

if entry_long and strategy.position_size == 0
    entry_price := close
    strategy.entry('enter long', strategy.long, comment='ENTER-LONG_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663')
if strategy.position_size > 0
    strategy.exit('Stop Loss/TP long', 'enter long', limit=entry_price * (1 + tp_inp), stop = color_bar == color.fuchsia ? BBMC : na, comment='EXIT-LONG_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663')
plot(entry_price * (1 + tp_inp), color=color.new(color.green, 0))


//if entry_short and strategy.position_size == 0
    //entry_price := close
    //strategy.entry('enter short', strategy.short, comment='ENTER-SHORT_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663')
if strategy.position_size < 0
    strategy.exit('Stop Loss/TP short', 'enter short', limit=entry_price * (1 - tp_inp), stop = color_bar == color.blue ? BBMC : na, comment='EXIT-SHORT_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663')
plot(entry_price * (1 + tp_inp), color=color.new(color.green, 0))
// plot(entry_price * (1 - sl_inp), color=color.new(color.red, 0))

plot(rsi, color=color.yellow)

plot(output, title='%R', color=color.new(color.yellow, 0), linewidth=2)
plot(ema, title='EMA', color=color.new(color.aqua, 0), linewidth=2)

plotarrow(codiff, colorup=color.new(color.blue, 35), colordown=color.new(color.fuchsia, 35), title='Exit Arrows', maxheight=20, offset=0)
plot(BBMC, color=color_bar, linewidth=4, title='MA Trendline')