
यह रणनीति एक विशिष्ट चलती औसत क्रॉस-लाइन रणनीति है, जो एक साथ दो समूहों के औसत, एक समूह के तेजी से औसत और एक समूह के धीमी औसत का उपयोग करती है। जब तेजी से औसत पर धीमी औसत के माध्यम से एक खरीद संकेत उत्पन्न होता है; जब तेजी से औसत के नीचे धीमी औसत के माध्यम से एक बेचने का संकेत उत्पन्न होता है। यह रणनीति एक साथ ईएमए और एसएमए दोनों समान लाइनों का उपयोग करती है, जो दो समूहों के तेजी से धीमी औसत, ईएमए द्वारा गणना की जाती है, और धीमी औसत एसएमए द्वारा गणना की जाती है। कई समूहों की समानता की पुष्टि के माध्यम से, कुछ झूठे संकेतों को फ़िल्टर किया जा सकता है, जिससे संकेत की विश्वसनीयता बढ़ जाती है।
इस रणनीति का मुख्य तर्क दो समूहों के क्रॉसिंग पर आधारित है, जो एक धीमी गति से औसत रेखा के साथ प्रवेश और बाहर निकलने का समय निर्धारित करता है।
सबसे पहले, हम औसत रेखाओं के दो समूहों की गणना करते हैं:
फिर, यह निर्धारित करें कि क्या फास्ट ईएमए गोल्डफ़ॉर्क है या धीमी गति से एसएमएः
झूठे संकेतों को फ़िल्टर करने के लिए, ईएमए और एसएमए की पुष्टि के दूसरे सेट को जोड़ा गया हैः
इस प्रकार, दो सेटों की धीमी और समान रेखा की पुष्टि के माध्यम से, कई झूठे संकेतों को फ़िल्टर किया जा सकता है, जिससे संकेतों की विश्वसनीयता में सुधार होता है।
जब निर्णय एक खरीद संकेत उत्पन्न करता है, तो अधिक प्रविष्टि करें; जब निर्णय एक बेचने का संकेत उत्पन्न करता है, तो शून्य प्रविष्टि करें।
इसके अलावा, इस रणनीति में एक स्टॉप-स्टॉप लॉजिक भी है। जब कोई स्थिति रखता है, तो स्टॉप-स्टॉप और स्टॉप-लॉस की कीमतों को ट्रैक किया जाता है, जो सेट किए गए लाभ और हानि अनुपात के आधार पर होता है।
इस रणनीति के कुछ फायदे हैंः
इस रणनीति के कुछ जोखिम भी हैं:
जोखिम को नियंत्रित करने के लिए, यह सलाह दी जाती है किः
इस रणनीति को निम्नलिखित पहलुओं से भी अनुकूलित किया जा सकता हैः
कुल मिलाकर, यह द्वि-समान रेखीय गोल्डन फोर्क डेड फोर्क रणनीति ट्रेडिंग सिग्नल बनाने के लिए तेजी से और धीरे-धीरे रेखीय रेखाओं के क्रॉसिंग के माध्यम से है, जो स्टॉप-स्टॉप-लॉस नियंत्रण जोखिम को सरल, सहज और लागू करने में आसान है। यह रणनीति बाजार और मांग के अनुसार पैरामीटर अनुकूलित की जा सकती है, और अन्य तकनीकी संकेतकों या रणनीतियों के संयोजन के साथ उपयोग की जा सकती है।
/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © JMLSlop
//@version=4
src = close
strategy("Crossover moving averages", shorttitle="Cross MA-EMA", overlay=true, calc_on_order_fills=false)
// first fast EMA
len = input(8, "Length", type=input.integer, minval=1)
doma1 = input(true, title="EMA")
out1 = ema(src, len)
//Second fast EMA
len2 = input(21, minval=1, title="Length")
doma2 = input(true, title="EMA")
out2 = ema(src, len2)
//First slow MA
len3 = input(50, minval=1, title="Length")
doma3 = input(true, title="SMA")
out3 = sma(src, len3)
//Second slow MA
len4 = input(200, minval=1, title="Length")
doma4 = input(true, title="SMA")
out4 = sma(src, len4)
// Profit
profit = input(8, "Profit/lost %", type=input.float, minval=1) * 0.01
plot(doma1 and out1 ? out1: na, color=color.blue, linewidth=1, title="1st EMA")
plot(doma2 and out2 ? out2: na, color=color.red, linewidth=1, title="2nd EMA")
plot(doma3 and out3 ? out3: na, color=color.green, linewidth=2, title="1st MA")
plot(doma4 and out4 ? out4: na, color=color.orange, linewidth=3, title="2nd MA")
// Orders config
takeProfitPrice =
(strategy.position_size > 0) ? strategy.position_avg_price + open*profit : (strategy.position_size < 0) ? strategy.position_avg_price - (open*profit) : na
longStopPrice = strategy.position_avg_price * (1 - profit)
shortStopPrice = strategy.position_avg_price * (1 + profit)
longCondition2 = (out2>out3 and (crossover(out1, out4) or crossover(out1[1], out4[1]) or crossover(out1[2], out4[2]) or (crossover(out1[3], out4[3]))) or (out2>out3 and (crossover(out1, out3) or crossover(out1[1], out3[1]) or crossover(out1[2], out3[2]) or crossover(out1[3], out3[3]))))
if (longCondition2)
strategy.entry("Enter L", strategy.long)
shortCondition2 = (out2<out3 and (crossunder(out1, out4) or crossunder(out1[1], out4[1]) or crossunder(out1[2], out4[2]) or crossunder(out1[3], out4[3]))) or (out2<out3 and (crossunder(out1, out3) or crossunder(out1[1], out3[1]) or crossunder(out1[2], out3[2]) or crossunder(out1[3], out3[3])))
if (shortCondition2)
strategy.entry("Enter S", strategy.short)
if (strategy.position_size > 0)
strategy.exit("Exit L", limit=takeProfitPrice, stop=longStopPrice)
if (strategy.position_size < 0)
strategy.exit("Exit S", limit=takeProfitPrice, stop=shortStopPrice)