
यह रणनीति आरएसआई सूचकांक के बहुमुखी विचलन की तलाश करती है ताकि यह निर्धारित किया जा सके कि बिटकॉइन की कीमतों में वृद्धि के लिए निकट भविष्य में कब उछाल आ सकता है, ताकि खरीदारी के लिए उपयुक्त समय निर्धारित किया जा सके।
आरएसआई का उपयोग करके मल्टीहेड विचलन का पता लगाएं
आरएसआई सीमा से नीचे है या नहीं
यह निर्धारित करें कि समापन मूल्य आरंभिक निम्न से नीचे है या नहीं
स्टॉप लॉस से बाहर निकलने की शर्तें परिभाषित करें
लाभ से बाहर निकलने की शर्तों को परिभाषित करें
आरएसआई सूचक का उपयोग करके मल्टीहेड विचलन का आकलन करें, ताकि कीमतों में अल्पकालिक पलटाव के समय को प्रभावी ढंग से पकड़ सकें
आरएसआई के निचले बिंदु के निर्णय के साथ, रिबाउंड से पहले एक विशिष्ट खरीद बिंदु निर्धारित किया जा सकता है
ट्रेडिंग जोखिम और लाभ के प्रबंधन के लिए स्टॉप और स्टॉप शर्तें सेट करें
इस रणनीति ने बिटकॉइन की बड़ी संख्या में आरएसआई संकेतकों की विशेषताओं को संदर्भित किया, जो बिटकॉइन शॉर्ट्स के लिए बहुत उपयुक्त है
रणनीति पैरामीटर सेट तर्कसंगत है, विभिन्न बाजार स्थितियों के लिए अनुकूलित किया जा सकता है, जो रीयल-टाइम अनुप्रयोगों के लिए अनुकूल है
आरएसआई सूचक में विफलता की संभावना है, यदि गलत निर्णय लिया जाता है, तो ट्रेडिंग हानि होगी
एकल तकनीकी संकेतक झूठे संकेतों के लिए अतिसंवेदनशील हैं और अन्य संकेतक के साथ संयोजन में उपयोग किया जाना चाहिए
उचित पैरामीटर का चयन करने की आवश्यकता है, यदि गलत तरीके से सेट किया जाता है तो रणनीति की वापसी को प्रभावित किया जाएगा
मल्टी-डायरेक्शनल ट्रेडिंग के लिए, बड़े पैमाने पर रुझानों पर ध्यान दें और विपक्ष के संचालन से बचें
ट्रेडिंग शुल्क पर ध्यान दें, बहुत अधिक ट्रेडिंग से अंतिम आय प्रभावित हो सकती है
अनुकूलन मापदंडों को समय-समय पर वापस मापा जाना चाहिए और विभिन्न बाजारों के अनुसार रणनीति को समायोजित किया जाना चाहिए
अन्य संकेतकों को शामिल करने पर विचार किया जा सकता है जैसे कि चलती औसत, फ़िल्टरिंग स्थितियों को सेट करना, झूठे संकेतों को कम करना
सबसे अच्छा संयोजन खोजने के लिए विभिन्न चक्रों के लिए पैरामीटर सेटिंग्स का परीक्षण करें
बड़े स्तर के रुझानों को जोड़कर, रुझानों के उलट होने पर अधिक करने से बचें
गतिशील स्टॉप-लॉस सेट कर सकते हैं, जब मुनाफा एक निश्चित स्तर तक पहुंच जाता है तो स्टॉप-लॉस को धीरे-धीरे बढ़ाएं
अलग-अलग स्थिति के आधार पर स्टॉप लॉस की सीमा निर्धारित करें
पैरामीटर का स्वचालित अनुकूलन करने के लिए मशीन लर्निंग जैसी तकनीकों को शामिल किया जा सकता है
यह रणनीति सरल और प्रभावी है, यह बहुत सारे वास्तविक बाजार के अनुभव को संदर्भित करता है, और यह बिटकॉइन शॉर्ट लाइन के लिए बहुत उपयुक्त है। लेकिन एक एकल तकनीकी संकेतक झूठे संकेतों को उत्पन्न करने में आसान है, इसे अन्य संकेतक के संयोजन के साथ उपयोग करने की आवश्यकता है, साथ ही साथ पैरामीटर अनुकूलन, स्टॉपलॉस सेटिंग्स, व्यापार लागत आदि पर ध्यान देना चाहिए। यदि उचित रूप से उपयोग किया जाता है, तो यह रणनीति वास्तविक बाजार में अधिक लाभदायक हो सकती है।
/*backtest
start: 2023-11-02 00:00:00
end: 2023-11-09 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bullish Divergence Short-term Long Trade Finder", overlay=false)
max_range = 50
min_range = 5
///pivot_left = 25
pivot_right = 5
//Inputs
src = input(close, title="Source")
rsiBearCondMin = input.int(50, title="RSI Bearish Condition Minimum")
rsiBearCondSellMin = input.int(60, title="RSI Bearish Condition Sell Min")
rsiBullCondMin = input.int(40, title="RSI Bull Condition Minimum")
pivot_left = input.int(25, title="Look Back this many candles")
SellWhenRSI = input.int(75, title="RSI Sell Value")
StopLossPercent = input.int(5, title="Stop loss Percentage")
rsiPeriod = input.int(14, title="RSI Length")
rsiOversold = input.int(30, title="RSI Oversold Level")
rsiOverbought = input.int(70, title="RSI Overbought Level")
//RSI Function/ value
rsi_value = ta.rsi(src, rsiPeriod)
rsi_hour = request.security(syminfo.tickerid,'60',rsi_value)
rsi_4hour = request.security(syminfo.tickerid,'240',rsi_value)
rsi_Day = request.security(syminfo.tickerid,'D',rsi_value)
plot(rsi_value, title="RSI", linewidth = 2, color = color.black, display =display.all)
hline(50, linestyle = hline.style_dotted)
rsi_ob = hline(70, linestyle=hline.style_dotted)
rsi_os = hline(30, linestyle=hline.style_dotted)
fill(rsi_ob, rsi_os, color.white)
SL_percent = (100-StopLossPercent)/100
pivot_low_true = na(ta.pivotlow(rsi_value, pivot_left, pivot_right)) ? false : true
//create a function that returns truee/false
confirm_range(x) =>
bars = ta.barssince(x == true) //counts the number of bars since thee last time condition was true
min_range <= bars and bars <= max_range // makees sure bars is less than max_range(50) and greater than min_range(5)
// RSI higher check / low check
RSI_HL_check = rsi_value<rsiBullCondMin and rsi_value > ta.valuewhen(pivot_low_true and rsi_value<rsiBullCondMin, rsi_value,1) and confirm_range(pivot_low_true[1])
// price check for lower low
price_ll_check = low < ta.valuewhen(pivot_low_true, low, 1)
bullCond = price_ll_check and RSI_HL_check and pivot_low_true
//pivot_high_true = na(ta.pivothigh(rsi_value, pivot_left, pivot_right)) ? false : true
pivot_high_true = na(ta.pivothigh(rsi_value, pivot_left, pivot_right)) ? false : true
// RSI Lower check / high check ensuring that the RSI dips below 30 to start divergence
RSI_LH_check = rsi_value < ta.valuewhen(pivot_high_true and rsi_value>rsiBearCondMin, rsi_value,1) and confirm_range(pivot_high_true[1]) //and rsi_value[pivot_right] >= 65
// price check for lower low
price_hh_check = high > ta.valuewhen(pivot_high_true, high, 1)
bearCond = price_hh_check and RSI_LH_check and pivot_high_true and rsi_value[3] > rsiBearCondSellMin
plot(pivot_low_true ? rsi_value : na, offset=-5, linewidth=3, color=(bullCond ? color.green : color.new(color.white, 100)))
plotshape(bullCond ? rsi_value : na , text = "BUY", style = shape.labelup, location = location.absolute, color = color.green, offset =0, textcolor = color.white )
plot(pivot_low_true ? rsi_value : na, offset=-5, linewidth=3, color=(bearCond ? color.red : color.new(color.white, 100)))
plotshape(bearCond ? rsi_value : na , text = "Sell", style = shape.labelup, location = location.absolute, color = color.red, offset =0, textcolor = color.white )
//[bbUpperBand, bbMiddleBand, bbLowerBand] = ta.bb(src, bbPeriod, bbDev)
//Entry Condition
longCondition = false
//bullEntry = bullCond and RSI_HL_check and confirm_range(pivot_low_true[1])
if bullCond and close < ta.valuewhen(pivot_low_true, low, 1) and rsi_hour <40 ///and rsi_4hour<40 //and rsi_Day<50
strategy.entry("Long", strategy.long)
//Exit Condition
if (strategy.position_size > 0 and close < strategy.position_avg_price*SL_percent)
strategy.close("Long")
if (strategy.position_size > 0 and (rsi_value > SellWhenRSI or bearCond))
strategy.close("Long")