संसाधन लोड हो रहा है... लोड करना...

एक्सपोनेंशियल मूविंग एवरेज क्रॉसओवर लीवरेज रणनीति

लेखक:चाओझांग, दिनांकः 2024-04-30 16:26:37
टैगःमैटिकईएमएएमए

img

अवलोकन

यह रणनीति ट्रेडिंग सिग्नल उत्पन्न करने के लिए 20-दिवसीय और 55-दिवसीय घातीय चलती औसत (ईएमए) के क्रॉसओवर का उपयोग करती है। एक खरीद संकेत तब ट्रिगर किया जाता है जब अल्पकालिक ईएमए दीर्घकालिक ईएमए के ऊपर पार करता है, और एक बिक्री संकेत तब ट्रिगर किया जाता है जब इसके विपरीत होता है। रणनीति लीवरेज ट्रेडिंग भी पेश करती है, जो संभावित रिटर्न और जोखिम दोनों को बढ़ाता है। इसके अलावा, रणनीति में एक सशर्त प्रतिबंध शामिल है जो केवल एक स्थिति में प्रवेश करने की अनुमति देता है जब कीमत क्रॉसओवर के बाद अल्पकालिक ईएमए को छूती है, ताकि झूठे संकेतों के जोखिम को कम किया जा सके। अंत में, उपयोगकर्ताओं के पास ईएमए के बजाय सरल चलती औसत (एसएमए) का उपयोग करने का विकल्प होता है।

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

  1. 20-दिवसीय और 55-दिवसीय ईएमए (या एसएमए) की गणना करें।
  2. निर्धारित करें कि क्या अल्पकालिक ईएमए दीर्घकालिक ईएमए से ऊपर जाता है. यदि सही है, तो स्थिति में प्रवेश करने के लिए तत्परता दर्शाता है, तो readyToEnter चर को सही पर सेट करें.
  3. यदि readyToEnter true है और कीमत अल्पकालिक EMA को छूती है, तो एक खरीद आदेश निष्पादित करें और readyToEnter को false पर रीसेट करें.
  4. यदि अल्पकालिक ईएमए दीर्घकालिक ईएमए से नीचे जाता है, तो स्थिति को बंद कर दें।
  5. लीवरेज पैरामीटर के आधार पर स्थिति का आकार सेट करें।
  6. रणनीति को केवल उपयोगकर्ता द्वारा परिभाषित बैकटेस्टिंग अवधि के भीतर निष्पादित करें.

रणनीतिक लाभ

  1. चलती औसत क्रॉसओवर अधिकांश बाजारों के लिए उपयुक्त रुझानों को निर्धारित करने के लिए एक सरल और उपयोग में आसान विधि है।
  2. लीवरेज ट्रेडिंग शुरू करने से रिटर्न बढ़ सकता है।
  3. सशर्त प्रतिबंधों को जोड़ने से झूठे संकेतों का खतरा कम होता है।
  4. ईएमए और एसएमए के बीच विकल्प प्रदान करना विभिन्न उपयोगकर्ता वरीयताओं के अनुरूप है।
  5. कोड संरचना स्पष्ट और समझने और संशोधित करने में आसान है।

रणनीतिक जोखिम

  1. लीवरेज ट्रेडिंग जोखिम को बढ़ा देती है। यदि निर्णय गलत है, तो इससे महत्वपूर्ण नुकसान हो सकता है।
  2. मूविंग एवरेज क्रॉसओवर में लेग इफेक्ट होता है और सबसे अच्छे प्रवेश के अवसरों को खो सकते हैं।
  3. केवल स्पष्ट रुझान वाले बाजारों के लिए उपयुक्त। यदि बाजार अस्थिर है, तो अक्सर व्यापार हो सकता है, जिसके परिणामस्वरूप उच्च लेनदेन शुल्क हो सकता है।

रणनीति अनुकूलन दिशाएं

  1. वर्तमान बाजार के लिए सबसे उपयुक्त मापदंडों को खोजने के लिए चलती औसत अवधि का अनुकूलन करने का प्रयास करें।
  2. रुझानों का व्यापक रूप से आकलन करने और जीत दर में सुधार करने के लिए आरएसआई और एमएसीडी जैसे अन्य संकेतक पेश करें।
  3. एकल व्यापार जोखिम को नियंत्रित करने के लिए स्टॉप-लॉस और ले-प्रॉफिट स्तर निर्धारित करें।
  4. बाजार की अस्थिरता के आधार पर लीवरेज के आकार को गतिशील रूप से समायोजित करें, जब अस्थिरता कम हो तब लीवरेज बढ़ाएं और जब अस्थिरता अधिक हो तो लीवरेज कम करें।
  5. मापदंडों को अनुकूलित रूप से अनुकूलित करने के लिए मशीन लर्निंग एल्गोरिदम पेश करें।

सारांश

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


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover Strategy with Leverage, Conditional Entry, and MA Option", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Inputs for backtesting period
startDate = input(defval=timestamp("2023-01-01"), title="Start Date")
endDate = input(defval=timestamp("2024-04-028"), title="End Date")

// Input for leverage multiplier
leverage = input.float(3.0, title="Leverage Multiplier", minval=1.0, maxval=10.0, step=0.1)

// Input for choosing between EMA and MA
useEMA = input.bool(true, title="Use EMA (true) or MA (false)?")

// Input source and lengths for MAs
src = close
ema1_length = input.int(20, title='EMA/MA-1 Length')
ema2_length = input.int(55, title='EMA/MA-2 Length')

// Calculate the MAs based on user selection
pema1 = useEMA ? ta.ema(src, ema1_length) : ta.sma(src, ema1_length)
pema2 = useEMA ? ta.ema(src, ema2_length) : ta.sma(src, ema2_length)

// Tracking the crossover condition for strategy entry
crossedAbove = ta.crossover(pema1, pema2)

// Define a variable to track if a valid entry condition has been met
var bool readyToEnter = false

// Check for MA crossover and update readyToEnter
if (crossedAbove)
    readyToEnter := true

// Entry condition: Enter when price touches MA-1 after the crossover // and (low <= pema1 and high >= pema1)
entryCondition = readyToEnter

// Reset readyToEnter after entry
if (entryCondition)
    readyToEnter := false

// Exit condition: Price crosses under MA-1
exitCondition = ta.crossunder(pema1, pema2)

// Check if the current bar's time is within the specified period
inBacktestPeriod = true

// Execute trade logic only within the specified date range and apply leverage to position sizing
if (inBacktestPeriod)
    if (entryCondition)
        strategy.entry("Long", strategy.long, qty=strategy.equity * leverage / close)
    if (exitCondition)
        strategy.close("Long")


// Plotting the MAs for visual reference
ema1_color = pema1 > pema2 ? color.red : color.green
ema2_color = pema1 > pema2 ? color.red : color.green
plot(pema1, color=ema1_color, style=plot.style_line, linewidth=1, title='EMA/MA-1')
plot(pema2, color=ema2_color, style=plot.style_line, linewidth=1, title='EMA/MA-2')


संबंधित

अधिक