मूनफ्लैग एमएसीडी मोमेंटम स्टॉकआरएसआई ट्रेडिंग रणनीति एक मात्रात्मक ट्रेडिंग रणनीति है जो निर्णय के लिए एमएसीडी, गति और स्टॉकआरएसआई संकेतकों का उपयोग करती है। यह मुख्य रूप से बिटकॉइन और एथेरियम दैनिक व्यापार के लिए उपयुक्त है।
रणनीति में निम्नलिखित प्रमुख आंकड़ों का उपयोग किया गया है।
एमएसीडी संकेतकः तेजी से एसएमए अवधि 50 है और धीमी एसएमए अवधि 200 है, जो बाजार में आमतौर पर इस्तेमाल की जाने वाली 50-दिवसीय रेखा और 200-दिवसीय रेखा का प्रतिनिधित्व करती है। यह संकेतक बाजार की दीर्घकालिक प्रवृत्ति दिशा का न्याय करता है।
कस्टम गति संकेतकः स्टॉक संकेतक के समान, जिसका उपयोग बाजार की अल्पकालिक गति दिशा का न्याय करने के लिए किया जाता है।
स्टॉकआरएसआई संकेतकः बाजार की ताकत और ओवरबॉट/ओवरसोल्ड स्तरों का आकलन करता है।
लंबी अवधि में प्रवेश करने के लिए, उसे एक साथ एमएसीडी>0 (मध्यम-लंबी अवधि के ऊपर की प्रवृत्ति का प्रतिनिधित्व करने वाली), कस्टम गति संकेतक >0 (उपर की अल्पकालिक गति का प्रतिनिधित्व करने वाली) और पिछले बंद से अधिक बंद मूल्य (वर्तमान अपट्रेंड का प्रतिनिधित्व करने वाली) की तीन शर्तों को पूरा करने की आवश्यकता है।
बंद करने वाला लंबा संकेत थोड़ा अधिक जटिल है, जिसमें MACD<0, कस्टम गति संकेतक <0, पिछले बंद से कम बंद मूल्य और StochRSI>20 की आवश्यकता होती है, 4 स्थितियों को एक साथ पूरा किया जाना चाहिए।
यह रणनीति मध्यम से दीर्घकालिक रुझान, अल्पकालिक गति और वर्तमान रुझान का व्यापक रूप से आकलन करती है और यह एक अपेक्षाकृत मजबूत ब्रेकआउट प्रणाली है।
कई संकेतकों का व्यापक आकलन झूठे संकेत उत्पन्न करने से बचाता है
एमएसीडी पैरामीटर चयन में बाजार में महत्वपूर्ण 50-दिवसीय रेखा और 200-दिवसीय रेखा पर विचार किया जाता है।
प्रत्येक संकेतक के मापदंडों के परिवर्तन के लिए परीक्षण के बाद, रणनीति के प्रदर्शन में बहुत कम बदलाव आया, जिससे ओवरफिट जोखिम से बचा गया
उच्च विश्वसनीयता के साथ पर्याप्त डेटा के साथ बैकटेस्ट
ब्रेकआउट सिस्टम में मध्यस्थता की प्रवृत्ति होती है, जिससे ट्रेडों की संख्या और फिसलने की लागत बढ़ सकती है
व्यापक बहु-सूचक निर्णय के साथ उच्च जटिलता, पैरामीटर समायोजन और अनुकूलन में कठिनाई
दिन के भीतर उच्च अल्पकालिक व्यापारिक जोखिम
अधिक संकेतकों का विश्लेषण शामिल करें, जैसे कि व्यापार की मात्रा
गतिशील पैरामीटर अनुकूलन के लिए मशीन सीखने के एल्गोरिदम को बढ़ाएं
कम व्यापारिक आवृत्ति, निर्णयों के लिए अधिक आवृत्ति में परिवर्तित
मूनफ्लेग एमएसीडी मोमेंटम स्टॉकआरएसआई ट्रेडिंग रणनीति व्यापक रूप से कई संकेतकों के साथ बाजार के रुझानों और ताकत का आकलन करती है, इसमें अच्छे बैकटेस्ट परिणाम और उच्च विश्वसनीयता है, जो अनुभवी मात्रात्मक व्यापारियों के लिए गुणवत्ता वाले क्रिप्टोकरेंसी पर लागू करने और अनुकूलित करने के लिए उपयुक्त है।
/*backtest start: 2023-02-16 00:00:00 end: 2024-02-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // // © MoonFlag //@version=5 strategy("MoonFlag 1D MACD Momentum StochRSI Strategy", max_bars_back=500, overlay=false, initial_capital=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=80, pyramiding=0, calc_on_order_fills=true) d(gaps_1, data)=> float out = 0. out :=(ta.wma(ta.wma(ta.wma(data, math.round(((1 * gaps_1) - math.round((1 * gaps_1) / 3)) / 2)), math.round((1 * gaps_1) / 3)) , int(((1 * gaps_1) - math.round((1 * gaps_1) / 3)) / 2))) out MoonFlagAverage(gaps_1,data)=> float out = 0. out:=d(gaps_1,d(gaps_1, d(gaps_1, data))) out fastLength = input.int(50, "MACD SMA Fast Length") slowlength = input.int(200, "MACD SMA Slow Length") MACDLength = 9//input.int(9, "MACD Length") MACD = ta.ema(close, fastLength) - ta.ema(close, slowlength) aMACD = ta.sma(MACD, MACDLength) MACDdelta = MACD - aMACD //plot (MACD, "MACD1", color.red) //plot (aMACD, "aMACD1", color.green) //plot (delta, "MACD delta", color.white) fastLength2 = input.int(12, "MoonFlag Momentum Length") slowlength2 = 2*fastLength2//input.int(50, "MoonFlag Momentum Slow Length") MACDLength2 = 20//input.int(20, "Momentum Delta") MoonFlag_MACD2 = MoonFlagAverage(fastLength2, close) - MoonFlagAverage(slowlength2,close) MoonFlag_aMACD2 = MoonFlagAverage(MACDLength2, MoonFlag_MACD2) MoonFlag_delta = MoonFlag_MACD2 - MoonFlag_aMACD2 MoonFlag_delta_line=0 if MoonFlag_delta < 0 MoonFlag_delta_line:=-100 else MoonFlag_delta_line:=100 //plot (MoonFlag_MACD2, "MoonFlag Momentum Fast Length", color.red) //plot (MoonFlag_aMACD2, "MoonFlag Momentum Slow Length", color.green) //plot (MoonFlag_delta2, "MoonFlag Delta", color.white) uptrend = (close + high)/(close[1] + high[1]) downtrend = (close + low)/(close[1] + low[1]) lineColor = color.green if uptrend > 1 lineColor := color.green if downtrend < 1 lineColor := color.red smoothK = 2//input.int(2, minval=1, title="K smoothing Stoch RSI") smoothD = 3//input.int(3, minval=1, title= "D smoothing for Stoch RSI") lengthRSI = 7//input.int(7, minval=1, title="RSI Length") lengthStoch = 8//input.int(8, minval=1, title="Stochastic Length") src = close//input(close, title="RSI Source") rsi1 = ta.rsi(src, lengthRSI) k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) StochRSI = ta.sma(k, smoothD) MACDdirection_line = 0 MACDdirection_line := MACDdirection_line[1] if (MACDdelta > 0) MACDdirection_line := 50 if (MACDdelta < 0) MACDdirection_line := -50 useStochRSI = input.bool(true,"Include Condition (StochRSI > 20) with Exit Long/Enter Short") StochRSI_val = 20//input.int(20,"StochRSI greater than to exit short") h1 = hline(StochRSI_val) StochRSIGreaterThanSetValue = true if useStochRSI if (StochRSI > StochRSI_val) StochRSIGreaterThanSetValue := true else StochRSIGreaterThanSetValue := false stoch20 = lineColor if StochRSI < StochRSI_val stoch20 := color.white yearin = input.int(2019, title="Start backtesting from year:") includeShorts = false//input.bool(false, "Include Shorts") plot(MoonFlag_delta_line,"MoonFlag Momentum Direction", color.white) plot(MACDdirection_line,"MACD Direction", color = color.orange) plot(StochRSI, "StochRSI", color=lineColor) if (year>=yearin) if (MACDdelta > 0) and (uptrend > 1) and MoonFlag_delta_line > 0 strategy.entry("buy2", strategy.long, comment="buy") if (MACDdelta < 0) and (downtrend < 1) and MoonFlag_delta_line < 0 and StochRSIGreaterThanSetValue if includeShorts strategy.entry("sell", strategy.short, comment="sell") else strategy.close("buy2", comment = "sell")