
MACD Stochastics Oscillation Breakout Strategy एक मात्रात्मक ट्रेडिंग रणनीति है जो MACD और Stochastics को जोड़ती है। यह रणनीति स्टॉक की कीमतों के रुझान की दिशा की पहचान करने की कोशिश करती है और जब कीमतें अस्थिरता से बाहर निकलती हैं तो स्थिति में प्रवेश करती हैं।
प्रविष्टियों की गुणवत्ता बढ़ाने के लिए स्थिति में प्रवेश करते समय, रणनीति दोनों MACD और Stochastics संकेतों को ध्यान में रखती है। इसके अलावा, यह रणनीति पूर्वनिर्धारित स्टॉप लॉस और स्टॉप स्टॉप को प्रभावी रूप से जोखिम को नियंत्रित करने के लिए सेट करती है।
एमएसीडी स्टोचैस्टिक्स की लहरों की लहरों की रणनीति मुख्य रूप से निम्नलिखित सिद्धांतों पर आधारित हैः
विशेष रूप से, यह रणनीति MACD सूचकांक की DIFF लाइन और DEA लाइन के क्रॉसिंग को मूल्य प्रवृत्ति की दिशा के लिए एक संकेत के रूप में उपयोग करती है। जब DIFF ऊपर की ओर DEA को तोड़ता है, तो एक मल्टीहेड सिग्नल उत्पन्न होता है, और इसके विपरीत, एक खाली सिर सिग्नल उत्पन्न होता है।
स्टोचैस्टिक्स की K लाइन के साथ ओवरबॉय और ओवरसोल क्षेत्र (डिफ़ॉल्ट 30 और 70) के पास D लाइन के साथ ऊपर या नीचे का क्रॉसिंग भी एक ट्रेडिंग सिग्नल उत्पन्न करता है।
जब MACD और Stochastics संकेत एक साथ समवर्ती संकेत देते हैं, तो यह रणनीति प्रवेश का विकल्प चुनती है। इस समय शेयर की कीमतों में एक बड़ी सफलता होने की संभावना है।
प्रवेश के बाद, रणनीति तर्कसंगत स्टॉप लॉस और स्टॉप लॉस सेट करती है। तर्कसंगत स्टॉप लॉस एकल नुकसान को प्रभावी रूप से नियंत्रित कर सकता है, और स्टॉप लॉस मुनाफे को लॉक कर सकता है।
एमएसीडी स्टोचैस्टिक्स वेव-बैंड हिट-ब्रेकिंग रणनीति के निम्नलिखित फायदे हैंः
इस रणनीति में MACD और Stochastics दोनों का उपयोग किया जाता है, जिससे कुछ झूठे संकेतों को फ़िल्टर किया जा सकता है और प्रविष्टियों की गुणवत्ता में सुधार किया जा सकता है।
रणनीतियों को विशेष रूप से स्टॉक की कीमतों में लंबे समय तक उतार-चढ़ाव के बाद ब्रेकआउट को पकड़ने के लिए डिज़ाइन किया गया है।
रणनीति में एक स्टॉप लॉस स्टॉप सेट है, जो व्यक्तिगत नुकसान को उचित रूप से नियंत्रित करता है और समय पर मुनाफे को लॉक करता है।
हालांकि MACD Stochastics की लहरों में उतार-चढ़ाव की रणनीति को सावधानीपूर्वक डिज़ाइन किया गया है, फिर भी कुछ जोखिम मौजूद हैंः
स्टॉक की कीमत के टूटने से पहले कुछ झूठे टूटने की स्थिति हो सकती है। यदि प्रवेश का समय गलत तरीके से चुना जाता है, तो यह प्रवेश को सबसे अच्छा प्रवेश बिंदु से चूकने में बदल सकता है।
हालांकि, सफलता से पहले पर्याप्त तैयारी की गई है, सफलता की विफलता की संभावना है। इस स्थिति में नुकसान होगा।
नीति के पैरामीटर की सेटिंग परिणामों पर बहुत प्रभाव डालती है। यदि पैरामीटर गलत तरीके से सेट किया जाता है, तो भारी छूट दी जाती है।
उपरोक्त जोखिमों को निम्न तरीकों से अनुकूलित किया जा सकता हैः
अन्य संकेतकों के साथ संयोजन फ़िल्टर संकेत
मानवीय हस्तक्षेप ने स्थिति को मजबूत किया
बहु-समूह पैरामीटर अनुकूलन परीक्षण
MACD Stochastics में अभी भी आगे के अनुकूलन के लिए जगह हैः
MACD पैरामीटर को अनुकूलित करें और सर्वोत्तम संयोजन खोजें
स्टोकेस्टिक पैरामीटर को अनुकूलित करें और सर्वश्रेष्ठ संयोजन खोजें
KDJ, BOLL आदि जैसे अन्य सूचकांकों के संयोजन को जोड़ना, जो प्रविष्टियों की गुणवत्ता को और बढ़ाता है
विभिन्न पोजीशन अवधि का परीक्षण करें और स्टॉप-स्टॉप-लॉस रणनीति को अनुकूलित करें
विभिन्न ट्रेडिंग मापदंडों के लिए पैरामीटर भिन्नता का परीक्षण
मशीन लर्निंग एल्गोरिदम को जोड़ना, पैरामीटर को स्वचालित रूप से अनुकूलित करना
एमएसीडी स्टोचैस्टिक्स लहरों के झटके से टूटने की रणनीति एमएसीडी और स्टोचैस्टिक्स दोनों संकेतकों का व्यापक उपयोग करता है, जो लहरों के झटके से टूटने पर उच्च गुणवत्ता वाले प्रवेश के लिए होता है। इसके अलावा, यह रोकथाम और रोकथाम की रणनीति के साथ प्रभावी रूप से जोखिम को नियंत्रित करता है। यह रणनीति शेयर की कीमतों के अल्पकालिक रुझानों को पकड़ती है, जिसमें कुछ व्यापारिक लाभ होते हैं। लेकिन पैरामीटर अनुकूलन और तकनीकी संकेतक पोर्टफोलियो की खोज के लिए भी जगह है, जिसे और अनुकूलित किया जाना चाहिए।
/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="macd stoch strategy", shorttitle="benzo MACD stoch",overlay=true)
// Getting inputs
fast_length = input(title = "Fast Length", defval = 180)
slow_length = input(title = "Slow Length", defval = 390)
src = input(title = "Source", defval = close)
signal_length = input.int(title = "Signal Smoothing", minval = 1, maxval = 500, defval = 135)
sma_source = input.string(title = "Oscillator MA Type", defval = "EMA", options = ["SMA", "EMA"])
sma_signal = input.string(title = "Signal Line MA Type", defval = "EMA", options = ["SMA", "EMA"])
// Calculating
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal
// hline(0, "Zero Line", color = color.new(#787B86, 50))
// plot(hist, title = "Histogram", style = plot.style_columns, color = (hist >= 0 ? (hist[1] < hist ? #26A69A : #B2DFDB) : (hist[1] < hist ? #FFCDD2 : #FF5252)))
// plot(macd, title = "MACD", color = #2962FF)
// plot(signal, title = "Signal", color = #FF6D00)
periodK = input.int(14, title="%K Length", minval=1)
smoothK = input.int(1, title="%K Smoothing", minval=1)
periodD = input.int(3, title="%D Smoothing", minval=1)
k = ta.sma(ta.stoch(close, high, low, periodK), smoothK)
d = ta.sma(k, periodD)
// plot(k, title="%K", color=#2962FF)
// plot(d, title="%D", color=#FF6D00)
// h0 = hline(80, "Upper Band", color=#787B86)
// hline(50, "Middle Band", color=color.new(#787B86, 50))
// h1 = hline(20, "Lower Band", color=#787B86)
// fill(h0, h1, color=color.rgb(33, 150, 243, 90), title="Background")
// Make inputs that set the take profit % (optional)
longProfitPerc = input.float(3, title="Long Take Profit (%)", minval=0.0, step=0.1) * 0.01
shortProfitPerc = input.float(3, title="Short Take Profit (%)",minval=0.0, step=0.1) * 0.01
// Calculate trading conditions
enterLong = macd>signal and ta.crossover(k,30)
enterShort = macd<signal and ta.crossunder(k,70)
// Figure out take profit price
longExitPrice = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)
// Plot take profit values for confirmation
plot(strategy.position_size > 0 ? longExitPrice : na,
color=color.green, style=plot.style_circles,
linewidth=3, title="Long Take Profit")
plot(strategy.position_size < 0 ? shortExitPrice : na,
color=color.red, style=plot.style_circles,
linewidth=3, title="Short Take Profit")
// Submit entry orders
if enterLong
strategy.entry("long", strategy.long)
if enterShort
strategy.entry("short", strategy.short)
// STEP 3:
// Submit exit orders based on take profit price
if strategy.position_size > 0
strategy.exit("long TP", limit=longExitPrice)
if strategy.position_size < 0
strategy.exit("short TP", limit=shortExitPrice)