یہ حکمت عملی تجارتی سمت کا تعین کرنے کے لئے قیمت کی رفتار کے اشارے کا استعمال کرتی ہے۔ خاص طور پر ، اس میں بالترتیب اوسط اور اوسط قیمت کا حساب لگایا جاتا ہے۔ جب قیمت اوسط اور اوسط قیمت سے تجاوز کرتی ہے تو ، خرید کا سگنل تیار کیا جاتا ہے۔ جھوٹے سگنل کو فلٹر کرنے کے لئے ، اس میں پچھلے اسی طرح کے سگنل کی ضرورت نہیں ہوتی ہے۔ پھر یہ سگنل کی حیثیت کو محفوظ کرتا ہے اور چلتی اوسط کے ساتھ مل کر آخری افتتاحی پوزیشن کا سگنل تیار کرتا ہے۔ اس حکمت عملی میں اسٹاپ نقصان اور منافع کی ترتیبات بھی شامل ہیں۔
یہ حکمت عملی بنیادی طور پر قیمت کی رفتار کے اشارے پر انحصار کرتی ہے تاکہ رجحان کی سمت کا اندازہ لگایا جاسکے۔ سب سے پہلے یہ قیمت کے چلتے ہوئے اوسط اور اوسط قیمت کا حساب لگاتا ہے۔
swmaClose = swma(close)
vwapClose = vwap(close)
کہاںswma
ہموار چلتی اوسط ہے اورvwap
حجم وزن شدہ اوسط قیمت ہے۔ دونوں اوسط قیمت کی سطح کو ظاہر کرسکتے ہیں۔
پھر قیمت کا موازنہ اوسط کے ساتھ کریں تاکہ یہ معلوم ہو سکے کہ کیا قیمت اوسط اور اوسط قیمت سے اوپر ہے، تاکہ یہ فیصلہ کیا جا سکے کہ یہ ایک تیزی کا اشارہ ہے یا نہیں۔
swmaLong = close > swmaClose
vwapLong = close > vwapClose
جھوٹے سگنلز کو فلٹر کرنے کے لئے، اس سے پہلے ان دو اشارے سے کوئی سگنل کی ضرورت نہیں ہے:
triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1]
اگلا، تیزی کا اشارہ محفوظ کریں:
saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1]
آخر میں، جب محفوظ کراسنگ سگنل اور قیمت ایک بار پھر چلتی اوسط سے اوپر کراس کرتی ہے تو، افتتاحی پوزیشن سگنل تیار کریں:
startLong = saveLong and swmaLong
یہ کچھ غلط سگنل کو فلٹر کر سکتا ہے اور سگنل کو زیادہ قابل اعتماد بنا سکتا ہے۔
اس حکمت عملی میں اسٹاپ نقصان اور منافع کی ترتیبات بھی شامل ہیں۔ اسٹاپ نقصان کا فاصلہ ترتیب دینے والا ہے ، اور فائدہ اٹھانا اسٹاپ نقصان کے ایک خاص ضرب پر مقرر کیا جاتا ہے۔
اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:
اس حکمت عملی میں کچھ خطرات بھی ہیں:
انسداد اقدامات:
اسٹریٹیجی کو مندرجہ ذیل سمتوں میں بھی بہتر بنایا جاسکتا ہے:
یہ اصلاحات حکمت عملی کی لچک ، استحکام اور منافع میں اضافہ کرسکتی ہیں۔
مجموعی طور پر ، یہ قیمت کی رفتار سے باخبر رہنے کی حکمت عملی ایک سادہ ، سیدھی اور منطقی رجحان سے باخبر رہنے کی حکمت عملی ہے۔ حکمت عملی قیمت کی رفتار کی سمت کا تعین کرنے کے لئے قیمت کی چلتی اوسط اور اوسط قیمتوں کا استعمال کرتی ہے ، اور سگنل کے معیار کو بہتر بنانے کے لئے ایک کثیر مرحلہ کی توثیقی میکانزم ڈیزائن کرتی ہے۔ حکمت عملی میں معقول اسٹاپ نقصان اور منافع حاصل کرنے کی ترتیبات بھی شامل ہیں۔ کوڈ کے لحاظ سے ، حکمت عملی کا منطق بہت جامع ہے ، جس کے نفاذ کے لئے صرف 20+ لائنوں کے پائین اسکرپٹ کی ضرورت ہے۔ خلاصہ میں ، یہ حکمت عملی سیکھنے کی ایک بہت اچھی مثال ہے ، ابتدائی افراد اسے مقداری تجارتی حکمت عملیوں کو سمجھنے کے لئے ایک بہت ہی اچھے نقطہ اغاز کے طور پر استعمال کرسکتے ہیں۔ یقینا ، حکمت عملی خود ہی تجارتی قدر بھی رکھتی ہے۔ پیرامیٹر کی اصلاح اور فنکشن کی توسیع کے ذریعے ، یہ شور اور رجحانات سے بچنے کے لئے ایک عملی ٹریڈنگ ٹریک سسٹم بن سکتی ہے۔
/*backtest start: 2023-12-03 00:00:00 end: 2024-01-02 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title = "Simple Price Momentum", shorttitle = "SPM", overlay = true, initial_capital = 20000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, commission_value = 0.025) // How To Create A Simple Trading Strategy With TradingView // https://docs.google.com/document/d/1fXxCtPuGgTXb-RuBJNbwlfgkeiLTK5060LfTrzRlr5k/view swmaClose = swma(close) vwapClose = vwap(close) swmaLong = close > swmaClose vwapLong = close > vwapClose triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1] saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1] startLong = saveLong and swmaLong startLong := input(false, "Consecutive Orders") ? startLong : startLong and not startLong[1] stopLoss = input(250, "Stop Loss", step = 50) takeProfit = input(10, "Reward/Risk") * stopLoss strategy.entry("Open Long", strategy.long, when = startLong) strategy.exit("Exit Long", "Open Long", profit = stopLoss, loss = takeProfit) // bgcolor(swmaLong ? color.blue : na) // bgcolor(vwapLong ? color.orange : na) // bgcolor(triggerLong ? color.purple : na) // bgcolor(saveLong ? color.yellow : na) bgcolor(startLong[1] ? color.green : na)