
اس حکمت عملی کا مقصد مارکیٹ میں ممکنہ واپسی کے مواقع کی نشاندہی کرنا ہے۔ اس حکمت عملی میں دوہری مساوی لائن سسٹم استعمال کیا جاتا ہے: طویل مدتی متحرک اوسط ((MA1) اور قلیل مدتی متحرک اوسط ((MA2)) ۔ اس کا بنیادی مقصد یہ ہے کہ جب بند ہونے والی قیمت MA1 سے کم ہے لیکن MA2 سے زیادہ ہے تو ، اس سے ظاہر ہوتا ہے کہ بڑے رجحانات میں ممکنہ واپسی کا موقع ہے ، اور اس طرح زیادہ کام کیا جائے گا۔
یہ حکمت عملی دو حرکت پذیر اوسطوں کا استعمال کرتی ہے: MA1 ((لمبی لائن) اور MA2 ((مختصر لائن) ۔ اس کا اصول یہ ہے کہ اگر قلیل مدتی قیمت میں واپسی ہوتی ہے اور طویل مدتی رجحان کی حمایت کی جانچ کرتی ہے تو ، یہ ایک بہت بڑا موقع ہوسکتا ہے۔ خاص طور پر ، اگر اختتامی قیمت طویل مدتی حمایت سے اوپر ہے (MA1) ، تو اس کا مطلب یہ ہے کہ بڑا رجحان اچھا ہے۔ اور اگر اختتامی قیمت قلیل مدتی اوسط سے نیچے گرتی ہے (MA2) ، لیکن طویل مدتی اوسط (MA1) کے اوپر مستحکم رہتا ہے ، تو یہ ایک عام واپسی کا موقع ہے۔
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:
اس کے مطابق ، مندرجہ ذیل پہلوؤں میں اصلاح اور بہتری کی جا سکتی ہے:
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
یہ حکمت عملی مجموعی طور پر ایک سادہ اور عملی شارٹ لائن پیچھے ہٹانے کی حکمت عملی ہے۔ اس میں بیک اپ کے مواقع کی نشاندہی کرنے اور خطرے کو کنٹرول کرنے کے لئے متحرک اسٹاپ لگانے کے لئے دو مساوی لائنوں کا استعمال کیا گیا ہے۔ یہ حکمت عملی سمجھنے اور لاگو کرنے میں آسان ہے ، پیرامیٹرز کو ایڈجسٹ کرنے میں لچکدار ہے ، جو مختلف خطرے کی ترجیحات کو پورا کرتی ہے۔ اگلے مرحلے میں ، اس حکمت عملی کو زیادہ مستحکم بنانے کے لئے متعدد پہلوؤں سے بہتری لائی جاسکتی ہے ، جیسے کہ متحرک اوسط پیرامیٹرز ، اسٹاپ میکانزم ، فلٹر وغیرہ کو بہتر بنانا۔
/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 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/
// © ZenAndTheArtOfTrading / www.PineScriptMastery.com
// @version=5
strategy("Simple Pullback Strategy",
overlay=true,
initial_capital=50000,
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("01 Jan 1995 13:30 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime = input(title="End Filter", defval=timestamp("1 Jan 2099 19:30 +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)