गतिशील चलती औसत रिट्रेसमेंट मार्टिन रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-24 10:19:21
टैगः

img

अवलोकन

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

रणनीति तर्क

यह रणनीति 3-दिवसीय और 8-दिवसीय सरल चलती औसत और उनके क्रॉसओवर संकेतों का उपयोग करती है। एक लंबा संकेत तब उत्पन्न होता है जब 3-दिवसीय एमए 8-दिवसीय एमए के ऊपर पार करता है, और एक छोटा संकेत तब उत्पन्न होता है जब 3-दिवसीय एमए 8-दिवसीय एमए के नीचे पार करता है। लंबे संकेत लंबे प्रवेश को ट्रिगर करेंगे और छोटे संकेत छोटे प्रवेश को ट्रिगर करेंगे।

यदि कोई स्थिति नहीं है, तो रणनीति क्रॉसओवर संकेतों के आधार पर प्रवेश निर्धारित करेगी। प्रवेश के बाद, स्टॉप लॉस की कीमत और लाभ लेने की कीमत की गणना नवीनतम क्लोजर मूल्य, स्टॉप लॉस प्रतिशत और लाभ लेने के प्रतिशत के आधार पर की जाएगी। उदाहरण के लिए, जब एक लंबी स्थिति रखते हैं, तो स्टॉप लॉस की कीमत नवीनतम क्लोजर मूल्य है, जिसमें स्टॉप लॉस प्रतिशत घटाकर 8-दिवसीय एमए से गुणा किया गया है; लाभ लेने की कीमत नवीनतम क्लोजर मूल्य प्लस लाभ लेने का प्रतिशत 8 दिन के एमए से गुणा किया गया है।

यदि कोई मौजूदा लंबी स्थिति है, जब कीमत लाभ लेने या स्टॉप लॉस को ट्रिगर करती है, यदि 8-दिवसीय एमए का एक पुलबैक सिग्नल होता है, तो स्थिति बंद हो जाएगी। इस समय, स्टॉप लॉस की कीमत और लाभ लेने की कीमत को शून्य पर रीसेट किया जाएगा। शॉर्ट पदों को संभालने के लिए तर्क समान है।

यह रणनीति चार्ट पर प्रवेश और निकास बिंदुओं को भी प्लॉट करती है। उदाहरण के लिए, एक लंबी प्रविष्टि को ऊपर की ओर त्रिभुज के रूप में और एक लंबी निकास को नीचे की ओर त्रिभुज के रूप में प्लॉट किया जाता है। इससे प्रविष्टियों और निकासों को नेत्रहीन न्याय करने में मदद मिलती है।

लाभ विश्लेषण

इस रणनीति के लाभ इस प्रकार हैंः

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

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

इस रणनीति के मुख्य जोखिम निम्नलिखित हैंः

  1. अल्पकालिक एमए रणनीतियों को कुचल दिया जाता है।
  2. चलती औसत से संकेतों के पीछे होने की संभावना।
  3. लगातार होने वाले नुकसान से अधिक नुकसान हो सकते हैं।
  4. गलत तरीके से सेट स्टॉप लॉस प्रतिशत बहुत ढीला या बहुत तंग हो सकता है।

स्टॉप लॉस प्रतिशत को काफी हद तक बढ़ाकर, एमए पैरामीटर को अनुकूलित करके, अतिरिक्त फ़िल्टर स्थितियों को लागू करके, आदि जोखिमों को कम किया जा सकता है।

अनुकूलन दिशाएँ

इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः

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

सारांश

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


/*backtest
start: 2022-11-17 00:00:00
end: 2023-11-23 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/
// © blackcat1402
//@version=5
strategy('[blackcat] L1 MartinGale Scalping Strategy', overlay=true, pyramiding = 5)

// Define input variables
takeProfit = input(1.03, title='Take Profit')
stopLoss = input(0.95, title='Stop Loss')
inputTradingMode = input.string(defval='Long', options=['Long', 'Short', 'BiDir'], title='Trading Mode')

//The purpose of this rule is to forbid short entries, only long etries will be placed. The rule affects the following function: 'entry'.
strategy.risk.allow_entry_in(inputTradingMode == 'Long' ? strategy.direction.long : inputTradingMode == 'Short' ? strategy.direction.short : strategy.direction.all)

// Define strategy logic
entryPrice = 0.0
stopPrice = 0.0
takeProfitPrice = 0.0
stopLossPrice = 0.0

// Define SMA crossover and crossunder signals
sma3 = ta.sma(close, 3)
sma8 = ta.sma(close, 8)
plot(sma3, color=color.yellow)
plot(sma8, color=color.fuchsia)
crossoverSignal = ta.crossover(sma3, sma8)
crossunderSignal = ta.crossunder(sma3, sma8)
crossoverState = sma3 > sma8
crossunderState = sma3 < sma8

if strategy.position_size == 0
    if crossoverState
        strategy.entry('Buy', strategy.long)
        entryPrice := close
        stopPrice := close - stopLoss * sma8[1]
        takeProfitPrice := close + takeProfit * sma8[1]
        stopLossPrice := stopPrice
        stopLossPrice
    if crossunderState
        strategy.entry('Sell', strategy.short)
        entryPrice := close
        stopPrice := close + stopLoss *  sma8[1]
        takeProfitPrice := close - takeProfit *  sma8[1]
        stopLossPrice := stopPrice
        stopLossPrice

if strategy.position_size > 0
    if (close > takeProfitPrice or close < stopLossPrice) and crossunderState
        strategy.close('Buy')
        entryPrice := 0.0
        stopPrice := 0.0
        takeProfitPrice := 0.0
        stopLossPrice := 0.0
        stopLossPrice
    else
        strategy.entry('Buy', strategy.long)
        entryPrice := close
        stopPrice := close - stopLoss *  sma8[1]
        takeProfitPrice := close + takeProfit *  sma8[1]
        stopLossPrice := stopPrice
        stopLossPrice

if strategy.position_size < 0
    if (close > takeProfitPrice or close < stopLossPrice) and crossoverState
        strategy.close('Sell')
        entryPrice := 0.0
        stopPrice := 0.0
        takeProfitPrice := 0.0
        stopLossPrice := 0.0
        stopLossPrice
    else
        strategy.entry('Sell', strategy.short)
        entryPrice := close
        stopPrice := close + stopLoss *  sma8[1]
        takeProfitPrice := close - takeProfit *  sma8[1]
        stopLossPrice := stopPrice
        stopLossPrice

// Plot entry and exit points
plotshape(strategy.position_size > 0 and crossoverSignal, 'Buy Entry', shape.triangleup, location.belowbar, color.new(color.green, 0), size=size.small)
plotshape(strategy.position_size > 0 and (close >= takeProfitPrice or close <= stopLossPrice), 'Buy Exit', shape.triangledown, location.abovebar, color.new(color.red, 0), size=size.small)
plotshape(strategy.position_size < 0 and crossunderSignal, 'Sell Entry', shape.triangledown, location.abovebar, color.new(color.red, 0), size=size.small)
plotshape(strategy.position_size < 0 and (close >= takeProfitPrice or close <= stopLossPrice), 'Sell Exit', shape.triangleup, location.belowbar, color.new(color.green, 0), size=size.small)



अधिक