
यह रणनीति ट्रेडिंग सिग्नल उत्पन्न करने के लिए कई मूविंग एवरेज के ब्रेक और रिब्रेक का उपयोग करती है। जब कीमत ऊपर की ओर जाने वाली औसत रेखा को तोड़ती है, तो अधिक करें; जब कीमत नीचे की ओर जाने वाली औसत रेखा को तोड़ती है, तो खाली करें।
कोड में चार अलग-अलग चक्रों की चलती औसत रेखाएं 21 दिन की रेखा, 50 दिन की रेखा, 100 दिन की रेखा और 200 दिन की रेखा का उपयोग किया गया है। जब कीमत इन औसत रेखाओं को तोड़ती है तो प्रवेश अधिक होता है, और जब कीमत इन औसत रेखाओं को गिरती है तो प्रवेश खाली हो जाता है। इसके अलावा, रणनीति में एक स्टॉप-लॉस और स्टॉप-आउट सीमाएं भी होती हैं। विशेष रूप से, स्टॉप-लॉस को पूर्ववर्ती के लाइन के निचले मूल्य के पास सेट किया जाता है और स्टॉप-आउट को पूर्ववर्ती के लाइन के निचले मूल्य से अधिकतम मूल्य तक 3 गुना दूरी पर सेट किया जाता है।
इस रणनीति का मुख्य विचार यह है कि कीमतों के रुझानों को निर्धारित करने के लिए चलती औसत का उपयोग किया जाता है। जब कीमतें ऊपरी औसत रेखा को तोड़ती हैं, तो यह बताती है कि यह वर्तमान में एक ऊंची प्रवृत्ति में है, और अधिक करना चाहिए; जब कीमतें निचली औसत रेखा को तोड़ती हैं, तो यह बताती है कि यह वर्तमान में एक गिरावट की प्रवृत्ति में है, और शून्य करना चाहिए। कई अलग-अलग चक्रों की औसत रेखाओं का उपयोग करके, रुझानों को अधिक सटीक रूप से निर्धारित किया जा सकता है, और ट्रेडिंग संकेतों को प्रवृत्ति की एकरूपता के माध्यम से सत्यापित किया जा सकता है।
इस रणनीति के मुख्य लाभ हैंः
इस रणनीति के मुख्य जोखिम हैंः
इन जोखिमों को कम करने के लिए, औसत मानकों को समायोजित करें और स्टॉप-लॉस रणनीति को अनुकूलित करें।
इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
समग्र रूप से, यह रणनीति एक विशिष्ट प्रवृत्ति-अनुवर्ती रणनीति है। इसके फायदे स्पष्ट हैं और इसे समझना और लागू करना आसान है; इसके नुकसान गलत संकेत उत्पन्न करने के लिए आसान हैं। पैरामीटर को अनुकूलित करने और अन्य संकेतकों को जोड़ने से रणनीति की प्रभावशीलता बेहतर हो सकती है। यह रणनीति मध्यम-लंबी स्थिति रखने के लिए उपयुक्त है और इसे शॉर्ट-लाइन ट्रेडिंग रणनीति के हिस्से के रूप में भी इस्तेमाल किया जा सकता है।
/*backtest
start: 2022-11-15 00:00:00
end: 2023-11-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("DolarBasar by AlperDursun", shorttitle="DOLARBASAR", overlay=true)
// Input for Moving Averages
ma21 = ta.sma(close, 21)
ma50 = ta.sma(close, 50)
ma100 = ta.sma(close, 100)
ma200 = ta.sma(close, 200)
// Calculate the lowest point of the previous candle for stop loss
lowestLow = ta.lowest(low, 2)
// Calculate the highest point of the previous candle for stop loss
highestHigh = ta.highest(high, 2)
// Calculate take profit levels
takeProfitLong = lowestLow - 3 * (lowestLow - highestHigh)
takeProfitShort = highestHigh + 3 * (lowestLow - highestHigh)
// Entry Conditions
longCondition = ta.crossover(close, ma21) or ta.crossover(close, ma50) or ta.crossover(close, ma100) or ta.crossover(close, ma200)
shortCondition = ta.crossunder(close, ma21) or ta.crossunder(close, ma50) or ta.crossunder(close, ma100) or ta.crossunder(close, ma200)
// Stop Loss Levels
stopLossLong = lowestLow * 0.995
stopLossShort = highestHigh * 1.005
// Exit Conditions
longExitCondition = low < stopLossLong or high > takeProfitLong
shortExitCondition = high > stopLossShort or low < takeProfitShort
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
if (longExitCondition)
strategy.exit("Long Exit", from_entry="Long", stop=stopLossLong, limit=takeProfitLong)
if (shortExitCondition)
strategy.exit("Short Exit", from_entry="Short", stop=stopLossShort, limit=takeProfitShort)