Chiến lược này nhằm thực hiện một chiến lược giao dịch tự động mua vào và giữ coin scalper dựa trên chỉ số kỹ thuật Stochastic RSI và EMA. Nó được thiết kế cho các ngọn nến 5 phút, được tối ưu hóa cho BTC. Mục tiêu là giữ coin càng nhiều càng tốt trong các xu hướng giảm bên hoặc không đáng kể.
Chiến lược sử dụng chỉ số RSI để xác định mức mua quá mức và bán quá mức, kết hợp với mối quan hệ giữa các giá trị K và D của Stochastic RSI để tạo ra tín hiệu mua và bán.
Nó sẽ kích hoạt tín hiệu mua khi đường Stochastic RSI K dưới 20, được coi là quá bán và K trên D. Sau đó, nó sẽ xác định liệu có nên bán dựa trên ba điều kiện: 1) giá tăng hơn 1% theo sau là đảo ngược EMA; 2) đường Stochastic RSI K dưới D; 3) giá dừng lỗ đạt 98,5% giá nhập cảnh.
Ngoài ra, một sự biến đổi giảm của EMA ngắn hạn sau xu hướng tăng cũng sẽ được coi là tín hiệu bán.
Chiến lược này tích hợp các điểm mạnh của chỉ số RSI Stochastic, EMA và các chỉ số khác, sử dụng các phương pháp tương đối mạnh mẽ để xác định thời gian vào và ra.
/*backtest start: 2023-09-30 00:00:00 end: 2023-10-30 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Stochastic RSI W Auto Buy Scalper Scirpt III ", shorttitle="Stoch RSI_III", format=format.price, precision=2) smoothK = input.int(3, "K", minval=1) smoothD = input.int(3, "D", minval=1) lengthRSI = input.int(14, "RSI Length", minval=1) lengthStoch = input.int(14, "Stochastic Length", minval=1) src = input(close, title="RSI Source") rsi1 = ta.rsi(src, lengthRSI) k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = ta.sma(k, smoothD) plot(k, "K", color=#2962FF) plot(d, "D", color=#FF6D00) h0 = hline(80, "Upper Band", color=#787B86) hline(50, "Middle Band", color=color.new(#787B86, 50)) h1 = hline(20, "Lower Band", color=#787B86) longStopLoss = strategy.opentrades.entry_price(0)* (.985) stochDropping = ta.falling(k,2) shortSma = ta.sma(hlc3,12) shorterSma = ta.sma(hlc3,3) plot(shortSma[3]) shortSmaFlip = (ta.change(shortSma,3)>0) and ta.falling(hlc3,1) shorterSmaFlip = (ta.change(shorterSma,2)>0) and ta.falling(hlc3,1) messageSellText ='"type": "sell", "symbol": "BTCUSD", "marketPosition": "{{strategy.market_position}}"' messageBuyText ='"type": "buy", "symbol": "BTCUSD", "marketPosition": {{strategy.market_position}}"' fill(h0, h1, color=color.rgb(33, 150, 243, 90), title="Background") strategy.entry("Tech", strategy.long, when=(strategy.position_size <= 0 and k<17 and k>d),alert_message=messageBuyText) //original: strategy.close("TL", when=(strategy.position_size >= 0 and (k>90 and k<d))) takeProfit = hlc3 > strategy.opentrades.entry_price(0)*1.01 //longStopLoss = strategy.opentrades.entry_price(0)* (.995) strategy.close("Tech", when=(strategy.position_size >= 0 and (k>90 and k<d and stochDropping)) or close<longStopLoss, comment="rsi or Stop sell",alert_message=messageSellText) //strategy.close("Tech", when=(strategy.position_size >= 0 and close<longStopLoss), comment="stopLoss sell",alert_message=messageSellText) strategy.close("Tech", when=(shortSmaFlip and k>20 and takeProfit),comment="Sma after profit",alert_message=messageSellText)