
एक द्विआधारी चलती औसत तोड़ने की रणनीति एक अधिक विशिष्ट प्रवृत्ति ट्रैकिंग रणनीति है। यह दो अलग-अलग चक्रों की एक चलती औसत की गणना करके और इसे क्रॉसिंग के रूप में खरीदने और बेचने के संकेत के रूप में बाजार की प्रवृत्ति की दिशा और ताकत को पकड़ने के लिए है।
यह रणनीति मुख्य रूप से दो चलती औसत पर आधारित है। पहली चलती औसत की अवधि कम है, जो मूल्य परिवर्तनों के लिए अधिक तेजी से प्रतिक्रिया कर सकती है; दूसरी चलती औसत की अवधि लंबी है, जो कुछ शोर को फ़िल्टर कर सकती है। जब एक छोटी चलती औसत पर एक लंबी चलती औसत से गुजरती है, तो इसे खरीदने का संकेत माना जाता है; जब एक छोटी चलती औसत के नीचे एक लंबी चलती औसत से गुजरती है, तो इसे बेचने का संकेत माना जाता है।
विशेष रूप से, यह रणनीति 10 चक्रों की सूचकांक चलती औसत ((price1) और 20 चक्रों की सूचकांक चलती औसत ((price2)) की गणना करती है। यदि वर्तमान K-लाइन की शुरुआती और समापन कीमतें दोनों चलती औसत से अधिक हैं, तो एक खरीद संकेत उत्पन्न होता है; यदि वर्तमान K-लाइन की शुरुआती और समापन कीमतें दोनों चलती औसत से कम हैं, तो एक बिक्री संकेत उत्पन्न होता है।
इस तरह के डिजाइन के माध्यम से, जब रुझान शुरू होता है, तो बाजार में जल्दी प्रवेश किया जा सकता है और रुझान का पालन किया जा सकता है; जब रुझान उलट जाता है, तो बाजार से जल्द से जल्द बाहर निकलना और जोखिम को प्रभावी ढंग से नियंत्रित करना संभव है।
इस रणनीति के लिए समग्र रूप से अपेक्षाकृत सरल व्यावहारिक है, द्वि-समान रेखा पार सिद्धांत के माध्यम से प्रवृत्ति को पकड़ने के लिए, एक मात्रात्मक व्यापार की एक बुनियादी रणनीति है. लेकिन इस रणनीति भी कुछ जोखिम है, और आगे अनुकूलित करने की जरूरत है विभिन्न बाजार की स्थिति के लिए अनुकूलित करने के लिए. इस तरह के रूप में पैरामीटर समायोजन, रोक हानिकारक तंत्र, सिग्नल फ़िल्टरिंग आदि के रूप में अनुकूलन के लिए जगह है, रणनीति और अधिक स्थिर और विश्वसनीय बना सकते हैं.
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//study(title="MA River CC v1", overlay = true)
strategy("MA River CC v1", overlay=true)
src = input(close, title="Source")
price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(10, title="1st MA Length")
type1 = input("EMA", "1st MA Type", options=["SMA", "EMA"])
ma2 = input(20, title="2nd MA Length")
type2 = input("EMA", "2nd MA Type", options=["SMA", "EMA"])
price1 = if (type1 == "SMA")
sma(price, ma1)
else
ema(price, ma1)
price2 = if (type2 == "SMA")
sma(price, ma2)
else
ema(price, ma2)
//plot(series=price, style=line, title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line, title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)
buy_entry = (open>price1 and open>price2) and (close>price1 and close>price2)
sell_entry = (open<price1 and open<price2) and (close<price1 and close<price2)
buy_close = sell_entry
sell_close = buy_entry
//longCondition = crossover(price1, price2)
if(buy_entry)
strategy.entry("Long", strategy.long)
if(sell_entry)
strategy.entry("Short", strategy.short)
strategy.close("Long" , when=buy_close)
strategy.close("Short",when=sell_close)