यह रणनीति तीन चलती औसतों पर आधारित है। जब आप तेजी से चलती औसत पर मध्यम गति रेखा को पार करते हैं और मध्यम गति रेखा पर धीमी गति रेखा को पार करते हैं तो अधिक करें; जब आप तेजी से चलती औसत के नीचे मध्यम गति रेखा को पार करते हैं और मध्यम गति रेखा के नीचे धीमी गति रेखा को पार करते हैं तो शून्य करें।
विशेष रूप से, यह रणनीति तीन अलग-अलग आवधिक चलती औसत के बीच के क्रॉसिंग का उपयोग करके व्यापार करती है। तेज लाइनें वर्तमान अल्पकालिक प्रवृत्ति को दर्शाती हैं, मध्यम गति लाइनें मध्यम अवधि की प्रवृत्ति को दर्शाती हैं, धीमी गति लाइनें दीर्घकालिक प्रवृत्ति को दर्शाती हैं। जब छोटी और लंबी तीन समान लाइनें क्रमशः ऊपर की ओर जाती हैं, तो यह प्रवृत्ति शुरू करने और अधिक करने के लिए संकेत देती हैं; जब यह नीचे की ओर होती है, तो यह प्रवृत्ति को उलटने और खाली करने के लिए संकेत देती है।
जोखिम प्रबंधन के लिए, स्थिति रखने के समय को समायोजित करें, औसत पैरामीटर को अनुकूलित करें, स्टॉप-लॉस रणनीतियों को लागू करें, आदि।
इस रणनीति के आधार पर ट्रेंड की दिशा में स्थिति रखने के लिए तीन समानांतर रेखाओं का क्रॉसिंग। लाभ यह है कि ट्रेडिंग सिग्नल सरल और स्पष्ट हैं, और विन्यास योग्य हैं; नुकसान यह है कि यह आसानी से पीछे रह जाता है और पैरामीटर अनुकूलन की आवश्यकता होती है। प्रभावशीलता को पैरामीटर अनुकूलन, स्टॉप-लॉस रणनीति आदि के माध्यम से बढ़ाया जा सकता है, और वापस लेने के जोखिम को नियंत्रित किया जा सकता है। यह रणनीति व्यापारियों को चलती औसत के अनुप्रयोग और बहु-समानांतर रेखाओं के क्रॉसिंग ट्रेडिंग विचार को समझने में मदद करती है।
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © DaynTrading
//@version=4
// strategy(
// title="Simple Moving Average Cross",
// overlay=true,
// initial_capital=5000,
// default_qty_type=strategy.percent_of_equity,
// default_qty_value=2,
// commission_type=strategy.commission.percent,
// commission_value=0.075,
// pyramiding=0
// )
sma_top_input = input(title="SMA Top", type=input.integer, defval=20)
sma_mid_input = input(title="SMA Mid", type=input.integer, defval=50)
sma_low_input = input(title="SMA Low", type=input.integer, defval=200)
bars_long = input(title="Long: After trigger, how many bars to wait?", type=input.integer, defval=5)
bars_short = input(title="Short: After trigger, how many bars to wait?", type=input.integer, defval=5)
sma_top = sma(close, sma_top_input)
sma_mid = sma(close, sma_mid_input)
sma_low = sma(close, sma_low_input)
long = sma_top > sma_mid and sma_mid > sma_low
short = sma_top < sma_mid and sma_mid < sma_low
long_condition = long and long[bars_long] and not long[bars_long + 1]
short_condition = short and short[bars_short] and not short[bars_short + 1]
close_long = sma_top < sma_mid and sma_mid < sma_low and not long[bars_long + 1]
close_short = sma_top > sma_mid and sma_mid > sma_low and not short[bars_short + 1]
plot(sma_top, title="SMA Top", color=#95f252, linewidth=2)
plot(sma_mid, title="SMA Mid", color=#FF1493, linewidth=2)
plot(sma_low, title="SMA Low", color=#6a0dad, linewidth=2)
strategy.entry("LongPosition", strategy.long, when = long_condition)
strategy.entry("ShortPosition", strategy.short, when = short_condition)
strategy.close("LongPosition", when = close_short)
strategy.close("ShortPosition", when = close_long)