यह एक्सपोनेंशियल मूविंग एवरेज (ईएमए) पर आधारित एक ट्रेंड ट्रैकिंग ब्रेकआउट रणनीति है। यह मासिक, साप्ताहिक और दैनिक समय सीमाओं पर ट्रेंड की दिशा का न्याय करता है, और दैनिक चार्ट पर विशिष्ट प्रवेश और निकास क्रियाओं को निष्पादित करता है।
बाहर निकलने के लिए लाभ लेने और हानि रोकने के मानदंड निर्धारित करें।
रणनीति में बहुत अच्छी लाभ क्षमता होती है जब प्रवृत्ति को सही ढंग से आंका जाता है। गलत प्रवृत्ति निर्णय और झूठे संकेतों का कारण बनने वाले अत्यधिक पुलबैक से सावधान रहने की आवश्यकता है। इस बीच, लाभ लेने और स्टॉप लॉस सेटिंग्स को अनुकूलित करना बढ़त में और सुधार करने की कुंजी है।
/*backtest start: 2023-01-11 00:00:00 end: 2024-01-11 00:00:00 period: 1d basePeriod: 1h 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/ // © the_daily_trader //@version=5 // --------------------- Start of Code --------------------- strategy("Swing Trades Validator", overlay=true, margin_long=100, pyramiding = 0) // Indicator Display Checks TakeProfitPercent = input.float(title="Profit Target %", defval=10, minval=1, step=0.05) StopLossPercent = input.float(title="Stop Loss %", defval=10, minval=1, step=0.05) pullbackchoice = input.bool(false, "Relaxed Entry Rules") // EMAs emaH = ta.ema(close, 8) emaHyest = ta.ema(close[1], 8) emaHyest1 = ta.ema(close[2], 8) emaHyest2 = ta.ema(close[3], 8) emaL = ta.ema(close, 21) emaLyest = ta.ema(close[1], 21) emaLyest1 = ta.ema(close[2], 21) emaLyest2 = ta.ema(close[3], 21) emaf = ta.ema(close, 50) emath = ta.ema(close, 200) emathhigh = ta.ema(high, 200) emathlow = ta.ema(low, 200) emaslowmonthly = request.security(syminfo.tickerid, "M", emaL) // Monthly 21ema emafastmonthly = request.security(syminfo.tickerid, "M", emaH) // Monthly 8ema emaslowweekly = request.security(syminfo.tickerid, "W", emaL) // Weekly 21ema emafastweekly = request.security(syminfo.tickerid, "W", emaH) // Weekly 8ema emaslowdaily = request.security(syminfo.tickerid, "D", emaL) // Daily 21ema emafastdaily = request.security(syminfo.tickerid, "D", emaH) // Daily 8ema emafdaily = request.security(syminfo.tickerid, "D", emaf) // Daily 50ema emathdaily = request.security(syminfo.tickerid, "D", emath) // Daily ema emathdailyhigh = request.security(syminfo.tickerid, "D", emathhigh) // Daily ema High emathdailylow = request.security(syminfo.tickerid, "D", emathlow) // Daily ema Low ema21yest = request.security(syminfo.tickerid, "D", emaLyest) // Daily 21ema 1 day ago ema21yest1 = request.security(syminfo.tickerid, "D", emaLyest1) // Daily 21ema 2 days ago ema21yest2 = request.security(syminfo.tickerid, "D", emaLyest2) // Daily 21ema 3 days ago ema8yest = request.security(syminfo.tickerid, "D", emaHyest) // Daily 8ema 1 day ago ema8yest1 = request.security(syminfo.tickerid, "D", emaHyest1) // Daily 8ema 2 days ago ema8yest2 = request.security(syminfo.tickerid, "D", emaHyest2) // Daily 8ema 3 days ago // Prices monthopen = request.security(syminfo.tickerid, 'M', open, barmerge.gaps_off, barmerge.lookahead_on) monthclose = request.security(syminfo.tickerid, 'M', close, barmerge.gaps_off, barmerge.lookahead_on) weekopen = request.security(syminfo.tickerid, 'W', open, barmerge.gaps_off, barmerge.lookahead_on) weekclose = request.security(syminfo.tickerid, 'W', close, barmerge.gaps_off, barmerge.lookahead_on) dayopen = request.security(syminfo.tickerid, 'D', open, barmerge.gaps_off, barmerge.lookahead_on) dayclose = request.security(syminfo.tickerid, 'D', close, barmerge.gaps_off, barmerge.lookahead_on) threedayhigh = request.security(syminfo.tickerid, 'D', high[3], barmerge.gaps_off, barmerge.lookahead_on) twodayhigh = request.security(syminfo.tickerid, 'D', high[2], barmerge.gaps_off, barmerge.lookahead_on) yesthigh = request.security(syminfo.tickerid, 'D', high[1], barmerge.gaps_off, barmerge.lookahead_on) yestlow = request.security(syminfo.tickerid, 'D', low[1], barmerge.gaps_off, barmerge.lookahead_on) // Conditions monthlybullish = emafastmonthly > emaslowmonthly monthlybullishprice = close > emafastmonthly monthlybullishcandle = monthclose > monthopen weeklybullish = emafastweekly > emaslowweekly weeklybullishprice = close > emafastweekly weeklybullishcandle = weekclose > weekopen dailybullish1 = emafdaily > emathdaily dailybullish2 = emafastdaily > emaslowdaily dailybullishprice = close > emafastdaily dailybullishcandle = dayclose > dayopen ringlow = yestlow <= ema8yest aggropullback = twodayhigh < threedayhigh pullback = (pullbackchoice ? aggropullback : 0) pullbackfailure = dayclose > yesthigh and yesthigh < twodayhigh or pullback emasetup = ema8yest > ema21yest and ema8yest1 > ema21yest1 and ema8yest2 > ema21yest2 // Target Profit and Stop Loss Inputs // Input parameters can be found at the beginning of the code ProfitTarget = (close * (TakeProfitPercent / 100)) / syminfo.mintick StopLoss = (close * (StopLossPercent / 100)) / syminfo.mintick longCondition = monthlybullish and monthlybullishprice and weeklybullish and weeklybullishprice and dailybullish1 and dailybullish2 and dailybullishprice and monthlybullishcandle and weeklybullishcandle and dailybullishcandle and ringlow and pullbackfailure and emasetup if (longCondition) strategy.entry("Long", strategy.long) strategy.exit ("Exit", "Long", profit = ProfitTarget, loss = StopLoss) // strategy.close("Long", qty_percent = 100) // -----------xxxxxxxxxxx------------- End of Code -----------xxxxxxxxxxx---------------