
یہ حکمت عملی ایک متحرک اوسط پر مبنی متحرک حکمت عملی ہے۔ یہ مختلف ادوار کی سادہ متحرک اوسط کا حساب لگانے اور اس کی کراسنگ کی صورتحال کا موازنہ کرکے تجارتی سگنل پیدا کرتی ہے۔ خاص طور پر ، جب قلیل مدتی متحرک اوسط طویل مدتی متحرک اوسط سے تجاوز کرتی ہے تو خریدنے کا اشارہ پیدا ہوتا ہے۔ جب قلیل مدتی متحرک اوسط طویل مدتی متحرک اوسط سے تجاوز کرتی ہے تو فروخت کا اشارہ پیدا ہوتا ہے۔
اس حکمت عملی کا بنیادی منطق متحرک اثر پر مبنی ہے ، یعنی اسٹاک کی قیمتوں کے رجحان کی مستقل مزاجی۔ متحرک اوسط اسٹاک کی قیمتوں میں تبدیلی کے رجحان کی مؤثر طریقے سے عکاسی کرسکتی ہے۔ جب قلیل مدتی متحرک اوسط طویل مدتی متحرک اوسط سے ٹکرا جاتا ہے تو ، اسٹاک کی قیمتوں میں اضافے کا رجحان شروع ہوتا ہے۔ اس کے برعکس ، جب قلیل مدتی متحرک اوسط طویل مدتی متحرک اوسط سے ٹکرا جاتا ہے تو ، اسٹاک کی قیمتوں میں کمی کا رجحان شروع ہوتا ہے۔ اس حکمت عملی کے مطابق اس اصول کے مطابق تجارتی سگنل تیار کیے جاتے ہیں۔
خاص طور پر ، حکمت عملی میں ایک 13 دن کی سادہ حرکت پذیر اوسط اور ایک 34 دن کی سادہ حرکت پذیر اوسط کی وضاحت کی گئی ہے۔ روزانہ کی اختتامی قیمت کے حساب سے ، ان دو متحرک اوسطوں کے بعد ، ان کی قیمتوں کا موازنہ کرنے کے بعد ، اس کی مقدار کی مقدار کا تعلق ہے۔ اگر 13 ویں لائن پر 34 ویں لائن کو عبور کیا جاتا ہے تو ، خریدنے کا اشارہ پیدا ہوتا ہے ، جس کا مطلب ہے کہ اسٹاک کی قیمتوں میں اضافے کا رجحان ہے ، اور ایک کثیر پوزیشن قائم کی جانی چاہئے۔ اگر 13 ویں لائن کے نیچے 34 ویں لائن کو عبور کیا جاتا ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے ، جس کا مطلب ہے کہ اسٹاک کی قیمتوں میں کمی کا رجحان ہے۔
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ یہ سمجھنے میں آسان اور آسانی سے قابل عمل ہے۔ حرکت پذیر اوسط ایک بنیادی اور سب سے زیادہ استعمال ہونے والی تکنیکی اشارے میں سے ایک ہے۔ اس کے اصول آسان ہیں ، سمجھنے اور لاگو کرنے میں آسان ہیں۔ اس کے علاوہ ، حرکت پذیر اوسط مجموعہ سگنل طویل عرصے سے مشق کے بعد بھی موثر ثابت ہوئے ہیں۔
اس کے علاوہ ، اس حکمت عملی کے پیرامیٹرز کو لچکدار ترتیب دیا گیا ہے ، جس میں مختلف اقسام اور مارکیٹ کے حالات کے مطابق ایڈجسٹ کیا جاسکتا ہے۔ مثال کے طور پر ، حکمت عملی کی حساسیت کو ایڈجسٹ کرنے کے لئے چلتی اوسط کے دورانیہ پیرامیٹرز کو تبدیل کیا جاسکتا ہے۔ اس سے حکمت عملی کو بہتر بنانے اور ایڈجسٹ کرنے کی گنجائش ملتی ہے۔
اس حکمت عملی کا سب سے بڑا خطرہ یہ ہے کہ ممکنہ طور پر زیادہ سے زیادہ غلط سگنل اور جھٹکے والی مارکیٹوں میں پھنس جائیں۔ جب قیمت میں بڑے پیمانے پر اتار چڑھاؤ ہوتا ہے تو ، متحرک اوسط اکثر کراسنگ پیدا کرسکتا ہے ، جس سے غلط سگنل ظاہر ہوتا ہے۔ اس وقت کچھ شور کو فلٹر کرنے کے لئے متحرک اوسط کی سائیکلنگ پیرامیٹرز کو ایڈجسٹ کرنے کی ضرورت ہے۔
اس کے علاوہ ، جب مارکیٹ میں ایک بڑا الٹ ہوتا ہے تو ، حکمت عملی کے اسٹاپ نقصان کی حد کو توڑ دیا جاسکتا ہے ، جس سے زیادہ نقصان ہوتا ہے۔ اس کے لئے اسٹاپ نقصان کی حکمت عملی کو بہتر بنانے اور مناسب حد تک اسٹاپ نقصان کو کم کرنے کی ضرورت ہے۔
یہ حکمت عملی مندرجہ ذیل پہلوؤں سے بہتر بنائی جا سکتی ہے۔
مختلف اقسام اور مارکیٹ کے حالات کے تحت پیرامیٹرز کا بہترین مجموعہ تلاش کرنے کے لئے منتقل اوسط کے لئے دورانیہ پیرامیٹرز کو بہتر بنائیں
دیگر تکنیکی اشارے کے فلٹرز کو شامل کریں ، جیسے MACD ، KD ، وغیرہ ، زلزلے کے حالات میں غلط سگنل سے بچنے کے لئے
سٹاپ نقصان کی حکمت عملی کو بہتر بنانے اور متحرک طور پر ایڈجسٹ کرنے کے لئے، سٹاپ نقصان کی ضمانت دیتے ہوئے، سٹاپ نقصان کی حد سے زیادہ قریب سے بچنے کے لئے، زیادہ سے زیادہ امکانات کو توڑنے کے لئے
پوزیشن مینجمنٹ میکانزم جیسے فکسڈ ان پٹ ، پوزیشن تناسب وغیرہ میں اضافہ ، جو ایک ہی تجارت کے خطرے کو کنٹرول کرتا ہے
یہ حکمت عملی ایک بہت ہی کلاسیکی چلتی اوسط کی کراسنگ حکمت عملی ہے ، جو قلیل مدتی اور طویل مدتی چلتی اوسط کے مابین تعلقات کا حساب کتاب اور موازنہ کرکے خرید و فروخت کے اشارے پیدا کرتی ہے۔ اس حکمت عملی کی خوبی یہ ہے کہ یہ سادہ اور سمجھنے میں آسان ہے ، اس کے پیرامیٹرز لچکدار ہیں ، اور ابتدائی سیکھنے کے لئے موزوں ہیں۔ اس کی خرابی یہ ہے کہ سگنل کافی مستحکم نہیں ہوسکتے ہیں ، اور اتار چڑھاؤ کی منڈیوں میں آسانی سے پھنس جاتے ہیں۔ مناسب اصلاح کے ساتھ ، یہ اب بھی ایک بہت ہی عملی مقداری حکمت عملی بن سکتی ہے۔
/*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"}]
*/
//@version=3
// TODO: update strategy name
strategy("{STRATEGY NAME}", overlay=true)
// === TA LOGIC ===
//
//
// TODO: PUT YOUR TA LOGIC HERE
LONG_SIGNAL_BOOLEAN = crossover(sma(close, 13), sma(close, 34))
SHORT_SIGNAL_BOOLEAN = crossunder(sma(close, 12), sma(close, 21))
// === INPUT BACKTEST DATE RANGE ===
enableShorts = input(false, title="Enable short entries?")
FromMonth = input(defval = 5, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 18, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth = input(defval = 9, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 2018, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
// === STRATEGY BUY / SELL ENTRIES ===
// TODO: update the placeholder LONG_SIGNAL_BOOLEAN and SHORT_SIGNAL_BOOLEAN to signal
// long and short entries
buy() => window() and LONG_SIGNAL_BOOLEAN
sell() => window() and SHORT_SIGNAL_BOOLEAN
if buy()
strategy.entry("Long", strategy.long, comment="Long")
if sell()
if (enableShorts)
strategy.entry("Short", strategy.short, comment="Short")
else
strategy.close("Long")
// === BACKTESTING: EXIT strategy ===
sl_inp = input(10, title='Stop Loss %', type=float)/100
tp_inp = input(30, title='Take Profit %', type=float)/100
stop_level = strategy.position_avg_price * (1 - sl_inp)
take_level = strategy.position_avg_price * (1 + tp_inp)
strategy.exit("Stop Loss/Profit", "Long", stop=stop_level, limit=take_level)