
ایک کثیر جہتی فریکوئینسی رجحان خود کار طریقے سے ایڈجسٹ ٹریڈنگ سسٹم فریکوئینسی پر مبنی ایک مقداری ٹریڈنگ حکمت عملی ہے، جس کا مرکز سی ای ٹی پی پلس اشارے ہے، جس میں شانن فریکوئینسی پیمائش فریکوئینسی گراف ماڈل میں “ترتیب” ہے۔ یہ نظام ایک ہی درجہ بندی میں انڈیکس کے حالیہ وزن کے اصول کو ضم کرتا ہے (EMA) ، نسبتا strong مضبوط فریکوئینسی اشارے (RSI) ، اوسط حقیقی حد (ATR) ، اتار چڑھاؤ سکیننگ اور اوسط سمت اشارے (ADX) کی رجحان کی طاقت (ADX) ۔ یہ منفرد طریقہ کار متعدد اشارے کی پیچیدگی کو ختم کرنے سے بچتا ہے ، جبکہ ابتدائی رجحانات کی جانچ پڑتال کی درستگی اور فریکوئینسی ٹریڈنگ کی توازن کو بہتر بناتا ہے۔ سی ای ٹی پی پلس کو فریکوئینسی کے مقابلے میں فریکوئینسی گراف کے ذریعے تین جہتی چارٹ میں تبدیل کرنے کی ضرورت ہے (فریکوئینسی کی شرح) ۔
اس حکمت عملی کا بنیادی اصول یہ ہے کہ شینن کوٹ کو مالیاتی منڈیوں کے گرافک ماڈل تجزیہ میں لاگو کیا جائے۔ شینن کوٹ انفارمیشن تھیوری سے ماخوذ ہے ، جو بے ترتیب متغیر کی غیر یقینی صورتحال یا “ہنگامہ آرائی” کی مقدار کے لئے استعمال کیا جاتا ہے۔ اس حکمت عملی میں ، کوٹ کو مندرجہ ذیل طریقوں سے حساب کتاب اور لاگو کیا گیا ہے:
حتمی سی ای ٹی پی اسکور ان عوامل کی ایک جامع مصنوعہ ہے ، مثبت قیمتوں میں تیزی کی طرف مائل ہوتا ہے ، اور منفی قیمتوں میں کمی کی طرف مائل ہوتا ہے۔ تجارت کا منطق آسان اور سیدھا ہے: سی ای ٹی پی اسکور مقررہ مثبت حد سے زیادہ ہونے پر زیادہ کریں ، منفی حد سے کم ہونے پر خالی کریں۔ چھوٹے کاروبار سے بچنے کے لئے ، حکمت عملی میں کم سے کم قیمتوں میں منتقل ہونے والے فلٹر شامل کیے گئے ہیں ، تاکہ یہ یقینی بنایا جاسکے کہ موجودہ فلٹرنگ چارٹ میں تجارت کو متحرک کرنے کے لئے کافی حد ہے۔ فیصد اسٹاپ نقصان ، اے ٹی آر ضارب اور ٹریکنگ اسٹاپ نقصان کے ذریعہ رسک مینجمنٹ کا نفاذ۔
انٹیگریشن سگنلسی ای ٹی پی پلس اشارے متعدد روایتی اشارے (ای ایم اے ، آر ایس آئی ، اے ٹی آر ، اے ڈی ایکس) کے فوائد کو جوڑتا ہے ، جس سے اشارے کے تصادم اور ضرورت سے زیادہ فٹ ہونے کے خطرے سے بچنے کے لئے ایک واحد ، واضح تجارتی سگنل فراہم کیا جاتا ہے۔
لچکدار: حکمت عملی مارکیٹ کے حالات کے مطابق خود کار طریقے سے ایڈجسٹ کرنے کی صلاحیت رکھتی ہے ، مختلف اتار چڑھاؤ والے ماحول اور رجحان کی طاقت کو اپنانے کے ل. ، اور بغیر کسی دستی مداخلت کے متعدد مارکیٹ ریاستوں میں اچھی کارکردگی کا مظاہرہ کرسکتی ہے۔
ہم آہنگی سے زیادہ خالی علاجاس حکمت عملی کے تحت ، ایک ہی وزن کو ایک ہی قیمت پر دیا گیا ہے ، جس کی وجہ سے یہ بیل مارکیٹ اور ریچھ مارکیٹ دونوں میں مؤثر طریقے سے کام کرسکتا ہے ، اور اس کی وجہ سے اس کی سمت پر کوئی اثر نہیں پڑتا ہے۔
ابتدائی رجحانات کی شناخت: مارکیٹ کے ڈھانچے میں تبدیلیوں کو پکڑنے کے لئے ، روایتی اشارے سے پہلے رجحانات کی ابتدائی تشکیل کی نشاندہی کرنے کے قابل ، اور بہتر انٹری ٹائمنگ فراہم کرنے کے لئے۔
شور کے اثرات کو کم کرنااس حکمت عملی کے ذریعے، حقیقی سگنل کو مارکیٹ کے شور سے الگ کیا جا سکتا ہے اور جھوٹے سگنل کو کم کیا جا سکتا ہے۔
حسب ضرورت: بہت سارے پیرامیٹرز کو مختلف تجارتی اقسام اور ٹائم فریموں کے مطابق بہتر بنایا جاسکتا ہے ، جس سے حکمت عملی میں بہت زیادہ لچک اور موافقت پیدا ہوتی ہے۔
مکمل خطرے کا انتظام: ایک مربوط کثیر سطحی رسک کنٹرول میکانزم ، جس میں فی صد کی روک تھام ، اے ٹی آر پر مبنی متحرک روک تھام اور ٹریکنگ کی روک تھام ، اور کم سے کم ٹریڈنگ فلٹرز ، جو واپسی کو مؤثر طریقے سے کنٹرول کرتے ہیں۔
پیرامیٹر کی حساسیت: حکمت عملی میں متعدد ایڈجسٹ پیرامیٹرز شامل ہیں ، جس میں ضرورت سے زیادہ اصلاح کی وجہ سے جسمانی تجارت میں خراب کارکردگی کا سامنا کرنا پڑ سکتا ہے۔ مختلف مارکیٹ کے حالات میں مختلف پیرامیٹرز کی ترتیب کی ضرورت ہوسکتی ہے ، جس سے نظام کی بحالی پیچیدہ ہوجاتی ہے۔
ہائی فریکوئینسی ٹریڈنگ کے خطراتاس حکمت عملی کے نتیجے میں خاص طور پر زیادہ اتار چڑھاؤ والی منڈیوں میں بہت سارے تجارتی اشارے پیدا ہوسکتے ہیں ، جس کی وجہ سے زیادہ تجارت ، کمیشن کی لاگت میں اضافہ اور پوائنٹس میں اضافہ ہوتا ہے۔
حساب کی پیچیدگی: 3D rectangular چارٹ باکس اور کالم کے حساب سے ریئل ٹائم پر عملدرآمد میں اعلی کمپیوٹنگ وسائل کی ضرورت ہوسکتی ہے، جس میں خاص طور پر مختصر وقت کے فریموں پر عملدرآمد میں تاخیر کا سبب بن سکتا ہے.
الگورتھم کا خطرہحکمت عملی اس مفروضے پر مبنی ہے کہ روبوٹ مارکیٹ کے نمونوں کو مؤثر طریقے سے پکڑ سکتے ہیں ، لیکن مارکیٹ کا ڈھانچہ وقت کے ساتھ بدل سکتا ہے ، جس سے یہ مفروضہ غلط ہوجاتا ہے۔
متغیر انحصارحکمت عملی: اتار چڑھاؤ کے فلٹر اور کم سے کم قیمت کے فلٹر کا استعمال کرتے ہوئے ، کم اتار چڑھاؤ والے ماحول میں تجارت کے مواقع سے محروم ہوسکتے ہیں ، اور اعلی اتار چڑھاؤ والے ماحول میں زیادہ حساس ہوسکتے ہیں۔
تاریخی مطابقت کا خطرہ: اگرچہ حکمت عملی میں متعدد اشارے کے فوائد شامل ہیں ، اس کے باوجود تاریخی اعداد و شمار کے زیادہ فٹ ہونے کا خطرہ ہے ، جس سے مارکیٹ کے حالات میں آنے والی تبدیلیوں سے کارکردگی میں کمی واقع ہوسکتی ہے۔
حل میں شامل ہیں: پیرامیٹرز کو باقاعدگی سے دوبارہ بہتر بنانا ، پیرامیٹرز کی استحکام کی توثیق کرنے کے لئے قدم بہ قدم جانچ کا استعمال کرنا ، زیادہ سخت فلٹرنگ شرائط کو لاگو کرنا تاکہ تجارت کی تعدد کو کم کیا جاسکے ، تصدیق کی شرائط کو بڑھانا تاکہ سگنل کے معیار کو بہتر بنایا جاسکے ، اور ریئل ٹائم مانیٹرنگ سسٹم کی کارکردگی کو ایڈجسٹ کرنا۔
موافقت پذیر پیرامیٹرز کا طریقہ کار: پیرامیٹرز کو متحرک طور پر ایڈجسٹ کرنا ، مارکیٹ میں اتار چڑھاؤ ، تجارت کے حجم اور رجحان کی طاقت کے مطابق سی ای ٹی پی ونڈو ، قیمت اور وزن کو خود بخود بہتر بنانا۔ اس اصلاح سے نظام کو مارکیٹ کے بدلتے حالات کے مطابق بہتر طور پر اپنانے میں مدد مل سکتی ہے ، جس سے دستی مداخلت کی ضرورت کم ہوجاتی ہے۔
ملٹی ٹائم فریم تجزیہ انٹیگریشن: مختلف ٹائم فریموں کے سی ای ٹی پی سگنل کو مربوط کریں ، درجہ بندی کی تصدیق کا نظام بنائیں۔ مثال کے طور پر ، صرف اعلی ٹائم فریم سگنل اور ٹریڈنگ ٹائم فریم سگنل کے موافق ہونے پر ہی تجارت انجام دیں ، جیت کی شرح میں اضافہ کریں۔
مشین سیکھنے میں اضافہ: مشین لرننگ الگورتھم متعارف کروانا پیرامیٹرز کے انتخاب اور سگنل فلٹرنگ کو بہتر بنائیں۔ نگرانی سیکھنے کے ذریعے بہترین کارکردگی کا مظاہرہ کرنے والے پیرامیٹرز کا مجموعہ پہچانیں ، یا مارکیٹ کی مختلف حالتوں کو پہچاننے اور اس کے مطابق حکمت عملی کو ایڈجسٹ کرنے کے لئے کلسٹرنگ الگورتھم کا استعمال کریں۔
لیکویڈیٹی اور حجم فلٹر: حجم اور مارکیٹ کی گہرائی کی بنیاد پر فلٹرز شامل کریں ، اس بات کو یقینی بنائیں کہ صرف لیکویڈیٹی کے حالات میں ہی تجارت کی جائے ، جس سے سلائڈ پوائنٹس اور عملدرآمد کا خطرہ کم ہوجائے۔
کثیر اثاثہ وابستگی تجزیہ: متعلقہ منڈیوں (جیسے انڈیکس ، متعلقہ اسٹاک یا اجناس) کی معلومات کو مربوط کرنا ، جب متعدد متعلقہ منڈیوں میں متفقہ سگنل ہوتے ہیں تو تجارت کی یقین دہانی کو بڑھانا۔
اتار چڑھاؤ کی پیشن گوئی کا ماڈل: اتار چڑھاؤ کی پیشن گوئی کے اجزاء تیار کریں ، اور آنے والے اتار چڑھاؤ والے ماحول کی تیاری کے لئے پہلے سے ہی قیمتوں اور خطرے کے پیرامیٹرز کو ایڈجسٹ کریں۔
آٹومیشن اور اصلاحی فریم ورک: خودکار نظام قائم کریں ، حکمت عملی کو نئے اعداد و شمار کے ساتھ باقاعدگی سے دوبارہ جانچیں اور پیرامیٹرز کو تازہ ترین مارکیٹ کے طرز عمل کے مطابق ایڈجسٹ کریں ، اس بات کو یقینی بنائیں کہ حکمت عملی موافقت پذیر رہے۔
مندرجہ بالا اصلاحات کا مقصد حکمت عملی کی استحکام ، موافقت اور منافع بخش صلاحیت کو بہتر بنانا ہے ، جبکہ انسانی مداخلت کی ضرورت اور ضرورت سے زیادہ موافقت کے خطرات کو کم کرنا ہے۔ ان اصلاحات کو قدم بہ قدم نافذ کرنے سے ، ایک زیادہ ذہین اور خود مختار تجارتی نظام بنایا جاسکتا ہے۔
کثیر جہتی فاریکس ٹریڈنگ سسٹم کی نقل و حرکت کا رجحان خود کو اپنانے والا ٹریڈنگ سسٹم ایک جدید مقداری تجارتی طریقہ کی نمائندگی کرتا ہے ، جس میں انفارمیشن تھیوری میں فاریکس کے تصورات کو قیمتوں کے نمونوں میں ترتیب اور پیش گوئی کو پکڑنے کے لئے لاگو کیا جاتا ہے۔ اس حکمت عملی کا بنیادی فائدہ یہ ہے کہ اس میں متعدد روایتی تکنیکی اشارے کے ریاضیاتی اصولوں کو مربوط کیا گیا ہے ، جس سے ایک واحد ، واضح تجارتی سگنل پیدا ہوتا ہے ، جس سے اشارے کے تنازعات اور سگنل کی الجھن سے بچا جاتا ہے۔ CETP-Plus اشارے تین جہتی عمودی گراف باکس اور فاریکس کے حساب سے ، متحرک انحراف ، رجحان کی طاقت اور اتار چڑھاؤ کو ایڈجسٹ کرنے کے ساتھ مل کر ، ابتدائی رجحانات کی شناخت اور توازن کے لئے کثیر جہتی تجارتی مواقع فراہم کرتا ہے۔
اگرچہ اس حکمت عملی میں مضبوط موافقت اور خطرے کے انتظام کی خصوصیات ہیں ، لیکن اس میں پیرامیٹرز کی حساسیت ، حساب کی پیچیدگی اور مارکیٹ کے ڈھانچے میں تبدیلی جیسے چیلنجوں کا بھی سامنا کرنا پڑتا ہے۔ تجویز کردہ اصلاح کی سمت کو نافذ کرکے ، جیسے موافقت پذیر پیرامیٹرز میکانزم ، ملٹی ٹائم فریم تجزیہ اور مشین لرننگ میں اضافہ ، حکمت عملی کی استحکام اور طویل مدتی کارکردگی کو مزید بہتر بنایا جاسکتا ہے۔
مجموعی طور پر ، یہ ایک نظریاتی بنیاد پر مضبوط ، نفیس ڈیزائن کردہ ، اور ایک اعلی اتار چڑھاؤ والی مارکیٹ میں استعمال کے ل programming پروگرامنگ اور اعدادوشمار کے پس منظر والے تاجروں کے لئے ایک قابل قدر تجارتی نظام ہے۔ محتاط پیرامیٹرز کی اصلاح اور مسلسل سسٹم کی نگرانی کے ذریعہ ، اس حکمت عملی میں مارکیٹ کے مختلف ماحول میں مستحکم رسک ایڈجسٹمنٹ ریٹرن پیدا کرنے کی صلاحیت ہے۔
/*backtest
start: 2024-08-11 00:00:00
end: 2025-08-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
// @version=6
strategy("Canuck Trading Traders Strategy [Candle Entropy Edition]", overlay=true, default_qty_value = 10)
// Note: Set Properties "Order size" to "100% of equity" for equity-based sizing or fixed contracts (e.g., 100).
// === CETP-Plus Settings ===
cetp_window = input.int(5, "CETP Window", minval=1, maxval=20, group="CETP-Plus Settings")
cetp_bins = input.int(3, "CETP Bins per Dimension", minval=1, maxval=10, group="CETP-Plus Settings")
long_threshold = input.float(0.1, "Long Threshold", minval=0.01, maxval=5.0, step=0.01, group="CETP-Plus Settings")
short_threshold = input.float(-0.1, "Short Threshold", minval=-0.8, maxval=-0.01, step=0.01, group="CETP-Plus Settings")
cetp_k = input.float(0.8, "CETP Momentum Weight", minval=0.1, maxval=5.0, step=0.1, group="CETP-Plus Settings")
mom_scale = input.float(6.0, "Momentum Scale", minval=1.0, maxval=20.0, step=1.0, group="CETP-Plus Settings")
body_weight = input.float(1.0, "Body Ratio Weight", minval=0.0, maxval=2.0, step=0.1, group="CETP-Plus Settings")
upper_weight = input.float(0.8, "Upper Wick Ratio Weight", minval=0.0, maxval=2.0, step=0.1, group="CETP-Plus Settings")
lower_weight = input.float(1.0, "Lower Wick Ratio Weight", minval=0.0, maxval=2.0, step=0.1, group="CETP-Plus Settings")
decay_factor = 0.8 // Hardcoded decay for exponential weighting (recent candles weighted more)
// === Trade Settings ===
min_score_strength = input.float(0.03, "Min CETP Score Strength", minval=0.0, maxval=5, step=0.01, group="Trade Settings")
stop_loss_pct = input.float(0.5, "Stop Loss (%)", minval=0.1, maxval=5.0, step=0.1, group="Trade Settings")
atr_mult = input.float(3.0, "ATR Multiplier", minval=0.5, maxval=10.0, step=0.1, group="Trade Settings")
trail_mult = input.float(5.0, "Trailing ATR Mult", minval=0.5, maxval=10.0, step=0.1, group="Trade Settings")
trail_offset_pct = input.float(1.0, "Trail Start Offset (%)", minval=0.5, maxval=10.0, step=0.1, group="Trade Settings")
min_price_move_mult = input.float(2.0, "Min Price Move ATR Mult (to avoid tiny trades)", minval=0.5, maxval=10.0, step=0.1, group="Trade Settings") // Filter tiny moves
// Indicators (ATR for stops/trails only)
atr = nz(ta.atr(14), 0.0)
// Volatility Filter (CV < 15% to avoid chop)
vol_threshold = ta.stdev(close, 20) / ta.sma(close, 20) * 100
trade_allowed = vol_threshold < 15.0
// Minimum Price Move Filter (candle range > ATR multiple, floored by min tick)
min_price_move = math.max(atr * min_price_move_mult, syminfo.mintick * 10) // Avoid sub-penny moves; 10x tick for robustness
price_move_condition = (high - low) > min_price_move // Fixed: Use high - low instead of ta.range()
// CETP-Plus Calculation (Blended EMA, RSI, ATR, ADX theses)
epsilon = 1e-5
body_ratio = (close - open) / (high - low + epsilon) * body_weight
upper_wick_ratio = (high - math.max(open, close)) / (high - low + epsilon) * upper_weight
lower_wick_ratio = (math.min(open, close) - low) / (high - low + epsilon) * lower_weight
// EMA-like weighting: Exponentially weight recent candles with fixed-size rolling arrays
var float[] body_arr = array.new_float(cetp_window, 0.0)
var float[] upper_arr = array.new_float(cetp_window, 0.0)
var float[] lower_arr = array.new_float(cetp_window, 0.0)
// Shift and decay older values, add new at the end
for i = 0 to cetp_window - 2
array.set(body_arr, i, array.get(body_arr, i + 1) * decay_factor)
array.set(upper_arr, i, array.get(upper_arr, i + 1) * decay_factor)
array.set(lower_arr, i, array.get(lower_arr, i + 1) * decay_factor)
array.set(body_arr, cetp_window - 1, body_ratio)
array.set(upper_arr, cetp_window - 1, upper_wick_ratio)
array.set(lower_arr, cetp_window - 1, lower_wick_ratio)
// Volatility scaling (ATR thesis)
bin_size = 2.0 / cetp_bins * (1 + atr / ta.sma(atr, 14))
hist_size = cetp_bins * cetp_bins * cetp_bins
var int[] hist = array.new_int(hist_size, 0)
array.fill(hist, 0)
for i = 0 to cetp_window - 1
body_val = array.get(body_arr, i)
upper_val = array.get(upper_arr, i)
lower_val = array.get(lower_arr, i)
body_bin = math.max(0, math.min(cetp_bins - 1, math.floor((body_val + 1) / bin_size)))
upper_bin = math.max(0, math.min(cetp_bins - 1, math.floor((upper_val + 1) / bin_size)))
lower_bin = math.max(0, math.min(cetp_bins - 1, math.floor((lower_val + 1) / bin_size)))
bin_idx = body_bin * (cetp_bins * cetp_bins) + upper_bin * cetp_bins + lower_bin
array.set(hist, bin_idx, array.get(hist, bin_idx) + 1)
entropy = 0.0
for i = 0 to hist_size - 1
count = array.get(hist, i)
p = count / cetp_window
if p > 0
entropy := entropy - p * math.log(p)
max_entropy = math.log(hist_size)
norm_entropy = max_entropy > 0 ? entropy / max_entropy : 0.0
// RSI-like momentum bias
avg_gain = ta.rma(math.max(close - close[1], 0), cetp_window)
avg_loss = ta.rma(math.max(close[1] - close, 0), cetp_window)
rsi_bias = avg_loss > 0 ? avg_gain / avg_loss : 1.0
momentum = ta.mom(close, cetp_window) / (close[cetp_window] != 0 ? close[cetp_window] : 1e-5)
momentum_adj = momentum * (1 + rsi_bias)
// ADX-like trend strength (automated and symmetric for bull/bear)
di_plus = ta.rma(math.max(high - high[1], 0), cetp_window) / atr
di_minus = ta.rma(math.max(low[1] - low, 0), cetp_window) / atr
trend_strength = di_plus > di_minus ? 1.2 : (di_minus > di_plus ? 1.2 : 1.0)
// CETP-Plus Score (optimized: no abs on momentum_adj to preserve sign for better short detection)
avg_body = nz(array.avg(body_arr), 0.0)
raw_score = avg_body * (1 - norm_entropy) * (cetp_k + momentum_adj * mom_scale)
cetp_score = nz(raw_score * trend_strength, 0.0)
// Position State
var float entry_price = na
var int bars_held = 0
if barstate.isconfirmed
bars_held := strategy.position_size != 0 ? bars_held + 1 : 0
// Trade Logic: Rely solely on current CETP score for entries/exits/reversals, with min price move filter
if bar_index >= cetp_window and math.abs(cetp_score) > min_score_strength and trade_allowed and price_move_condition
if cetp_score > long_threshold
if strategy.position_size < 0
strategy.close("Short", comment="Reverse to Long")
if strategy.position_size <= 0
strategy.entry("Long", strategy.long)
entry_price := close
sl = entry_price * (1 - stop_loss_pct / 100) - atr * atr_mult
strategy.exit("Long Exit", "Long", stop=sl, trail_points=atr * trail_mult * syminfo.pointvalue, trail_offset=entry_price * (trail_offset_pct / 100))
bars_held := 1
else if cetp_score < short_threshold
if strategy.position_size > 0
strategy.close("Long", comment="Reverse to Short")
if strategy.position_size >= 0
strategy.entry("Short", strategy.short)
entry_price := close
sl = entry_price * (1 + stop_loss_pct / 100) + atr * atr_mult
strategy.exit("Short Exit", "Short", stop=sl, trail_points=atr * trail_mult * syminfo.pointvalue, trail_offset=entry_price * (trail_offset_pct / 100))
bars_held := 1