متحرک سانٹا کلاز رجعت کی حکمت عملی ایک مقداری تجارتی حکمت عملی ہے جو قیمت اور بار انڈیکس کے مابین متحرک رجعت کے تعلقات کی بنیاد پر ممکنہ داخلے اور باہر نکلنے کے مقامات کی نشاندہی کرتی ہے۔ یہ حکمت عملی قیمتوں کی رجعت رجحان لائن کو نقش کرنے کے لئے متحرک طور پر سایڈست حرکت پذیر اوسط پیرامیٹر کا استعمال کرتی ہے۔ رجعت لائن کی سمت کا تجزیہ کرکے ، یہ طے کرتا ہے کہ آیا پوزیشنوں میں داخل ہونا ہے یا باہر نکلنا ہے۔
اس حکمت عملی کا بنیادی مقصد قیمت اور بار انڈیکس کے مابین لکیری رجعت کے تعلقات کا حساب لگانا ہے۔ یہ پہلے لمبائی N کے سادہ چلنے والے اوسط اور معیاری انحراف کا حساب لگاتا ہے۔ پھر نمونہ ارتباط کے گتانک اور معیاری انحراف کے تناسب کی بنیاد پر ، یہ رجعت لائن کی ڈھلوان k اور ب کاٹتا ہے۔ اس کے نتیجے میں متحرک طور پر ایڈجسٹ لکیری رجعت مساوات:
y = kx + b
جہاں x بار انڈیکس ہے، اور y قیمت ہے.
رجعت کی لکیر کی موجودہ اور پچھلی اقدار کے درمیان طول و عرض کے تعلق کے مطابق ، رجحان کی سمت کا تعین کیا جاتا ہے۔ اگر رجعت کی لکیر بڑھ رہی ہے اور اختتامی قیمت افتتاحی قیمت اور پچھلے لمحے کی سب سے زیادہ قیمت سے زیادہ ہے تو ، خرید کا سگنل تیار کیا جاتا ہے۔ اگر رجعت کی لکیر گر جاتی ہے اور اختتامی قیمت افتتاحی قیمت اور پچھلے لمحے کی سب سے کم قیمت سے کم ہے تو ، فروخت کا سگنل تیار کیا جاتا ہے۔
غلط N قدر کی ترتیب رجسٹریشن لائن بہت ہموار یا حساس ہو سکتا ہے
قلیل مدت میں قیمتوں کی اتار چڑھاؤ، رجعت کے تعلقات کا فیصلہ ناکام
انگوٹی تناسب صرف وقت میں ایک نقطہ پر غور کرتا ہے اور مقامی انتہا کو یاد کر سکتے ہیں
متحرک سانٹا کلاز رجعت کی حکمت عملی قیمت اور وقت کے مابین متحرک رجعت کے تعلقات کو استعمال کرتی ہے تاکہ لچکدار ، بدیہی اور سایڈست مقداری تجارتی نظام کو نافذ کیا جاسکے۔ اس حکمت عملی کا منطق واضح اور سمجھنے میں آسان ہے۔ پیرامیٹر کی اصلاح کے ذریعہ ، اسے مختلف تجارتی مصنوعات اور سائیکلوں پر لاگو کیا جاسکتا ہے۔ اس حکمت عملی کی جدت طرازی متحرک ماڈل قائم کرنے کے لئے وقت کے عوامل کے تعارف میں ہے ، جس سے فیصلے زیادہ رجحان پذیر ہوجاتے ہیں۔ خلاصہ یہ ہے کہ ، یہ حکمت عملی مقداری تجارت کے لئے ایک قابل قدر نمونہ فراہم کرتی ہے۔
/*backtest start: 2023-01-05 00:00:00 end: 2024-01-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // Creator - TradeAI strategy('Moving Santa Claus Strategy | TradeAI', overlay=true) // Set the length of the moving average length = input(64) // Calculate the moving averages and standard deviations x = bar_index y = close x_ = ta.sma(x, length) y_ = ta.sma(y, length) mx = ta.stdev(x, length) my = ta.stdev(y, length) c = ta.correlation(x, y, length) slope = c * (my / mx) // Calculate the parameters of the regression line inter = y_ - slope * x_ reg = x * slope + inter // Set the line color based on whether EMA is moving up or down var color lineColor = na if (reg > reg[1] and (close > open and close > high[1])) lineColor := color.new(#d8f7ff, 0) if (reg < reg[1] and (close < open and close < low[1])) lineColor := color.new(#ff383b, 0) // Plot the EMA line with different thicknesses plot(reg, color=lineColor, title="EMA") var color lineColorrr = na if (reg > reg[1] and (close > open and close > high[1])) lineColorrr := color.new(#d8f7ff, 77) if (reg < reg[1] and (close < open and close < low[1])) lineColorrr := color.new(#ff383b, 77) plot(reg, color=lineColorrr, title="EMA", linewidth=5) var color lineColorr = na if (reg > reg[1] and (close > open and close > high[1])) lineColorr := color.new(#d8f7ff, 93) if (reg < reg[1] and (close < open and close < low[1])) lineColorr := color.new(#ff383b, 93) plot(reg, color=lineColorr, title="EMA", linewidth=10) var color lineColorrrr = na if (reg > reg[1] and (close > open and close > high[1])) lineColorrrr := color.new(#d8f7ff, 97) if (reg < reg[1] and (close < open and close < low[1])) lineColorrrr := color.new(#ff383b, 97) plot(reg, color=lineColorr, title="EMA", linewidth=15) var color lineColorrrrr = na if (reg > reg[1] and (close > open and close > high[1])) lineColorrrrr := color.new(#d8f7ff, 99) if (reg < reg[1] and (close < open and close < low[1])) lineColorrrrr := color.new(#ff383b, 99) plot(reg, color=lineColorr, title="EMA", linewidth=20) // Implement trading strategy based on EMA direction if reg > reg[1] and (close > open and close > high[1]) strategy.entry('buy', strategy.long) if reg < reg[1] and (close < open and close < low[1]) strategy.close('buy')