Chiến lược này sử dụng chỉ số RSI để xác định các điều kiện mua quá mức và bán quá mức, kết hợp với một hệ thống đánh giá xu hướng được xây dựng với các đường trung bình động nhanh, trung bình và chậm, để xác định cơ hội mở các vị trí dài hoặc ngắn khi giá đang nhảy vọt.
Sử dụng chỉ số RSI để xác định các điều kiện mua quá mức và bán quá mức
Sử dụng ba đường SMA của các giai đoạn khác nhau để xác định xu hướng
Khi đường nhanh vượt qua đường trung bình, và chỉ số RSI cho thấy quá bán, mua dài
Khi đường nhanh vượt dưới đường trung bình, và chỉ số RSI cho thấy mua quá mức, đi ngắn
Stop loss được thiết lập ở mức 4% giá nhập cảnh
Lấy lợi nhuận được thực hiện theo lô, đầu tiên lấy lợi nhuận 20%, sau đó lấy 15% khi giá tiếp tục tăng, ra khỏi các vị trí dần dần
Chiến lược này kết hợp các chỉ số trung bình động và chỉ số RSI mua quá mức / bán quá mức. Bằng cách nắm bắt sự thay đổi xu hướng giá trong khi đánh giá cơ hội giao dịch, nó thuộc về một chiến lược theo dõi xu hướng thường được sử dụng. Tăng cường tối ưu hóa hơn và tăng tỷ lệ thắng có thể đạt được thông qua kiểm tra tham số và kết hợp các chỉ số phán đoán phụ trợ bổ sung.
/*backtest start: 2023-11-13 00:00:00 end: 2023-11-20 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © syfuslokust //@version=4 strategy(shorttitle='CoinruleCombinedCryptoStrat',title='CoinruleCombinedCryptoStrat', overlay=true) // RSI inputs and calculations lengthRSI = 14 RSI = rsi(close, lengthRSI) //Normal oversold = input(30) overbought = input(70) //ALGO //oversold= input(26) //overbought= input(80) //sell pct SellPct = input(20) ExitPct = input(15) //MA inputs and calculations movingaverage_signal = sma(close, input(9)) movingaverage_fast = sma(close, input(50)) movingaverage_slow = sma(close, input(200)) movingaverage_mid= sma(close, input(100)) //Look Back inp_lkb = input(12, title='Lookback Long Period') inp_lkb_2 = input(2, title='Lookback Short Period') perc_change(lkb) => overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100 //Entry //MA bullish = crossover(movingaverage_signal, movingaverage_fast) //Execute buy strategy.entry(id="long", long = true, when = (RSI < oversold and movingaverage_fast < movingaverage_mid)) //when = crossover(close, movingaverage_signal) and movingaverage_signal < movingaverage_slow and RSI < oversold) //Exit //RSI Stop_loss= ((input (4))/100) longStopPrice = strategy.position_avg_price * (1 - Stop_loss) //MA bearish = crossunder(movingaverage_signal, movingaverage_fast) //Execute sell strategy.close("long", qty_percent = SellPct, when = RSI > overbought and movingaverage_fast > movingaverage_mid) //when = (crossunder(low, movingaverage_signal) and movingaverage_fast > movingaverage_slow and RSI > overbought) or (movingaverage_signal < movingaverage_fast and crossunder(low, movingaverage_fast)) or (low < longStopPrice)) //PLOT plot(movingaverage_signal, color=color.black, linewidth=2, title="signal") plot(movingaverage_fast, color=color.orange, linewidth=2, title="fast") plot(movingaverage_slow, color=color.purple, linewidth=2, title="slow") plot(movingaverage_mid, color=color.blue, linewidth=2, title="mid")