اس حکمت عملی کا بنیادی خیال یہ ہے کہ دو مختلف دورانیوں کی حرکت پذیر اوسط لائنوں کا استعمال کرکے مارکیٹ میں واپسی کے بعد واپسی کے مواقع کو پکڑ لیا جائے۔ جب قیمت طویل مدتی اوسط لائن سے اوپر ہے اور مختصر مدت کی اوسط لائن میں واپسی ہوتی ہے تو ، اس کی حکمت عملی میں زیادہ تجارت کی جاتی ہے ، اور جب قیمت مختصر مدت کی اوسط لائن پر واپس آجاتی ہے یا اسٹاپ نقصان کی قیمت کو چھوتی ہے تو اس کی حکمت عملی میں منافع حاصل کرنے کی کوشش کی جاتی ہے۔ یہ حکمت عملی رجحان میں واپسی کے مواقع تلاش کرکے رجحان کی حالت میں منافع حاصل کرنے کی کوشش کرتی ہے۔
متحرک اوسط ریٹرن ٹریکنگ کی حکمت عملی دو مختلف سائیکل لائنوں کے درمیان رشتہ دار پوزیشن کے تعلقات کے ذریعے ، قیمتوں کو بڑھتی ہوئی رجحانات میں ریٹرن کرنے کے لئے زیادہ مواقع حاصل کرتی ہے۔ یہ حکمت عملی رجحاناتی مارکیٹوں کے لئے موزوں ہے ، جس میں مناسب پیرامیٹرز اور اسٹاپ نقصانات کی ترتیب کے ذریعہ ، رجحاناتی مارکیٹوں میں مستحکم منافع حاصل کیا جاسکتا ہے۔ لیکن اس حکمت عملی میں ایک خاص خطرہ لاحق ہے۔ مزید اشارے متعارف کرانے ، پوزیشن مینجمنٹ کو بہتر بنانے اور متحرک اسٹاپ نقصانات جیسے طریقوں کے ذریعہ اس حکمت عملی کی کارکردگی اور استحکام کو مزید بڑھا سکتے ہیں۔
/*backtest start: 2023-03-22 00:00:00 end: 2024-03-27 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/ // © contapessoal_ivan // @version=5 strategy("Pullback Strategy", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, // 100% of balance invested on each trade commission_type=strategy.commission.cash_per_contract, commission_value=0.005) // Interactive Brokers rate // Get user input i_ma1 = input.int(title="MA 1 Length", defval=200, step=10, group="Strategy Parameters", tooltip="Long-term MA") i_ma2 = input.int(title="MA 2 Length", defval=10, step=10, group="Strategy Parameters", tooltip="Short-term MA") i_stopPercent = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline") i_lowerClose = input.bool(title="Exit On Lower Close", defval=false, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2") i_startTime = input(title="Start Filter", defval=timestamp("26 Jan 2023 00:00 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups") i_endTime = input(title="End Filter", defval=timestamp("26 Mar 2024 23:59 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups") // Get indicator values ma1 = ta.sma(close, i_ma1) ma2 = ta.sma(close, i_ma2) // Check filter(s) f_dateFilter = true // Check buy/sell conditions var float buyPrice = 0 buyCondition = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter sellCondition = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1]) stopDistance = strategy.position_size > 0 ? ((buyPrice - close) / close) : na stopPrice = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na stopCondition = strategy.position_size > 0 and stopDistance > i_stopPercent // Enter positions if buyCondition strategy.entry(id="Long", direction=strategy.long) if buyCondition[1] buyPrice := open // Exit positions if sellCondition or stopCondition strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : "")) buyPrice := na // Draw pretty colors plot(buyPrice, color=color.lime, style=plot.style_linebr) plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1) plot(ma1, color=color.blue) plot(ma2, color=color.orange)