یہ ایک رجحان ٹریکنگ بریکآؤٹ حکمت عملی ہے جو ایکسپونینشل موونگ ایوریج (ای ایم اے) پر مبنی ہے۔ یہ ماہانہ ، ہفتہ وار اور روزانہ کے ٹائم فریموں پر رجحان کی سمت کا فیصلہ کرتا ہے ، اور روزانہ چارٹ پر مخصوص انٹری اور آؤٹ پٹ کارروائیوں کو انجام دیتا ہے۔
باہر نکلنے کے لئے منافع لینے اور نقصان کو روکنے کے معیار مقرر کریں.
حکمت عملی میں بہت اچھا منافع کی صلاحیت ہوتی ہے جب رجحان کا صحیح اندازہ لگایا جاتا ہے۔ غلط رجحان کے فیصلے اور غلط سگنلز کا سبب بننے والے زیادہ سے زیادہ پل بیک سے بچنے کی ضرورت ہے۔ دریں اثنا ، منافع لینے اور اسٹاپ نقصان کی ترتیبات کو بہتر بنانا کنارے کو مزید بہتر بنانے کی کلید ہے۔
/*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---------------