[ब्लैककैट] L1 मार्टिन गेल स्केलिंग रणनीति

लेखक:Zer3192, दिनांक: 2023-10-09 07:06:32
टैगः

मार्टिन गेल (अंग्रेज़ीः Martin Gale) रणनीति एक लोकप्रिय धन प्रबंधन रणनीति है जो व्यापार में उपयोग की जाती है। यह आमतौर पर एक व्यापारी के लिए उपयोग की जाती है जो हर नुकसान के बाद स्थिति का आकार बढ़ाकर पुनरुत्थान की तलाश करता है। इसलिए, मार्टिन गेल एक विशिष्ट रणनीति नहीं है, बल्कि एक सामान्य नाम है जो एक प्रकार का है।

मार्टिन गेल की रणनीति में, व्यापारी हर घाटे वाले व्यापार के बाद स्थिति का आकार दोगुना कर देते हैं। ऐसा करने का उद्देश्य अंततः एक लाभदायक व्यापार की उम्मीद करना है, जो पहले के नुकसान को पुनर्स्थापित करने और लाभ उत्पन्न करने के लिए है।

मार्टिन गेल रणनीति के पीछे का विचार औसत के नियम का उपयोग करना है। यह रणनीति हर नुकसान के बाद स्थिति का आकार बढ़ाकर यह मानती है कि अंततः एक लाभदायक व्यापार होगा, जो न केवल पिछले नुकसान की भरपाई करेगा, बल्कि लाभ भी उत्पन्न करेगा। यह उन व्यापारियों के लिए विशेष रूप से आकर्षक हो सकता है जो तेजी से नुकसान से उबरने की तलाश करते हैं।

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

सारांश में, मार्टिन गेल रणनीति एक धन प्रबंधन रणनीति है जिसमें घाटे के बाद स्थिति का आकार बढ़ाना शामिल है ताकि घाटे के चरण से उबरने का प्रयास किया जा सके। हालांकि यह तेजी से उबरने की क्षमता प्रदान कर सकता है, लेकिन इस तरह के व्यापारिक दृष्टिकोण को लागू करने से पहले व्यापारियों को गंभीर जोखिमों पर विचार करना चाहिए।

हालांकि मैं इस तरह के लेनदेन के साथ सहमत नहीं हूं, लेकिन कुछ ने निजी तौर पर इस विषय पर बात की है और एक सरल 38 लाइन फ्रेमवर्क लिखा है, जिसे मार्टिन गेल ने शॉर्टलाइन किया है।

मार्टिन गेल की टोपी लेने की रणनीति एक व्यापारिक रणनीति है जो अक्सर व्यापार करके लाभ उत्पन्न करती है। यह चलती औसत के क्रॉसिंग का उपयोग करके प्रवेश और निकास संकेत उत्पन्न करती है। यह रणनीति ट्रेडिंग व्यू के पाइन स्क्रिप्ट भाषा का उपयोग करके लागू की गई है।

यह रणनीति पहले इनपुट चर, जैसे कि स्टॉप और स्टॉप लॉस लेवल, और ट्रेडिंग मोड ("मल्टीहेड, रिक्त या दो तरफा") को परिभाषित करती है। फिर, यह एक नियम सेट करती है जो केवल ट्रेडिंग मोड को मल्टीहेड के रूप में सेट करने पर ही प्रवेश की अनुमति देती है।

रणनीतिक तर्क सरल चलती औसत (SMA) के क्रॉस सिग्नल और क्रॉस सिग्नल परिभाषा का उपयोग करता है; यह अल्पकालिक (SMA3) और दीर्घकालिक (SMA8) एसएमए की गणना करता है और उन्हें चार्ट पर चित्रित करता है; क्रॉसओवर सिग्नल और क्रॉसअंडर सिग्नल चर क्रॉसओवर और क्रॉसओवर घटनाओं की घटनाओं को ट्रैक करने के लिए उपयोग किए जाते हैं, जबकि क्रॉसओवर स्टेट और क्रॉसओवर स्टेट चर क्रॉसओवर और क्रॉसओवर स्थितियों की स्थिति को निर्धारित करते हैं।

रणनीति का निष्पादन वर्तमान होल्डिंग आकार के आधार पर किया जाता है. यदि होल्डिंग आकार शून्य है (यदि कोई होल्डिंग नहीं है), तो रणनीति क्रॉस और क्रॉस इवेंट की जांच करती है. यदि क्रॉस इवेंट होता है और ट्रेडिंग मोड कई हेड इनपुट की अनुमति देता है, तो मल्टीहेड होल्डिंग में प्रवेश करता है. प्रवेश मूल्य, स्टॉप-लॉस मूल्य, स्टॉप-फिल और स्टॉप-लॉस मूल्य वर्तमान समापन मूल्य और एसएमए 8 मूल्य के आधार पर गणना किए जाते हैं. इसी तरह, यदि क्रॉस इवेंट होता है और ट्रेडिंग मोड खाली हेड इनपुट की अनुमति देता है, तो एक खाली हेड होल्डिंग में प्रवेश करता है, और इसके अनुसार मूल्य गणना की जाती है. यदि एक बहुआयामी होल्डिंग है और वर्तमान समापन मूल्य स्टॉप-लॉस या स्टॉप-लॉस मूल्य तक पहुंचता है, और एक क्रॉस-इवेंट होता है, तो बहुआयामी होल्डिंग समतल हो जाती है। प्रवेश मूल्य, स्टॉप-लॉस मूल्य, स्टॉप-लॉस और स्टॉप-लॉस मूल्य को शून्य पर रीसेट किया जाएगा।

इसी तरह, यदि कोई खाली होल्डिंग है और वर्तमान समापन मूल्य स्टॉप-ऑफ या स्टॉप-लॉस मूल्य तक पहुंचता है, और एक क्रॉस-इवेंट होता है, तो खाली होल्डिंग को समतल किया जाता है और मूल्य चर को रीसेट किया जाता है।

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

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


//@version=5
 strategy('[blackcat] L1 MartinGale Scalping Strategy', overlay=true, pyramiding = 5)
 
 // Define input variables
// martingaleMultiplier = input(2, title="加倍倍数")
 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)

अधिक