
यह रणनीति मुख्य रूप से समर्थन और प्रतिरोध के स्तर के रूप में पिछले व्यापारिक दिन के उच्चतम, निम्नतम और समापन मूल्य का उपयोग करती है, प्रतिरोध स्तर को तोड़ने के लिए अधिक करती है, और समर्थन का परीक्षण करने के लिए खाली करती है, जो एक विशिष्ट तोड़ने की रणनीति है।
कोड पहले एक समर्थन प्रतिरोध की गणना करने के लिए एक फ़ंक्शन को परिभाषित करता है, जो पिछले ट्रेडिंग दिन के उच्चतम, निम्नतम और समापन मूल्य को उस दिन के समर्थन प्रतिरोध के रूप में निकालता है।
फिर इस फ़ंक्शन को मुख्य तर्क में बुलाया जाता है और तीन मूल्य बिट्स प्राप्त किए जाते हैं और नक्शा दिखाया जाता है।
पीछे हटने के तर्क में, यदि समापन मूल्य पिछले दिन के न्यूनतम मूल्य से कम है और वर्तमान मूल्य उस न्यूनतम मूल्य से अधिक है, तो यह एक ब्रेक है; यदि समापन मूल्य पिछले दिन के उच्चतम मूल्य से अधिक है और वर्तमान मूल्य उस उच्चतम मूल्य से कम है, तो यह एक ब्रेक है।
इस तरह के एक ब्रेकआउट मॉडल के माध्यम से प्रवृत्ति के फैसले और ट्रेडिंग सिग्नल का उत्पादन किया जा सकता है।
क्या करें?
इस रणनीति के समग्र के लिए एक विशिष्ट तोड़ने की रणनीति है, सरल और सहज, पिछले ट्रेडिंग दिन के आंकड़ों के माध्यम से उस दिन के समर्थन प्रतिरोध का निर्माण, उस स्थिति को तोड़ने के लिए अधिक से अधिक रिक्तियों का पता लगाने। लाभ यह है कि इसे आसानी से समझना आसान है, समर्थन प्रतिरोध को सीधे देखा जा सकता है; नुकसान यह है कि झूठी तोड़ने का जोखिम है, प्रवृत्ति की निरंतरता को निर्धारित नहीं किया जा सकता। अगला कदम तोड़ने की प्रभावशीलता की पहचान, जोखिम नियंत्रण, धन प्रबंधन का अनुकूलन आदि के रूप में अनुकूलित किया जा सकता है।
/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Support and Resistance with Backtesting", overlay=true)
// Function to calculate support and resistance levels
calculateSupportResistance() =>
highPrevDay = request.security(syminfo.tickerid, "D", high[1], lookahead=barmerge.lookahead_on)
lowPrevDay = request.security(syminfo.tickerid, "D", low[1], lookahead=barmerge.lookahead_on)
closePrevDay = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on)
[highPrevDay, lowPrevDay, closePrevDay]
// Call the function to get support and resistance levels
[supResHigh, supResLow, supResClose] = calculateSupportResistance()
// Plotting support and resistance levels
plot(supResHigh, color=color.red, linewidth=2, title="Previous Day High")
plot(supResLow, color=color.green, linewidth=2, title="Previous Day Low")
plot(supResClose, color=color.blue, linewidth=2, title="Previous Day Close")
// Backtesting logic
backtestCondition = close[1] < supResLow and close > supResLow
strategy.entry("Long", strategy.long, when=backtestCondition)
// Plotting buy/sell arrows for backtesting
plotarrow(backtestCondition ? 1 : na, colorup=color.green, offset=-1, transp=0)