स्टोकैस्टिक आरएसआई ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2023-09-11 11:57:39
टैगः

स्टोकैस्टिक आरएसआई ट्रेडिंग रणनीति

यह रणनीति स्टोकैस्टिक आरएसआई सूचक के क्रॉसओवर संकेतों के आधार पर कारोबार करती है।

प्रवेश के विशिष्ट नियम इस प्रकार हैंः

  • स्टोकैस्टिक आरएसआई 30 से ऊपर के पार होने पर लंबा दर्ज करें

  • स्टोकैस्टिक आरएसआई 70 से नीचे जाने पर शॉर्ट करें

अतिरिक्त प्रवेश फ़िल्टर:

  • लॉन्ग्स के लिए 21-पीरियड SMA से ऊपर 9-पीरियड SMA की आवश्यकता होती है

  • शॉर्ट्स के लिए 21-पीरियड SMA से नीचे 9-पीरियड SMA की आवश्यकता होती है

  • केवल VWAP से नीचे के लॉन्ग, केवल VWAP से ऊपर के शॉर्ट

रणनीति जोखिम प्रबंधन के लिए स्टॉप लॉस और ले लाभ का उपयोग करती हैः

  • लॉन्ग और शॉर्ट दोनों के लिए 20 टिक पर स्टॉप लॉस सेट करें

  • दोनों लंबी और शॉर्ट्स के लिए 25 टिक पर लाभ सेट ले लो

मुख्य लाभ झूठे संकेतों को कम करने के लिए एसएमए और वीडब्ल्यूएपी फिल्टर के साथ संयुक्त ओवरबॉट / ओवरसोल्ड क्षेत्रों की पहचान करने के लिए स्टोकैस्टिक आरएसआई का उपयोग करना है। हालांकि, यह रणनीति रेंज-बाउंड बाजारों के बजाय प्रवृत्ति में बेहतर काम करती है।


/*backtest
start: 2023-09-03 00:00:00
end: 2023-09-10 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/
// © thedoggwalker

//@version=4
strategy("Stochastic RSI Strategy", overlay=true)

// Stochastic RSI
length = input(14, title="Length")
src = input(close, title="Source")
smoothK = input(3, title="K")
smoothD = input(3, title="D")

rsiValue = rsi(src, length)
highestRSI = highest(rsiValue, length)
lowestRSI = lowest(rsiValue, length)
k = (rsiValue - lowestRSI) / (highestRSI - lowestRSI) * 100
d = sma(k, smoothD)

// Moving averages
maShort = sma(close, 9)
maLong = sma(close, 21)

// Spread between moving averages
spread = maShort - maLong

// VWAP
vwapValue = vwap(hlc3)

// Entry conditions
longCondition = crossover(k, 30) and spread > 0 and close < vwapValue
shortCondition = crossunder(k, 70) and spread < 0 and close > vwapValue

// Entry orders
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Exit orders
// longStopLoss = close - 20 * syminfo.mintick
// longTakeProfit = close + 25 * syminfo.mintick
// strategy.exit("Exit Long", "Long", stop=longStopLoss, limit=longTakeProfit)

// shortStopLoss = close + 20 * syminfo.mintick
// shortTakeProfit = close - 25 * syminfo.mintick
// strategy.exit("Exit Short", "Short", stop=shortStopLoss, limit=shortTakeProfit)

अधिक