जियाइबिंग मात्रात्मक रुझान गति व्यापार रणनीति

लेखक:चाओझांग, दिनांक: 2024-03-08 15:40:05
टैगः

img

अवलोकन

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

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

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

ट्रेंड और एंट्री टाइमिंग को और अधिक पुष्टि करने के लिए, रणनीति में बोलिंगर बैंड और गति संकेतक भी शामिल हैं। बोलिंगर बैंड में तीन लाइनें होती हैंः मध्य रेखा चलती औसत है, जबकि ऊपरी और निचले बैंड मध्य रेखा के ऊपर और नीचे कुछ मानक विचलन होते हैं। जब कीमत ऊपरी बोलिंगर बैंड से ऊपर टूटती है, तो यह एक मजबूत ऊपर की गति को इंगित करती है और रणनीति लंबी जाएगी; जब कीमत निचले बोलिंगर बैंड से नीचे टूटती है, तो यह एक मजबूत नीचे की गति को इंगित करती है और रणनीति छोटी हो जाएगी।

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

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

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

लाभ विश्लेषण

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

  2. गति की पुष्टिः गति संकेतक को प्रवृत्ति की द्वितीयक पुष्टि के रूप में पेश करने से झूठे संकेतों को फ़िल्टर करने और प्रवेश की गुणवत्ता में सुधार करने में मदद मिलती है।

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

  4. स्थिति आकारः रणनीति खाते की इक्विटी के प्रतिशत और अधिकतम सीमा पर आधारित स्थिति आकार विधि का उपयोग करती है, जो प्रत्येक व्यापार में नियोजित पूंजी के लचीले नियंत्रण की अनुमति देती है, दोनों धन का पूरी तरह से उपयोग करती है और अत्यधिक जोखिम जोखिम से बचती है।

  5. लाभ और स्टॉप लॉसः रणनीति सेट लाभ, स्टॉप लॉस, और ट्रेलिंग स्टॉप लॉस स्तर लेते हैं, जो मूल्य की अपेक्षित दिशा में चलने पर लाभ की रक्षा कर सकते हैं, और जब कीमत उलट जाती है तो नुकसान को निर्णायक रूप से काट सकते हैं, प्रभावी रूप से प्रत्येक व्यापार के अधिकतम नुकसान को नियंत्रित कर सकते हैं।

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

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

  1. आवर्ती ट्रेडिंगः यह रणनीति चलती औसत क्रॉसओवर और बोलिंगर बैंड ब्रेकआउट के आधार पर प्रवेश संकेत उत्पन्न करती है। जब बाजार की अस्थिरता अधिक होती है, तो यह अक्सर ट्रेडिंग संकेत उत्पन्न कर सकती है, जिससे अत्यधिक ट्रेडिंग आवृत्ति और कमीशन और फिसलने की लागत बढ़ जाती है।

  2. पैरामीटर संवेदनशीलता: रणनीति में कई पैरामीटर शामिल हैं, जैसे कि चलती औसत अवधि, गति अवधि, बोलिंगर बैंड पैरामीटर, आदि। विभिन्न मापदंडों का चयन रणनीति के प्रदर्शन पर महत्वपूर्ण प्रभाव डाल सकता है। यदि मापदंडों को ठीक से चुना नहीं जाता है, तो इससे खराब रणनीति प्रदर्शन हो सकता है।

  3. पिछड़ा हुआ रुझान पहचानना: चलती औसत पिछड़ा हुआ संकेत है, खासकर जब चलती औसत अवधि लंबी होती है, तो रुझान उलटने की पहचान करने की गति धीमी होगी, और सबसे अच्छा प्रवेश समय चूक सकता है।

  4. स्टॉप लॉस जोखिमः यद्यपि रणनीति स्टॉप लॉस उपाय निर्धारित करती है, लेकिन चरम बाजार स्थितियों (जैसे तेजी से अंतराल) में, कीमत सीधे स्टॉप लॉस स्तर को पार कर सकती है, जिसके परिणामस्वरूप वास्तविक नुकसान अपेक्षाओं से अधिक हो सकते हैं।

  5. केंद्रित स्थिति जोखिमः यदि रणनीति एक निश्चित अवधि के दौरान लगातार एक ही दिशा में संकेत उत्पन्न करती है, तो इससे एक दिशा में स्थितियों की अत्यधिक एकाग्रता हो सकती है, जिससे स्थिति का जोखिम बढ़ जाता है।

  6. तरलता जोखिमः बैकटेस्टिंग और लाइव ट्रेडिंग में रणनीति का प्रदर्शन बाजार की तरलता से प्रभावित हो सकता है, खासकर जब बड़े फंडों के साथ व्यवहार किया जाता है, जो फिसलने और अपर्याप्त ट्रेडिंग वॉल्यूम की समस्याओं का सामना कर सकते हैं।

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

  1. अधिक तकनीकी संकेतक पेश करें: वर्तमान चलती औसत, गति और बोलिंगर बैंड के आधार पर, मल्टी-इंडिकेटर पुष्टि के माध्यम से संकेतों की विश्वसनीयता में सुधार के लिए आरएसआई और एमएसीडी जैसे अधिक तकनीकी संकेतक पेश किए जा सकते हैं।

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

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

  4. स्थिति आकार में सुधारः मौजूदा स्थिति आकार के आधार पर, बेहतर संतुलन रिटर्न और जोखिम के लिए अधिक उन्नत धन प्रबंधन विधियों जैसे कि केली मानदंड, निश्चित अनुपात, गतिशील इक्विटी आदि को पेश किया जा सकता है।

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

  6. बैकटेस्टिंग और लाइव ट्रेडिंग की स्थिरता में सुधारः बैकटेस्टिंग और लाइव ट्रेडिंग में रणनीति का प्रदर्शन भिन्न हो सकता है। बैकटेस्टिंग और लाइव ट्रेडिंग की निष्पादन गुणवत्ता पर ध्यान केंद्रित करना आवश्यक है, जिसमें निष्पादन मूल्य, फिसलन और विलंबता जैसे कारक शामिल हैं, ताकि बैकटेस्टिंग परिणामों के साथ लाइव प्रदर्शन की स्थिरता सुनिश्चित हो सके।

सारांश

JiaYiBing मात्रात्मक प्रवृत्ति गति व्यापार रणनीति एक मात्रात्मक व्यापार रणनीति है जो कई तकनीकी विश्लेषण विधियों को एकीकृत करती है। यह प्रवृत्तियों को पकड़ने के लिए चलती औसत क्रॉसओवर का उपयोग करती है


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

//@version=5
strategy('甲易炳', overlay=true)

// Parameters
trendPeriod = input(50, 'Trend Period')
momentumPeriod = input(14, 'Momentum Period')
bbPeriod = input(20, 'Bollinger Bands Period')
bbDeviation = input(2, 'Bollinger Bands Deviation')
fastMALen = input(23, 'Fast SMA Length')
slowMALen = input(50, 'Slow SMA Length')
longTakeProfitPerc = input.float(0.5, 'Long Take Profit %', minval=0.05, step=0.05) * 0.01
shortTakeProfitPerc = input.float(0.5, 'Short Take Profit %', minval=0.05, step=0.05) * 0.01
stopLossPerc = input.float(0.5, 'Stop Loss %', minval=0.05, step=0.05) * 0.01
enableTrailing = input.bool(true, 'Enable Trailing')
trailingTakeProfitPerc = input.float(0.01, 'Trailing Take Profit %', minval=0.01, maxval=100, step=0.01) * 0.01
trailingStopLossPerc = input.float(0.5, 'Trailing Stop Loss %', minval=0.05, step=0.05) * 0.01
qty_percent = input.int(20, 'Position Size %', step=1)
qty_cap = input.int(10000, 'Max Position Size', step=1000)
beast_mode = input.bool(false, 'Beast Mode')
set_cap = input.bool(true, 'Cap Position Size')
strategy.initial_capital = 50000
// Calculate position size
qty1 = (strategy.initial_capital + strategy.netprofit) * qty_percent / 10 / close
qty = (set_cap and qty1 > qty_cap) ? qty_cap : qty1

// Calculate moving averages
fastMA = ta.sma(close, fastMALen)
slowMA = ta.sma(close, slowMALen)

// Bollinger Bands
[upperBB, middleBB, lowerBB] = ta.bb(close, bbPeriod, bbDeviation)

// Entry conditions
buySignal = ta.crossover(close, fastMA) and close > upperBB
sellSignal = ta.crossunder(close, fastMA) and close < lowerBB

// Rampage mode entry conditions
if beast_mode
    buySignal := buySignal and fastMA > fastMA[2]
    sellSignal := sellSignal and fastMA < fastMA[2]

// Active positions
longIsActive = buySignal or strategy.position_size > 0
shortIsActive = sellSignal or strategy.position_size < 0

// Declare take profit and stop loss variables
var float longTakeProfitPrice = na
var float shortTakeProfitPrice = na

// Take profit and stop loss calculation
if longIsActive
    if buySignal and not (strategy.position_size > 0)
        longTakeProfitPrice := close * (1 + longTakeProfitPerc)
    else
        longTakeProfitPrice := nz(longTakeProfitPrice[1], close * (1 + longTakeProfitPerc))
if shortIsActive
    if sellSignal and not (strategy.position_size < 0)
        shortTakeProfitPrice := close * (1 - shortTakeProfitPerc)
    else
        shortTakeProfitPrice := nz(shortTakeProfitPrice[1], close * (1 - shortTakeProfitPerc))

longTrailingTakeProfitStepTicks = longTakeProfitPrice * trailingTakeProfitPerc / syminfo.mintick
shortTrailingTakeProfitStepTicks = shortTakeProfitPrice * trailingTakeProfitPerc / syminfo.mintick
longTrailingStopLossPrice = close * (1 - trailingStopLossPerc)
shortTrailingStopLossPrice = close * (1 + trailingStopLossPerc)

// Entries and exits
if strategy.position_size == 0
    strategy.entry('Long Entry', qty=qty, direction=strategy.long, when=buySignal, alert_message='Long Entry')
    strategy.entry('Short Entry', qty=qty, direction=strategy.short, when=sellSignal, alert_message='Short Entry')
    strategy.exit('Long Take Profit', 'Long Entry', loss=close * stopLossPerc / syminfo.mintick, limit=enableTrailing ? na : longTakeProfitPrice, trail_price=enableTrailing ? longTakeProfitPrice : na, trail_offset=enableTrailing ? longTrailingTakeProfitStepTicks : na, when=longIsActive, alert_message='Long Take Profit')
    strategy.exit('Short Take Profit', 'Short Entry', loss=close * stopLossPerc / syminfo.mintick, limit=enableTrailing ? na : shortTakeProfitPrice, trail_price=enableTrailing ? shortTakeProfitPrice : na, trail_offset=enableTrailing ? shortTrailingTakeProfitStepTicks : na, when=shortIsActive, alert_message='Short Take Profit')
else
    if longIsActive
        strategy.exit('Long Stop Loss', 'Long Entry', stop=longTrailingStopLossPrice, when=longIsActive)
    if shortIsActive
        strategy.exit('Short Stop Loss', 'Short Entry', stop=shortTrailingStopLossPrice, when=shortIsActive)

// Plotting
plot(fastMA, 'Fast SMA', color=color.blue, linewidth=1, style=plot.style_line)
plot(slowMA, 'Slow SMA', color=color.orange, linewidth=1, style=plot.style_line)
plot(upperBB, 'Upper BB', color=color.green, linewidth=1, style=plot.style_line)
plot(lowerBB, 'Lower BB', color=color.red, linewidth=1, style=plot.style_line)


अधिक