پریزنٹ ٹرینڈ حکمت عملی ایک منفرد کسٹم ٹرینڈ کی پیروی کرنے والی حکمت عملی ہے۔ یہ امتزاج حکمت عملی کو قلیل مدتی اور طویل مدتی مارکیٹ کے رجحانات دونوں کا فائدہ اٹھانے کی اجازت دیتا ہے ، جس سے یہ مختلف مارکیٹ کے حالات کے لئے موزوں ہوجاتا ہے۔
اسٹریٹیجی میں دو حصے ہیں:
اپنی مرضی کے مطابق آر ایس آئی یا ایم ایف آئی اشارے: یہ اشارے آر ایس آئی یا ایم ایف آئی کی بنیاد پر ایک موجودہ رجحان کی قیمت کا حساب لگاتا ہے، اس کے کراس اوور اور کراس اوور کی بنیاد پر خرید اور فروخت کے سگنل پیدا کرتا ہے، جو ممکنہ رجحان کی تبدیلیوں کی نشاندہی کرتا ہے.
اے ٹی آر اشارے: اوسط حقیقی رینج (اے ٹی آر) کا استعمال کرتے ہوئے ایک مقبول رجحان کی پیروی کرنے والا اشارہ۔
حکمت عملی ایک طویل پوزیشن میں داخل ہوتی ہے جب دونوں حکمت عملیوں سے تمام خریدنے والے سگنل درست ہوتے ہیں ، اور ایک مختصر پوزیشن جب تمام فروخت سگنل درست ہوتے ہیں۔ اس سے یہ یقینی بناتا ہے کہ تجارت صرف اس وقت داخل کی جاتی ہے جب قلیل مدتی اور طویل مدتی رجحانات دونوں سیدھے ہوجاتے ہیں ، جس سے حکمت عملی کی قابل اعتماد صلاحیت میں اضافہ ہوتا ہے۔
مجموعی طور پر ، موجودہ رجحان کی حکمت عملی ایک انتہائی موثر رجحان کی پیروی کرنے والا نظام ہے۔ یہ سگنل کی وشوسنییتا کو بہتر بناتے ہوئے حساس ہونے کے لئے قلیل مدتی اور طویل مدتی رجحان کے اشارے کو جوڑتا ہے۔ سایڈست سمت ، پیرامیٹرز ، اور اضافی منطق کے ساتھ ، حکمت عملی مختلف مارکیٹ کے ماحول اور تاجر کی ضروریات کے مطابق ڈھال سکتی ہے۔ جبکہ موروثی رجحان کی پیروی کرنے کے خطرات باقی رہتے ہیں ، موجودہ رجحان ایک زبردست آپشن ہے جس پر غور کرنے کے قابل ہے۔
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 2h 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/ // © PresentTrading //@version=5 // Define the strategy settings strategy('PresentTrend - Strategy [presentTrading]' , overlay=true, precision=3, default_qty_type=strategy.cash, commission_value= 0.1, commission_type=strategy.commission.percent, slippage= 1, currency=currency.USD, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, initial_capital= 10000) // Define the input parameters priceSource = input.source(title='Source', defval=hlc3, group='PresentTrend') // The price source to use lengthParam = input.int(title='Length', defval=14, group='PresentTrend') // The length of the moving average multiplier = input.float(title='Multiplier', defval=1.618, step=0.1, group='PresentTrend') // The multiplier for the ATR indicatorChoice = input.bool(title='Whether to use RSI or MFI', defval=false, group='PresentTrend') // Whether to use RSI or MFI // Add a parameter for choosing Long or Short tradeDirection = input.string(title="Trade Direction", defval="Both", options=["Long", "Short", "Both"]) // Calculate the ATR and the upT and downT values ATR = ta.sma(ta.tr, lengthParam) upperThreshold = low - ATR * multiplier lowerThreshold = high + ATR * multiplier // Initialize the PresentTrend indicator PresentTrend = 0.0 // Calculate the PresentTrend indicator PresentTrend := (indicatorChoice ? ta.rsi(priceSource, lengthParam) >= 50 : ta.mfi(hlc3, lengthParam) >= 50) ? upperThreshold < nz(PresentTrend[1]) ? nz(PresentTrend[1]) : upperThreshold : lowerThreshold > nz(PresentTrend[1]) ? nz(PresentTrend[1]) : lowerThreshold // Calculate the buy and sell signals longSignal = ta.crossover(PresentTrend, PresentTrend[2]) shortSignal = ta.crossunder(PresentTrend, PresentTrend[2]) // Calculate the number of bars since the last buy and sell signals barsSinceBuy = ta.barssince(longSignal) barsSinceSell = ta.barssince(shortSignal) previousBuy = ta.barssince(longSignal[1]) previousSell = ta.barssince(shortSignal[1]) // Initialize the direction variable trendDirection = 0 // Calculate the direction of the trend trendDirection := longSignal and previousBuy > barsSinceSell ? 1 : shortSignal and previousSell > barsSinceBuy ? -1 : trendDirection[1] // Check the trade direction parameter before entering a trade if (trendDirection == 1 and (tradeDirection == "Long" or tradeDirection == "Both")) strategy.entry("Buy", strategy.long) if (trendDirection == -1 and (tradeDirection == "Short" or tradeDirection == "Both")) strategy.entry("Sell", strategy.short) // Add a stop mechanism when the tradeDirection is one-sided if (tradeDirection == "Long" and trendDirection == -1) strategy.close("Buy") if (tradeDirection == "Short" and trendDirection == 1) strategy.close("Sell") // Visualization plot(PresentTrend, color=color.blue, title="PresentTrend") plotshape(series=longSignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal") plotshape(series=shortSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")