یہ حکمت عملی تیز رفتار اوسط ، سست رفتار اوسط ، اور ایم اے سی ڈی اشارے کا حساب کتاب کرکے قیمت کے رجحان کا جائزہ لیتی ہے ، اور سنہری کراس اور مردہ کراس ٹریڈنگ سگنل بناتی ہے۔ یہ منافع میں مقفل ہونے اور رجحان کو مستقل طور پر ٹریک کرنے کے لئے منافع ، اسٹاپ نقصان اور ٹریلنگ اسٹاپ نقصان کو بھی جوڑتی ہے۔
یہ حکمت عملی بنیادی طور پر تین اشارے پر مبنی ہے۔
اس کے علاوہ ، یہ دو تیز رفتار حرکت پذیر اوسط اور دو سست حرکت پذیر اوسط کا حساب لگاتا ہے۔ جب تیز رفتار ایم اے دو سست ایم اے سے اوپر جاتا ہے تو ، ایک خرید کا اشارہ پیدا ہوتا ہے۔ جب تیز رفتار ایم اے دو سست ایم اے سے نیچے جاتا ہے تو ، ایک فروخت کا اشارہ پیدا ہوتا ہے۔ یہ سنہری کراس اور مردہ کراس ٹریڈنگ کا احساس کرنے کے لئے قلیل مدتی اور طویل مدتی رجحانات کے مابین تعلقات کا فیصلہ کرتا ہے۔
دوسرا ، یہ ایم اے سی ڈی اشارے کا حساب لگاتا ہے ، جس میں ایم اے سی ڈی لائن ، سگنل لائن اور ہسٹوگرام شامل ہیں۔ جب ایم اے سی ڈی ہسٹوگرام > 0 ہے تو ، یہ ایک تیزی کا اشارہ ہے؛ جب ایم اے سی ڈی ہسٹوگرام < 0 ہے تو ، یہ ایک bearish اشارہ ہے۔ اس سے سنہری کراس اور مردہ کراس سگنلز کی وشوسنییتا کا فیصلہ کرنے میں مدد ملتی ہے۔
آخر میں ، اس میں منافع ، اسٹاپ نقصان اور ٹریلنگ اسٹاپ نقصان کے طریقہ کار شامل ہیں۔ منافع میں مقفل ہونے اور خطرات پر قابو پانے کے لئے منافع اور اسٹاپ نقصان کے مقامات استعمال کیے جاتے ہیں۔ منافع کو ٹریک کرنے کے لئے ٹریلنگ اسٹاپ نقصان کا استعمال کیا جاتا ہے۔
اس حکمت عملی کے فوائد میں شامل ہیں:
کچھ خطرات بھی ہیں:
حل یہ ہیں:
حکمت عملی کو مندرجہ ذیل پہلوؤں سے بھی بہتر بنایا جاسکتا ہے:
خلاصہ یہ ہے کہ یہ ایک آسان لیکن موثر حکمت عملی ہے جو رجحان کا فیصلہ کرنے اور ٹریلنگ اسٹاپ نقصان کو سمجھنے کے لئے گولڈن کراس ، ڈیڈ کراس اور ایم اے سی ڈی کا استعمال کرتی ہے۔ فوائد اعلی حسب ضرورت کے ساتھ رجحان کی ٹریکنگ اور منافع کو مقفل کرنا ہیں۔ یہ مختلف تجارتی آلات کے لئے موزوں ایک یونیورسل پیرامیٹر کی اصلاح کی حکمت عملی ہے۔ ابھی بھی کچھ خطرات اور اصلاح کی جگہ موجود ہے ، لیکن مجموعی طور پر یہ ایک قابل اعتماد اور عملی تجارتی حکمت عملی ہے۔
/*backtest start: 2023-12-14 00:00:00 end: 2023-12-21 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy('The Puria Method', shorttitle = 'Puria',overlay = true) //=== GENERAL INPUTS === // short ma maFastSource = input(defval = close, title = "Fast MA Source") maFastLength = input(defval = 5, title = "Fast MA Period", minval = 1) // long ma 1 maSlow1Source = input(defval = low, title = "Slow MA1 Source") maSlow1Length = input(defval = 85, title = "Slow MA Period", minval = 1) // long ma 2 maSlow2Source = input(defval = low, title = "Slow MA2 Source") maSlow2Length = input(defval = 75, title = "Slow MA Period", minval = 1) //macd macdFastLength = input(defval = 12, title = "Fast MACD Period", minval = 1) macdSlowLength = input(defval = 26, title = "Slow MACD Period", minval = 1) macdSmaLength = input(defval = 9, title = "SMA MACD Period", minval = 1) // the risk management inputs inpTakeProfit = input(defval = 30, title = "Take Profit", minval = 0) inpStopLoss = input(defval = 10, title = "Stop Loss", minval = 0) inpTrailStop = input(defval = 5, title = "Trailing Stop Loss", minval = 0) inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0) // if an input is less than 1, assuming not wanted so we assign 'na' value to disable it. useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na // === SERIES SETUP === maFast = ema(maFastSource, maFastLength) maSlow1 = wma(maSlow1Source, maSlow1Length) maSlow2 = wma(maSlow2Source, maSlow2Length) [_, signal, histLine] = macd(close, macdFastLength, macdSlowLength, macdSmaLength) // === PLOTTING === fast = plot(maFast, title = "Fast MA", color = green, linewidth = 2, style = line, transp = 50) slow1 = plot(maSlow1, title = "Slow MA1", color = red, linewidth = 2, style = line, transp = 50) slow2 = plot(maSlow2, title = "Slow MA2", color = red, linewidth = 2, style = line, transp = 50) // === LOGIC === signalUp = crossover(maFast, maSlow1) and crossover(maFast, maSlow2) and histLine > 0 signalDown = crossunder(maFast, maSlow1) and crossunder(maFast, maSlow2) and histLine < 0 // ===STRATEGY=== strategy.entry(id = "Long", long = true, when = signalUp) strategy.entry(id = "Short", long = false, when = signalDown) strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset) strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)