255 EMA और MACD पर आधारित रिवर्सल ट्रेडिंग रणनीति


निर्माण तिथि: 2023-09-20 15:08:14 अंत में संशोधित करें: 2023-09-20 15:08:14
कॉपी: 0 क्लिक्स: 748
1
ध्यान केंद्रित करना
1617
समर्थक

अवलोकन

यह रणनीति 255 चक्रों के ईएमए और एमएसीडी संकेतक का उपयोग करती है, जब कीमत 255 ईएमए से दूर होती है, तो एमएसीडी में गोल्ड फोर्क या डेड फोर्क होने पर रिवर्स एंट्री होती है।

रणनीति सिद्धांत

  1. 255 चक्र ईएमए का उपयोग मध्यम और दीर्घकालिक रुझानों के लिए किया जाता है। ईएमए से दूर जाने का मतलब है कि यह ओवरबॉट और ओवरसोल्ड क्षेत्र में प्रवेश कर रहा है।

  2. ईएमए ऊपरी पर सेट अपरेल, ईएमए नीचे सेट डाउनरेल, गतिशील रूप से एटीआर संकेतक के माध्यम से कक्षा की चौड़ाई को समायोजित करता है।

  3. जब कीमत ऊपर की पटरी से अधिक हो तो यह एक सुपर-खरीद क्षेत्र है, और जब कीमत नीचे की पटरी से कम हो तो यह एक सुपर-बिक्री क्षेत्र है। इन मामलों में, रिवर्स सिग्नल के लिए प्रतीक्षा करें।

  4. MACD सूचक मानक पैरामीटर ((12,26,9)) का उपयोग करता है। जब MACD गोल्ड फोर्क होता है, तो यह एक बहु-हेड सिग्नल होता है, और जब यह एक मृत फोर्क होता है, तो यह एक खाली-हेड सिग्नल होता है।

  5. ईएमए ओवरबॉट और एमएसीडी सिग्नल के संयोजन के साथ, ईएमए से दूर होने पर और एमएसीडी में उलटा होने पर उलटा प्रवेश करें।

श्रेष्ठता विश्लेषण

  1. 255 चक्र ईएमए का उपयोग मध्यम और दीर्घकालिक रुझानों की दिशा का बेहतर आकलन करने के लिए किया जाता है।

  2. एमएसीडी गोल्डन फोर्क्स अधिक संवेदनशीलता से अल्पकालिक पलटाव के अवसरों को पकड़ सकते हैं।

  3. ईएमए के ऊपरी और निचले क्षेत्र को निर्धारित करने के लिए ओवरबॉट और ओवरसोल्ड क्षेत्रों को निर्धारित किया जाता है, जिससे प्रवृत्ति में उतार-चढ़ाव से बचा जा सकता है।

  4. एक रिवर्स ट्रेडिंग रणनीति, जिसमें कुछ योजनाबद्धता है, जो कीमतों के उलट होने से पहले प्रवेश कर सकती है।

  5. गतिशील एटीआर स्टॉप लॉस का उपयोग करके जोखिम को प्रभावी ढंग से नियंत्रित किया जा सकता है।

जोखिम विश्लेषण

  1. MACD सिग्नल में झूठी उलटापन हो सकती है, जिससे अनावश्यक नुकसान हो सकता है।

  2. मजबूत प्रवृत्ति के मामले में, उलटने की विफलता की संभावना अधिक होती है, इसलिए अंधा उलटने से बचना चाहिए।

  3. स्टॉप लॉस की सेटिंग बहुत कम होने से स्टॉप लॉस ट्रिगर हो सकता है, और स्टॉप लॉस की सेटिंग बहुत अधिक होने से जोखिम को नियंत्रित करने में असमर्थता हो सकती है।

  4. गलत पैरामीटर सेटिंग भी रणनीति के प्रभाव को प्रभावित कर सकती है और इसे बार-बार परीक्षण और अनुकूलन की आवश्यकता होती है।

  5. लेनदेन की लागत भी अंतिम आय को प्रभावित करती है, और रणनीति पर इसके प्रभाव को ध्यान में रखना आवश्यक है।

अनुकूलन दिशा

  1. विभिन्न ईएमए आवधिक मापदंडों का परीक्षण करके, अधिक उपयुक्त मध्यम और दीर्घकालिक रुझान निर्धारकों की तलाश की जा सकती है।

  2. अन्य संकेतकों को ईएमए के साथ संयोजन में आज़माया जा सकता है ताकि ओवरबॉट ओवरसोल्ड क्षेत्रों का पता लगाया जा सके। जैसे कि बुलिन बैंड, केडी, आरएसआई आदि।

  3. MACD पैरामीटर को अधिक संवेदनशील या स्थिर संयोजन पैरामीटर खोजने के लिए अनुकूलित किया जा सकता है।

  4. अन्य स्टॉप विकल्पों का परीक्षण किया जा सकता है, जैसे कि लाभ को लॉक करने के लिए ट्रेलिंग स्टॉप।

  5. रणनीति को अनुकूलित करने के लिए विभिन्न प्रकारों के लिए विभिन्न चक्रों के लिए पैरामीटर का अनुकूलन किया जा सकता है।

  6. एक मजबूत प्रवृत्ति में उलटा होने से बचने के लिए प्रवृत्ति की ताकत के संकेतकों के साथ संयोजन किया जा सकता है।

संक्षेप

यह रणनीति ईएमए में लंबी अवधि के रुझान निर्णय और एमएसीडी में अल्पकालिक रिवर्स सिग्नल को एकीकृत करती है, ओवरबॉय ओवरसोल्ड क्षेत्र में रिवर्स ट्रेडिंग के लिए एक बुनियादी रिवर्स रणनीति है। इस रणनीति के कुछ फायदे हैं, लेकिन कुछ जोखिमों से भी बचने की आवश्यकता है। पैरामीटर के निरंतर अनुकूलन और जोखिम नियंत्रण के माध्यम से, यह रणनीति एक प्रभावी मात्रात्मक व्यापार रणनीति बन सकती है। लेकिन किसी भी रणनीति को बाजार की स्थिति के अनुसार समायोजित करने की आवश्यकता होती है, और इसे अनियंत्रित और अंधाधुंध नहीं किया जा सकता है।

रणनीति स्रोत कोड
/*backtest
start: 2023-09-12 00:00:00
end: 2023-09-19 00:00:00
period: 15m
basePeriod: 5m
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/
// © bufirolas

//--- From 15 Trading Examples by Trader Alyx ---
// Seems like this strategy works better if we reverse the EMA filter logic.

// "Description: This basic scalping strategy allows you to enter the market based upon sentiment
// provided by the EMA, set at 255 periods. When price is trading below the 255 EMA, you would
// look to enter a LONG BUY positions, and when price is trading above the 255 EMA, you would
// look to enter a SELL SHORT position. The MACD lagging indicator will show you clear signals for
// when to do this. When the MACD lines cross in a bullish manner and price is below the 255
// EMA, buy. When the MACD lines cross in a bearish manner and price is above the 255 EMA,
// sell.
// NOTE: Make sure that price is trading away from the 255EMA before entering a LONG or SHORT
// position. As you can see in the chart below, the clearest signs for trade entry were presented
// when price was trading AWAY from the 255EMA"

//@version=4
// strategy("255 EMA Strategy", overlay=true, pyramiding=1, default_qty_type=strategy.cash, default_qty_value=100, commission_value = 0.04, initial_capital=100)

//Inputs
i_reverse=input(false, title="Trade Reverse")
i_EMAreverse=input(true, title="EMA Reverse Entry")
i_EMAlength=input(defval=255, title="EMA Length")
i_EMAexpander=input(defval=5, title="EMA Expander")
i_MACDmult=input(defval=1, minval=1, title="MACD Mult")

//SL & TP Calculations
i_SL=input(true, title="Use Swing Lo/Hi Stop Loss & Take Profit")
i_SwingLookback=input(20, title="Swing Lo/Hi Lookback")
i_SLExpander=input(defval=0, step=.2, title="SL Expander")*.01
i_TPExpander=input(defval=0, step=.2, title="TP Expander")*.01


//Strategy Variables
EMA=ema(close,i_EMAlength)
[macdLine, signalLine, histLine]=macd(close, 12*i_MACDmult, 26*i_MACDmult, 9*i_MACDmult)
EMAupper=EMA+((atr(100))*i_EMAexpander)
EMAlower=EMA-((atr(100))*i_EMAexpander)

//SL & TP Variables
SwingLow=lowest(i_SwingLookback)
SwingHigh=highest(i_SwingLookback)

//Calculations
EMAbuy=i_EMAreverse ? close > EMAupper : close < EMAlower
EMAsell=i_EMAreverse ? close < EMAlower : close > EMAupper
MACDbuy=crossover(macdLine, signalLine)
MACDsell=crossunder(macdLine, signalLine)

//SL & TP Calculations
bought=strategy.position_size != strategy.position_size[1]
lSL=valuewhen(bought, SwingLow, 0)*(1-i_SLExpander)
sSL=valuewhen(bought, SwingHigh, 0)*(1+i_SLExpander)
lTP=strategy.position_avg_price + (strategy.position_avg_price-(valuewhen(bought, SwingLow, 0))*(1-i_TPExpander))
sTP=strategy.position_avg_price - (valuewhen(bought, SwingHigh, 0) - strategy.position_avg_price)*(1+i_TPExpander*100)
islong=strategy.position_size > 0
isshort=strategy.position_size < 0
SL= islong ? lSL : isshort ? sSL : na
TP= islong ? lTP : isshort ? sTP : na


//Entries
strategy.entry("long", long=not i_reverse?true:false, when=EMAbuy and MACDbuy)
strategy.entry("short", long=not i_reverse?false:true, when=EMAsell and MACDsell)

//Exits
if i_SL
    strategy.exit("longexit", "long", stop=SL, limit=TP)
    strategy.exit("shortexit", "short", stop=SL, limit=TP)

//Plots
plot(EMA, "EMA", color=color.white, linewidth=2)
plot(EMAupper, "EMA Upper Band")
plot(EMAlower, "EMA Lower Band")
plot(i_SL ? SL : na, color=color.red, style=plot.style_cross, title="SL")
plot(i_SL ? TP : na, color=color.green, style=plot.style_cross, title="TP")