[[Tiếng Trung Quốc đơn giản]
Chiến lược này kết hợp với việc sử dụng các chỉ số Brin và RSI tương đối mạnh để dự đoán sự biến động giá và điểm vào tốt nhất. Logic của chiến lược rất trực tiếp, chúng tôi quan tâm đến giá đóng cửa khi chạm vào đường đi xuống của Brin, sau đó sẽ có hai tình huống, giá hoặc sẽ hồi phục từ đường đi xuống của Brin, hoặc tiếp tục giảm. Để xác định xu hướng giá, chúng tôi sử dụng chỉ số RSI thứ hai để nghiên cứu xu hướng giá hơn nữa. Ví dụ, nếu giá chạm vào đường đi xuống của Brin nhưng giá RSI không đi vào vùng bán tháo, chúng tôi có thể phán đoán giá sẽ tiếp tục giảm.
Chúng ta cần thiết lập lệnh dừng để tránh mất nhiều tiền nếu RSI ở trong vùng quá bán.
Khu vực dừng tốt nhất là khi giá quay trở lại đường trung tâm / đường trên của Bolling hoặc khi RSI đạt đến khu vực mua quá mức, tùy theo người đi trước.
Nhiều người tham gia:
RSI < 30 và giá đóng cửa < Brin down
Nhiều người rời khỏi sân:
RSI > 70
Chiến lược này đầu tiên tính toán chỉ số RSI để xác định xem có quá mua hay quá bán bằng cách thiết lập giới hạn trên và dưới. Sau đó, tính toán đường trung tâm, đường trên và đường dưới của Burin. Khi giá đóng cửa chạm đường dưới của Burin và RSI thấp hơn 30, hãy làm nhiều hơn.
Đặt điểm dừng lỗ khi nhập vào nhiều đầu(1 + tỷ lệ cố định), điểm dừng là giá nhập(1- tỷ lệ cố định)
Như vậy, chúng ta mua khi RSI thấp gần đường ray xuống của Brin, và bán khi RSI cao, lợi nhuận bằng cách sử dụng các giao dịch đảo ngược. Trong khi đó, thiết lập dừng lỗ để kiểm soát rủi ro.
Bạn có thể giảm rủi ro bằng cách điều chỉnh tham số Brin, chọn kết hợp với các chỉ số khác và nới lỏng phạm vi dừng lỗ thích hợp.
Chiến lược này cân bằng lợi nhuận rủi ro tổng thể tốt, phản hồi tốt. Hiệu quả có thể được nâng cao hơn nữa thông qua điều chỉnh tham số và tối ưu hóa chỉ số.
||
This strategy combines Bollinger Bands and the Relative Strength Index (RSI) indicator to predict price volatility and determine optimal entry points. The logic is straightforward - we watch for closing prices that touch the Bollinger lower band, after which there are two possible scenarios: either the price bounces back from the lower Bollinger band, or it continues falling. To confirm the price movement, we use a second indicator, RSI, to further investigate the trend. For example, if the price reaches the lower Bollinger band but the RSI value is not in oversold territory, we can conclude the price will continue down. If the RSI value is oversold, we can use this area as our entry point.
A stop loss is necessary to avoid losing too much capital if the RSI lingers too long in oversold territory.
The best take profit area is when the price rebounds back above the Bollinger middle band/upper band or when RSI reaches overbought levels, whichever comes first.
Long entry:
RSI < 30 and close price < Bollinger lower band
Long exit:
RSI > 70
The strategy first calculates the RSI indicator and sets upper/lower boundaries to determine overbought/oversold levels. It then calculates the Bollinger middle, upper and lower bands. When the closing price touches the lower band and RSI is below 30, go long. When RSI is above 70, close the position.
Upon entering long, set stop loss and take profit points. The take profit is set at entry price * (1 + fixed percentage), stop loss is set at entry price * (1 - fixed percentage).
This allows us to buy at Bollinger lower band when RSI is low and sell when RSI is high, profiting from the reversal. Stop loss and take profit control risk.
Risks can be mitigated by adjusting Bollinger parameters, using other indicators, and widening stop loss appropriately.
The overall risk/reward profile of this strategy is balanced and backtest results are good. Further improvements can be made through parameter optimization and indicator enhancements. The reversal trading concept based on Bollinger Bands is simple and reliable, warranting further research and refinement.
[/trans]
/*backtest
start: 2023-09-10 00:00:00
end: 2023-09-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//strategy(title="Bollinger Band with RSI", shorttitle="BB&RSI", format=format.price, precision=2, pyramiding=50, initial_capital=10000, calc_on_order_fills=false, calc_on_every_tick=true, default_qty_type=strategy.cash, default_qty_value=1000, currency="USD")
len = input(14, minval=1, title="Length")
src = input(close, "Source", type = input.source)
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, "RSI", color=#8E1599)
band1 = hline(70, "Upper Band", color=#C0C0C0)
band0 = hline(30, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, transp=90, title="Background")
length_bb = input(20,title="BB Length", minval=1)
mult = input(2.0, minval=0.001, maxval=50, title="BB StdDev")
basis = sma(src, length_bb)
dev = mult * stdev(src, length_bb)
upper = basis + dev
lower = basis - dev
offset = input(0, "BB Offset", type = input.integer, minval = -500, maxval = 500)
Plot_PnL = input(title="Plot Cummulative PnL", type=input.bool, defval=false)
Plot_Pos = input(title="Plot Current Position Size", type=input.bool, defval=false)
long_tp_inp = input(10, title='Long Take Profit %', step=0.1)/100
long_sl_inp = input(25, title='Long Stop Loss %', step=0.1)/100
// Take profit/stop loss
long_take_level = strategy.position_avg_price * (1 + long_tp_inp)
long_stop_level = strategy.position_avg_price * (1 - long_sl_inp)
entry_long = rsi < 30 and src < lower
exit_long = rsi > 70
plotshape(entry_long, style=shape.labelup, color=color.green, location=location.bottom, text="L", textcolor=color.white, title="LONG_ORDER")
plotshape(exit_long, style=shape.labeldown, color=color.red, location=location.top, text="S", textcolor=color.white, title="SHORT_ORDER")
strategy.entry("Long",true,when=entry_long)
strategy.exit("TP/SL","Long", limit=long_take_level, stop=long_stop_level)
strategy.close("Long", when=exit_long, comment="Exit")
plot(Plot_PnL ? strategy.equity-strategy.initial_capital : na, title="PnL", color=color.red)
plot(Plot_Pos ? strategy.position_size : na, title="open_position", color=color.fuchsia)