यह 1 मिनट के एमएसीडी संकेतक और आरएसआई संकेतक पर आधारित एक अल्पकालिक ब्रेकआउट रणनीति है। यह प्रवृत्ति निर्धारित करने और ब्रेकआउट बिंदुओं को खोजने के लिए एमएसीडी और ओवरबॉट और ओवरसोल्ड स्थितियों का न्याय करने के लिए आरएसआई को जोड़ती है, लंबी और छोटी स्केलिंग के लिए अल्पकालिक ब्रेकआउट अवसरों को खोजने के लिए।
रणनीति पहले 1 मिनट के समय सीमा में एमएसीडी हिस्टोग्राम की गणना करती है, और हिस्टोग्राम ब्रेकआउट स्थिति निर्धारित करने के लिए बोलिंगर बैंड्स को प्लॉट करती है। साथ ही, यह लंबी और छोटी गति निर्धारित करने के लिए आरएसआई संकेतक की गणना करती है। केवल जब बोलिंगर बैंड, एमएसीडी और आरएसआई संकेतक सभी एक ही समय में मानदंडों को पूरा करते हैं, तो ट्रेडिंग सिग्नल ट्रिगर किए जाएंगे।
विशेष रूप से, जब 1-मिनट का एमएसीडी हिस्टोग्राम निचले बैंड से नीचे होता है और आरएसआई 51 से ऊपर होता है, और जब एमएसीडी हिस्टोग्राम ऊपरी बैंड से ऊपर होता है और आरएसआई 49 से नीचे होता है, तो शॉर्ट हो जाता है।
यह निश्चित लाभ लेने और स्टॉप लॉस बाहर निकलता है। जब लाभ 0.5% या हानि 0.3% तक पहुँचता है स्थिति बंद करो।
यह रणनीति ट्रेंड जजमेंट और ओवरबॉट/ओवरसोल्ड जजमेंट को जोड़ती है, जो प्रभावी रूप से झूठे ब्रेकआउट को फ़िल्टर कर सकती है। फिक्स्ड टीपी/एसएल हर ट्रेड को एक निश्चित लाभ अपेक्षा प्रबंधन देता है।
इसके लाभ इस प्रकार हैंः
एमएसीडी रुझान की दिशा और आरएसआई लंबी/छोटी गति का आकलन करता है, जो प्रभावी रूप से रुझान के खिलाफ व्यापार से बच सकता है।
ब्रेकआउट सिग्नल का न्याय करने के लिए बोलिंगर बैंड्स को मिलाकर झूठे ब्रेकआउट को फ़िल्टर किया जा सकता है।
फिक्स्ड टीपी/एसएल को अपनाते हुए प्रत्येक व्यापार में एक निश्चित लाभ की अपेक्षा होती है, जो एकल व्यापार हानि को नियंत्रित करता है।
व्यापारिक आवृत्ति उच्च है, जो अल्पकालिक व्यापार के लिए उपयुक्त है।
इस रणनीति के साथ कुछ जोखिम भी हैंः
फिक्स्ड टीपी/एसएल को बाजार परिवर्तनों के आधार पर समायोजित नहीं किया जा सकता है, जिससे एसएल बहुत छोटा और टीपी बहुत बड़ा हो सकता है।
यह कई फ़िल्टर किए गए संकेतों पर निर्भर करता है, जिससे सीमाबद्ध बाजारों में कई SL ट्रिगर हो सकते हैं।
उच्च व्यापारिक आवृत्ति के कारण भारी कमीशन शुल्क लगता है।
एमएसीडी और आरएसआई मापदंडों को और अनुकूलित करने की आवश्यकता है, वर्तमान मापदंड इष्टतम नहीं हो सकते हैं।
निम्नलिखित पहलुओं को और अधिक अनुकूलित किया जा सकता हैः
गतिशील टीपी/एसएल को अपनाएं, एटीआर आदि के आधार पर अनुपात को समायोजित करें।
चैनल को संकुचित करने के लिए बोलिंगर बैंड को चौड़ा करें, ट्रिगरिंग आवृत्ति को कम करें।
सर्वोत्तम संयोजन खोजने के लिए एमएसीडी और आरएसआई मापदंडों का अनुकूलन करें।
प्रवृत्ति के विरुद्ध व्यापार करने से बचने के लिए उच्च समय सीमा के रुझानों के आधार पर फ़िल्टर करें।
कुल मिलाकर यह रणनीति एक विशिष्ट अल्पकालिक ब्रेकआउट प्रणाली है, जिसमें प्रवृत्ति, गति और ओवरबॉट / ओवरसोल्ड विश्लेषण शामिल हैं, जो प्रभावी रूप से अल्पकालिक अवसरों का पता लगा सकते हैं। लेकिन कुछ जोखिम हैं, जोखिमों को कम करने और लाभप्रदता में सुधार के लिए आगे के परीक्षण और पैरामीटर अनुकूलन की आवश्यकता है। यदि ठीक से ट्यून किया जाता है, तो यह रणनीति एक कुशल अल्पकालिक ट्रेडिंग रणनीति बन सकती है।
/*backtest start: 2023-09-06 00:00:00 end: 2023-10-06 00:00:00 period: 1h basePeriod: 15m 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/ // © pluckyCraft54926 //@version=5 strategy("5 Minute Scalp", overlay=true, margin_long=100, margin_short=100) fast_length = input(title="Fast Length", defval=12) slow_length = input(title="Slow Length", defval=26) src = input(title="Source", defval=close) signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50, defval = 9) 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"]) // Plot colors col_macd = input(#2962FF, "MACD Line ", group="Color Settings", inline="MACD") col_signal = input(#FF6D00, "Signal Line ", group="Color Settings", inline="Signal") col_grow_above = input(#26A69A, "Above Grow", group="Histogram", inline="Above") col_fall_above = input(#B2DFDB, "Fall", group="Histogram", inline="Above") col_grow_below = input(#FFCDD2, "Below Grow", group="Histogram", inline="Below") col_fall_below = input(#FF5252, "Fall", group="Histogram", inline="Below") // 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 hist_1m = request.security(syminfo.tickerid,"1",hist [barstate.isrealtime ? 1 : 0]) hline(0, "Zero Line", color=color.new(#787B86, 50)) //////////////////////////////////////////////////// //plotting emas on the chart len1 = input.int(9, minval=1, title="Length") src1 = input(close, title="Source") offset1 = input.int(title="Offset", defval=0, minval=-500, maxval=500) out1 = ta.ema(src1, len1) plot(out1, title="EMA9", color=color.blue, offset=offset1) len2 = input.int(50, minval=1, title="Length") src2 = input(close, title="Source") offset2 = input.int(title="Offset", defval=0, minval=-500, maxval=500) out2 = ta.ema(src2, len2) plot(out2, title="EMA50", color=color.yellow, offset=offset2) len3 = input.int(200, minval=1, title="Length") src3 = input(close, title="Source") offset3 = input.int(title="Offset", defval=0, minval=-500, maxval=500) out3 = ta.ema(src3, len3) plot(out3, title="EMA200", color=color.white, offset=offset3) ////////////////////////////////////////////////////////////////// //Setting up the BB ///////////////////////////////////////////////////////////// srcBB = hist_1m lengthBBLong = input.int(94,title = "LengthBB Long", minval=1) lengthBBShort = input.int(83,title = "LengthBB Short", minval=1) multBB = input.float(2.0, minval=0.001, maxval=50, title="StdDev") basisBBLong = ta.sma(srcBB, lengthBBLong) basisBBShort = ta.sma(srcBB, lengthBBShort) devBBLong = multBB * ta.stdev(srcBB, lengthBBLong) devBBShort = multBB * ta.stdev(srcBB, lengthBBShort) upperBB = basisBBShort + devBBShort lowerBB = basisBBLong - devBBLong offsetBB = input.int(0, "Offset", minval = -500, maxval = 500) ///////////////////////////////////////// //aetting up rsi /////////////////////////////////////////// rsilengthlong = input.int(defval = 11, title = "Rsi Length Long", minval = 1) rlong=ta.rsi(close,rsilengthlong) rsilengthshort = input.int(defval = 29, title = "Rsi Length Short", minval = 1) rshort=ta.rsi(close,rsilengthshort) /////////////////////////// //Only taking long and shorts, if RSI is above 51 or bellow 49 rsilong = rlong >= 51 rsishort = rshort <= 49 ////////////////////////////////////// //only taking trades if all 3 emas are in the correct order long = out1 > out2 and out2 > out3 short = out1 < out2 and out2 < out3 ///////////////////////////////////// /////////////////////////////////////////// //setting up TP and SL TP = input.float(defval = 0.5, title = "Take Profit %",step = 0.1) / 100 SL = input.float(defval = 0.3, title = "Stop Loss %", step = 0.1) / 100 longCondition = hist_1m <= lowerBB longhight = input(defval=-10,title = "MacdTick Low") if (longCondition and long and rsilong and hist_1m <= longhight) strategy.entry("Long", strategy.long) if (strategy.position_size>0) longstop = strategy.position_avg_price * (1-SL) longprofit = strategy.position_avg_price * (1+TP) strategy.exit(id ="close long",from_entry="Long",stop=longstop,limit=longprofit) shortCondition = hist_1m >= upperBB shorthight = input(defval=35,title = "MacdTick High") if (shortCondition and short and rsishort and hist_1m >= shorthight) strategy.entry("short ", strategy.short) shortstop = strategy.position_avg_price * (1+SL) shortprofit = strategy.position_avg_price * (1-TP) if (strategy.position_size<0) strategy.exit(id ="close short",stop=shortstop,limit=shortprofit)