
یہ حکمت عملی ایک مخلوط مقداری تجارتی طریقہ ہے جس میں تکنیکی اشارے کی فاصلہ کی پیمائش اور MACD الٹ سگنل شامل ہیں۔ یہ ایک جامع حکمت عملی تشکیل دیتا ہے جو رجحان کی حرکیات کو پکڑنے کے ساتھ ساتھ ممکنہ الٹ کی شناخت کرنے کے لئے MACD اشارے کے کراس سگنل کے ساتھ مل کر موجودہ مارکیٹ کی حالت اور پیش وضاحتی بیل اور بیئر کے مرکز کے درمیان اوکلریڈ فاصلے کا حساب لگاتا ہے۔ اس حکمت عملی کی خاص بات یہ ہے کہ متعدد تکنیکی اشارے (ای ایم اے ، اتار چڑھاؤ کی شرح ، حرکت پذیری ، آر ایس آئی اور ایم اے سی ڈی) کو ایک ساتھ جوڑ کر خصوصیت والے ویکٹر ، جو ریاضیاتی طور پر مارکیٹ کی حالت اور پیش وضاحتی شرائط کی مماثلت کی پیمائش کرتے ہیں ، تاکہ زیادہ درست تجارتی سگنل پیدا کریں۔
اس حکمت عملی کے بنیادی اصول دو اہم میکانزم پر مبنی ہیں:
فاصلے کی پیمائش کا طریقہ کارحکمت عملی نے پہلے 6 تکنیکی اشارے پر مشتمل ایک خصوصیت ویکٹر بنایا ، جس میں قیمت ای ایم اے ، اتار چڑھاؤ کی شرح ، حرکیات ، آر ایس آئی ، ایم اے سی ڈی لائن اور ایم اے سی ڈی کالم گراف شامل ہیں۔ اس کے ساتھ ہی ، بیل مارکیٹ اور ریچھ مارکیٹ میں دو مرکزی نقطہ ویکٹر کی پیش وضاحتی ہے ، جو بالترتیب بڑھتے ہوئے اور گرنے کے رجحان میں مارکیٹ کی مثالی حالت کی نمائندگی کرتے ہیں۔ موجودہ مارکیٹ کی حیثیت کے ویکٹر اور ان دو مرکزی نقطہ ویکٹر کے مابین یورو میل کے فاصلے کا حساب کتاب کرکے ، حکمت عملی یہ فیصلہ کرسکتی ہے کہ موجودہ مارکیٹ کس ریاست کے قریب ہے۔
MACD کراس سگنل میکانزم: دوسری سطح کی تصدیق کے طور پر ، حکمت عملی مارکیٹ کی حرکیات کی تبدیلی کا فیصلہ کرنے کے لئے MACD اشارے کے کراس سگنل کا استعمال کرتی ہے۔ MACD لائن لائن کو خریدنے کے لئے سمجھا جاتا ہے ، جبکہ MACD لائن لائن کو فروخت کرنے کے لئے سمجھا جاتا ہے۔
ان دونوں میکانزموں کے امتزاج سے دوہری تصدیق کا نظام تشکیل دیا گیا ہے: ایک طرف مارکیٹ کے مجموعی رجحانات کا فیصلہ فاصلاتی پیمائش کے ذریعہ کیا جاتا ہے ، اور دوسری طرف مختصر مدت میں متحرک تبدیلیوں کا فیصلہ MACD کراسنگ کے ذریعہ کیا جاتا ہے۔ حکمت عملی دونوں میکانزموں کی مشترکہ تصدیق کا استعمال کرسکتی ہے ((فاصلاتی پیمائش اور MACD ایک ہی وقت میں ایک ہی سگنل دیتے ہیں) ، یا کسی بھی میکانزم کے ذریعہ آزادانہ طور پر پیدا ہونے والے سگنل کی بنیاد پر تجارت کی جاسکتی ہے ، جس سے سگنل کی تنوع اور گرفت کے مواقع کی تعدد میں اضافہ ہوتا ہے۔
کثیر جہتی مارکیٹ کی حالت کا جائزہ: متعدد تکنیکی اشارے کو ایک خصوصیت ویکٹر میں جوڑ کر ، حکمت عملی مارکیٹ کی حالت کو متعدد جہتوں سے جانچنے کے قابل بناتی ہے ، نہ کہ صرف ایک ہی اشارے پر انحصار کرتی ہے ، جس سے جھوٹے سگنل کا خطرہ کم ہوتا ہے۔
لچکدار سگنل جنریٹرحکمت عملی: فاصلے کی پیمائش اور MACD کراسنگ دونوں میکانزموں کا استعمال کرتے ہوئے سگنل پیدا کرنے والی حکمت عملی ، رجحان سازی میں مستقل حرکیات کو پکڑنے کے ساتھ ساتھ ممکنہ الٹ پوائنٹس کی بروقت نشاندہی کرنے کے لئے ، زیادہ لچکدار ہے۔
ریاضی کے ماڈل کی معروضیت: اوکلریڈ فاصلے کا حساب کتاب مارکیٹ کی حالت کا جائزہ لینے کے لئے ایک معروضی ، ریاضیاتی طریقہ فراہم کرتا ہے ، جس میں فیصلہ کن عوامل کا اثر کم ہوتا ہے۔
خود کار طریقے سے صفائی کا نظام: حکمت عملی نئے سگنل کی پیداوار پر خود کار طریقے سے مخالف سمت میں پوزیشنوں کو صاف کرتی ہے ، جس سے تیزی سے بدلتے ہوئے مارکیٹوں کے مطابق بروقت نقصان کو روکنے اور پوزیشن کی سمت تبدیل کرنے میں مدد ملتی ہے۔
کارکردگی کی نگرانی کی خصوصیات: حکمت عملی میں ٹریڈنگ منافع اور نقصان کی نگرانی اور نمائش کی خصوصیات شامل ہیں ، جو حکمت عملی کی کارکردگی کا حقیقی وقت میں جائزہ لینے اور ضروری پیرامیٹرز کو ایڈجسٹ کرنے میں مدد فراہم کرتی ہیں۔
پیرامیٹر کی حساسیت کا خطرہ: حکمت عملی میں استعمال ہونے والے ای ایم اے ، آر ایس آئی اور ایم اے سی ڈی جیسے اشارے مخصوص پیرامیٹرز کی ترتیب پر منحصر ہیں۔ اگر یہ پیرامیٹرز موجودہ مارکیٹ کے حالات کے لئے موزوں نہیں ہیں تو ، غلط سگنل کی پیداوار کا سبب بن سکتا ہے۔ اس کا حل یہ ہے کہ پیرامیٹرز کا بہترین مجموعہ تلاش کرنے کے لئے بیک اپ کیا جائے اور پیرامیٹرز کی تاثیر کا باقاعدگی سے دوبارہ جائزہ لیا جائے۔
زیادہ تجارت کا خطرہچونکہ حکمت عملی دو مختلف میکانزموں پر مبنی سگنل کو آزادانہ طور پر پیدا کرسکتی ہے ، لہذا زیادہ اتار چڑھاؤ والی مارکیٹوں میں غیر ضروری تجارت کو کم کرنے کے لئے سگنل فلٹرنگ میکانزم کو شامل کرکے یا سگنل جنریشن منطق کو ایڈجسٹ کرکے غیر ضروری تجارت کو کم کیا جاسکتا ہے۔
رجحانات اور الٹا فیصلہ: کچھ مارکیٹ کے حالات میں ، فاصلے کی پیمائش اور ایم اے سی ڈی سگنل متضاد ہدایات دے سکتے ہیں ، جس سے حکمت عملی کا رویہ متضاد ہوجاتا ہے۔ واضح سگنل کی ترجیح کے قواعد قائم کرنے یا اضافی تصدیق کے طریقہ کار متعارف کرانے کی تجویز ہے۔
مرکزی نقطہ کی ترتیب کی جامدیت: موجودہ حکمت عملی میں بیل اور ریچھ کی مارکیٹ کے مرکزی نقطہ کے کچھ پیرامیٹرز جامد ہیں ((جیسے آر ایس آئی کی قیمت) ، جو تمام مارکیٹ کے حالات کے مطابق نہیں ہوسکتے ہیں۔ آپ کو اپنے آپ کو ایڈجسٹ کرنے کا طریقہ کار متعارف کرانے پر غور کرنا چاہئے ، جو تاریخی اعداد و شمار کے مطابق مرکزی نقطہ کی پوزیشن کو متحرک طور پر ایڈجسٹ کرے گا۔
ایک وقت کے فریم کی حدود: حکمت عملی صرف ایک ہی وقت کے فریم میں چلتی ہے ، اس سے بڑے یا چھوٹے وقت کے فریموں میں اہم سگنل کو یاد کیا جاسکتا ہے۔ متعدد وقت کے فریموں میں حکمت عملی کو بڑھانے پر غور کرنے سے سگنل کی وشوسنییتا میں اضافہ ہوسکتا ہے۔
مرکز کے نقطہ ڈیزائن کے مطابق: موجودہ بیل اور ریچھ کی مارکیٹ کے مرکز کے نقطہ کے جزوی پیرامیٹرز فکسڈ ہیں ، جو متحرک مرکز کے طور پر بہتر ہوسکتے ہیں جو تاریخی اعداد و شمار پر مبنی خود کار طریقے سے حساب کتاب کرتے ہیں۔ مثال کے طور پر ، ماضی کے N ادوار کے اعداد و شمار کا استعمال کرتے ہوئے مثالی بیل اور ریچھ کی مارکیٹ کی حالت کا تعین کیا جاسکتا ہے ، تاکہ مرکز کے نقطہ کو مارکیٹ کے حالات میں خود بخود ایڈجسٹ کیا جاسکے۔
سگنل کی ترجیح اور فلٹرنگ: مارکیٹ کے ماحول پر مبنی سگنل ترجیحی نظام متعارف کروانا ، جیسے اعلی تعدد کے ماحول میں ریورس سگنل کو ترجیح دینا ، کم تعدد کے رجحان کے واضح ماحول میں فاصلے کی پیمائش کے سگنل کو ترجیح دینا۔ اس کے ساتھ ہی ، تعدد یا تبادلہ کی مقدار پر مبنی سگنل فلٹرز کو شامل کیا جاسکتا ہے ، تاکہ شور سگنل کو کم کیا جاسکے۔
سٹاپ نقصان اور منافع کے اہداف کا طریقہ کار: موجودہ حکمت عملی میں واضح اسٹاپ نقصان اور منافع کے اہداف کی ترتیب کا فقدان ہے ، جس میں اے ٹی آر یا فکسڈ فیصد پر مبنی اسٹاپ نقصان کے طریقہ کار کو شامل کیا جاسکتا ہے ، اور سپورٹ / مزاحمت کی سطح یا رسک ریٹرن پر مبنی منافع کے اہداف کی ترتیب۔
ملٹی ٹائم فریم تجزیہ انٹیگریشن: سگنل کی وشوسنییتا کو بڑھانے کے لئے ، وسیع تر ٹائم فریموں کی رجحاناتی معلومات کو موجودہ حکمت عملی میں ضم کریں ، مثال کے طور پر ، گھنٹہ وار تجارتی سگنل صرف اس صورت میں عملدرآمد کریں جب سورج کی لکیری رجحانات کی سمت میں ہو۔
خصوصیت وزن کی متحرک ایڈجسٹمنٹ: خصوصیت ویکٹر میں مختلف اشارے کے لئے متحرک وزن مختص کریں ، مختلف مارکیٹ کے حالات میں ہر اشارے کی پیش گوئی کی صلاحیت کے مطابق خود بخود اس کے اثر کو ایڈجسٹ کریں ، فاصلے کے حساب کتاب کی درستگی کو بہتر بنائیں۔
مشین سیکھنے میں اضافہ: مرکز کے مقام یا خصوصیت کے وزن کو بہتر بنانے کے لئے سادہ مشین لرننگ الگورتھم کو متعارف کرانے پر غور کیا جاسکتا ہے ، یہاں تک کہ بازار کی متعدد ریاستوں کے مرکز کے مقامات کو خود بخود ڈھونڈنے کے لئے کلسٹرنگ الگورتھم کا استعمال کیا جاسکتا ہے ، نہ کہ صرف سادہ بیل اور ریچھ کی دو ریاستوں کے لئے۔
تکنیکی اشارے فاصلے کی پیمائش اور MACD ریورس ہائبرڈ کوانٹومیٹڈ ٹریڈنگ اسٹریٹجی ایک جدید کوانٹومیٹڈ ٹریڈنگ طریقہ ہے جس میں متعدد عام طور پر استعمال ہونے والے تکنیکی اشارے کو یوروکلریٹ فاصلے کے حساب کتاب کی تکنیک کے ذریعہ مارکیٹ کی حالت کی تشخیص کے ایک مربوط نظام میں ضم کیا گیا ہے ، اور MACD کراس سگنل کے ساتھ مل کر دوہری تصدیق کا طریقہ کار تشکیل دیا گیا ہے۔ یہ طریقہ کار جاری رجحانات میں حرکیات کو پکڑنے کے ساتھ ساتھ ممکنہ مارکیٹ ریورس پوائنٹس کی نشاندہی کرنے کے قابل ہے ، جس میں مضبوط موافقت اور لچک ہے۔
اس حکمت عملی کے بنیادی فوائد اس کی کثیر جہتی مارکیٹ کی تشخیص کی صلاحیت اور ریاضیاتی ماڈل کی معروضیت پر مبنی ہیں ، لیکن اس میں پیرامیٹرز کی حساسیت ، زیادہ تجارت اور سگنل تنازعات جیسے خطرات کا بھی سامنا کرنا پڑتا ہے۔ اس حکمت عملی میں خود سے موافقت پذیر مرکز نقطہ ڈیزائن ، سگنل کی ترجیح کے نظام کو بہتر بنانے ، اسٹاپس کے طریقہ کار کو بڑھانے ، ملٹی ٹائم فریم تجزیہ کو مربوط کرنے اور مشین لرننگ ٹکنالوجی کو لاگو کرنے کے ذریعے بہت زیادہ اصلاح اور اپ گریڈ کی گنجائش ہے۔
یہ حکمت عملی ، جو ریاضیاتی ماڈل کے ساتھ روایتی تکنیکی تجزیہ کے طریقوں کو جوڑتی ہے ، کوانٹم ٹریڈرز کے لئے ایک قابل دریافت نئی سمت پیش کرتی ہے ، خاص طور پر ان تاجروں کے لئے جو حکمت عملی کی وضاحت کو برقرار رکھتے ہوئے تجارتی فیصلوں کی غیرجانبداریت کو بڑھانا چاہتے ہیں۔
/*backtest
start: 2024-04-15 00:00:00
end: 2024-12-31 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Bysq-Distance Reversal Entry - BTCUSDT (v6)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10, margin_long=0, margin_short=0)
// ========== FEATURE ENGINEERING ==========
price = close
priceNorm = ta.ema(price, 5)
volatility = ta.stdev(price, 20)
momentum = ta.ema(close - close[5], 5)
rsi = ta.rsi(close, 14)
macdLine = ta.ema(close, 12) - ta.ema(close, 26)
signalLine = ta.ema(macdLine, 9)
macdHist = macdLine - signalLine
// Fitur sebagai vector
featureVector = array.new_float(6)
array.set(featureVector, 0, priceNorm)
array.set(featureVector, 1, volatility)
array.set(featureVector, 2, momentum)
array.set(featureVector, 3, rsi)
array.set(featureVector, 4, macdLine)
array.set(featureVector, 5, macdHist)
// Centroid bullish
bullishCentroid = array.new_float(6)
array.set(bullishCentroid, 0, price)
array.set(bullishCentroid, 1, volatility)
array.set(bullishCentroid, 2, momentum)
array.set(bullishCentroid, 3, 60.0)
array.set(bullishCentroid, 4, macdLine)
array.set(bullishCentroid, 5, macdHist)
// Centroid bearish
bearishCentroid = array.new_float(6)
array.set(bearishCentroid, 0, price)
array.set(bearishCentroid, 1, volatility)
array.set(bearishCentroid, 2, momentum)
array.set(bearishCentroid, 3, 40.0)
array.set(bearishCentroid, 4, macdLine)
array.set(bearishCentroid, 5, macdHist)
// Fungsi Euclidean Distance
euclideanDistance(arr1, arr2) =>
dist = 0.0
for i = 0 to array.size(arr1) - 1
a = array.get(arr1, i)
b = array.get(arr2, i)
dist += math.pow((a - b), 2)
math.sqrt(dist)
// Hitung jarak ke centroid
distToBullish = euclideanDistance(featureVector, bullishCentroid)
distToBearish = euclideanDistance(featureVector, bearishCentroid)
// ========== SINYAL ==========
// Original distance strategy signals
isDistanceBuySignal = distToBullish < distToBearish and ta.crossover(macdLine, signalLine)
isDistanceSellSignal = distToBearish < distToBullish and ta.crossunder(macdLine, signalLine)
// Reversal strategy signals
isReversalBuySignal = ta.crossover(macdLine, signalLine)
isReversalSellSignal = ta.crossunder(macdLine, signalLine)
// Combined signals - using both strategies
isBuySignal = isDistanceBuySignal or isReversalBuySignal
isSellSignal = isDistanceSellSignal or isReversalSellSignal
// ========== EKSEKUSI ==========
if isBuySignal
strategy.close("Sell") // Close any sell position first (from reversal strategy)
strategy.entry("Buy", strategy.long)
if isSellSignal
strategy.close("Buy") // Close any buy position first (from reversal strategy)
strategy.entry("Sell", strategy.short)
// ========== METRIK KINERJA ==========
float lastOpenTradeProfit = na
if strategy.opentrades > 0
lastOpenTradeProfit := strategy.opentrades.profit(strategy.opentrades - 1)
float lastClosedTradeProfit = na
if strategy.closedtrades > 0
lastClosedTradeProfit := strategy.closedtrades.profit(strategy.closedtrades - 1)
// Plot info
plot(lastOpenTradeProfit, title="Last Open Trade Profit", color=color.blue)
plot(lastClosedTradeProfit, title="Last Closed Trade Profit", color=color.orange)