
سی سی آئی متحرک ٹریڈنگ حکمت عملی ایک تکنیکی اشارے پر مبنی ایک مقداری تجارتی نظام ہے جس کا مرکز آئی ایف ٹی سی سی آئی اشارے پر مبنی ہے جو کیوانک ازبیلگیچ نے تیار کیا ہے۔ یہ حکمت عملی خرید و فروخت کے سگنل پیدا کرتی ہے جب اشارے میں -1 سے +1 کے درمیان اتار چڑھاؤ ہوتا ہے۔ یہ خرید و فروخت کے سگنل پیدا کرتا ہے جب اشارے کم سے ((-0.95) کے نیچے سے کسی خاص حد تک ٹوٹ جاتا ہے۔ اس کے علاوہ ، اس حکمت عملی میں ایک متحرک نقصان کا طریقہ کار اور داخلہ کی شرائط بھی شامل ہیں۔ اگر قیمت کسی خاص حد تک 0.1 یونٹ کی حد تک پیچھے کی طرف منتقل ہوجاتی ہے تو ، نظام نقصان کو روکتا ہے یا دوبارہ داخلہ کا آپریشن انجام دیتا ہے۔ یہ حکمت عملی ایک ہیکین ہیکن (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
اس حکمت عملی کے مرکز میں IFTCCI اشارے ہیں، جو مندرجہ ذیل اقدامات کے ذریعے شمار کیے جاتے ہیں:
اس کا حساب کتاب اس طرح ہے:
v1 = 0.1 * (CCI(close, period) / 4)
v2 = WMA(v1, wma_period)
IFTCCI = (e^(2*v2) - 1) / (e^(2*v2) + 1)
حکمت عملی کے نفاذ کی منطق کو مندرجہ ذیل اہم حصوں میں تقسیم کیا گیا ہے:
شرائط خریدنا:
بیچنے کی شرائط:
اسٹیٹس ٹریکنگ:
پوری حکمت عملی میں فیصد فنڈ مینجمنٹ کا استعمال کیا جاتا ہے ، ہر تجارت میں 100٪ دستیاب فنڈ استعمال کیا جاتا ہے ، اور اس میں اضافہ کرنے پر پابندی عائد ہے۔ حکمت عملی ہر K لائن کی تشکیل پر ریئل ٹائم میں سگنل کا حساب لگاتی ہے ، تاکہ مارکیٹ کی متحرک صورتحال کو بروقت انداز میں پکڑ سکے۔
واضح داخلے اور باہر نکلنے کے قواعدحکمت عملی: درست عددی کمی کی بنیاد پر واضح ٹریڈنگ سگنل فراہم کرتا ہے ، جس سے تجارتی فیصلے زیادہ معروضی اور نظم و ضبط سے بچ جاتے ہیں۔
متحرک رسک مینجمنٹ میکانزم: بلٹ میں اسٹاپ نقصان کا طریقہ کار ایک ہی تجارت میں ہونے والے نقصان کو مؤثر طریقے سے محدود کرسکتا ہے ، اور جب مارکیٹ کی الٹ حرکت پہلے سے طے شدہ حد سے زیادہ ہوجاتی ہے تو خود بخود باہر نکل جاتا ہے ، اور فنڈز کی حفاظت کرتا ہے۔
مارکیٹ کی لچک:IFTCCI اشارے مخالف ڈبل منحنی خطوط کے ذریعے تبدیل ہوتا ہے ، جس سے اشارے کی قدر -1 سے + 1 کے درمیان اتار چڑھاؤ کرتی ہے ، جس میں قدرتی یکسانیت کی خصوصیات ہیں ، جو مختلف اتار چڑھاؤ والے مارکیٹ کے ماحول کے لئے موزوں ہیں۔
سگنل کو ہموار کریں ، جعلی توڑنے کو کم کریں: وزن والے موبائل اوسط کا استعمال کرتے ہوئے اصل سی سی آئی کو ہموار کرنے کے لئے ، شور اور جعلی سگنل کو مؤثر طریقے سے کم کیا گیا ہے ، جس سے تجارتی سگنل کی وشوسنییتا میں اضافہ ہوا ہے۔
سمارٹ دوبارہ داخلہجب مارکیٹ میں واپسی کے بعد رجحانات بحال ہوجاتے ہیں تو ، دوبارہ داخل ہونے کا طریقہ کار نظام کو مواقع سے فائدہ اٹھانے اور حکمت عملی کی منافع بخش صلاحیت کو بڑھانے کی اجازت دیتا ہے۔
اچھی طرح سے دکھایا گیاحکمت عملی: چارٹ پر واضح پس منظر کے رنگ کی تبدیلیوں کو ظاہر کرنے کے لئے ، تاجر کو مارکیٹ کی حالت اور تجارتی سگنل کو بصری طور پر سمجھنے میں مدد ملتی ہے۔
پیرامیٹرز ایڈجسٹ: تمام کلیدی پیرامیٹرز کو ان پٹ انٹرفیس کے ذریعے ایڈجسٹ کیا جاسکتا ہے تاکہ حکمت عملی کو مختلف مارکیٹ کے حالات اور ذاتی خطرے کی ترجیحات کے مطابق بنایا جاسکے۔
ہلچل مچانے والی مارکیٹ میں بار بار ہونے والی تجارت: بینڈ وولٹیج مارکیٹوں میں ، اشارے اکثر قیمتوں میں کمی کے قریب اتار چڑھاؤ کا شکار ہوسکتے ہیں ، جس سے متعدد خرید و فروخت کے اشارے پیدا ہوسکتے ہیں ، جس سے زیادہ تجارت اور فیسوں میں خرابی پیدا ہوسکتی ہے۔ حل: اضافی فلٹرنگ شرائط شامل کی جاسکتی ہیں ، جیسے ٹائم فلٹر یا ٹرینڈ فلٹر ، جو اتار چڑھاؤ والی منڈیوں میں تجارت کی فریکوئنسی کو کم کرتی ہے۔
اسٹاپ نقصان کی فکسڈ مقدار کا مسئلہ: موجودہ حکمت عملی ایک مقررہ مقدار ((0.1 یونٹ) کو روکنے کی حد کے طور پر استعمال کرتی ہے ، جو مختلف اتار چڑھاؤ والے مارکیٹ کے ماحول میں بہت زیادہ یا بہت کم ہوسکتی ہے۔ *حل*اسٹاپ ڈسٹینسنگ: اسٹاپ ڈسٹینسنگ کی لمبائی کو ڈیزائن کیا جاسکتا ہے جو مارکیٹ کے حالیہ اتار چڑھاؤ کی متحرک حالت کے مطابق ہے۔
طویل مدتی رجحان کی تصدیق کا فقدانیہ حکمت عملی بنیادی طور پر قلیل مدتی حرکیات پر مبنی ہے اور طویل مدتی رجحانات کے تجزیہ کے ساتھ نہیں ملتی ہے ، جس سے اہم رجحانات کے الٹ جانے پر غیر ضروری تجارت ہوسکتی ہے۔ حل: طویل مدتی رجحان اشارے کو بطور فلٹر متعارف کرایا گیا ہے ، صرف رجحان کی سمت میں تجارت کریں۔
دوبارہ داخلے کے طریقہ کار کا خطرہ: موجودہ دوبارہ داخلہ کا طریقہ کار ایک مقررہ ریبوز کی حد پر مبنی ہے ، جس میں مارکیٹ میں غلط بریک لگنے پر قبل از وقت دوبارہ داخلہ ہوسکتا ہے۔ حل: اضافی تصدیق کی شرائط شامل کریں ، جیسے ترسیل کی تصدیق یا دوسرے تکنیکی اشارے کے لئے ہم آہنگی کا اشارہ۔
واحد اشارے پر انحصارآئی ایف ٹی سی سی آئی کے مطابق ، اس کی حکمت عملی صرف ایک اشارے پر انحصار کرتی ہے اور اس میں کثیر جہتی مارکیٹ تجزیہ کی کمی ہے۔ حل: ایک باہمی معاون اشارے کا ایک مجموعہ متعارف کرایا ، جیسے RSI ، MACD یا اتار چڑھاؤ کی شرح کے اشارے ، جس سے مارکیٹ کی متعدد پہلوؤں کی تصدیق ہوتی ہے۔
ملٹی ٹائم فریم تجزیہ انٹیگریشن: موجودہ حکمت عملی صرف ایک ہی ٹائم فریم پر چلتی ہے ، جس میں کثیر ٹائم فریم تجزیہ کو مربوط کیا جاسکتا ہے ، مثال کے طور پر ، اعلی ٹائم فریم کے IFTCCI اشارے کو ٹریڈنگ سمت کے فلٹر کے طور پر استعمال کرنا ، اور صرف بڑے رجحان کی سمت میں تجارت کرنا۔ اس سے واپسی کی تجارت کو کم کیا جاسکتا ہے اور جیت کی شرح میں اضافہ ہوتا ہے۔
متحرک حد بندی کی اصلاح: ایک مقررہ تھریڈ ((-0.95⁄0.95) کو مارکیٹ میں اتار چڑھاؤ کی متحرک ایڈجسٹمنٹ پر مبنی تھریڈ میں تبدیل کریں۔ کم اتار چڑھاؤ والے ماحول میں ایک تنگ ترنگ استعمال کریں ، اور اعلی اتار چڑھاؤ والے ماحول میں ایک وسیع تر ترنگ استعمال کریں ، تاکہ مارکیٹ کے مختلف حالات میں سگنل کی پیداوار کی ضروریات کو پورا کیا جاسکے۔
مقدار کی تصدیق کا طریقہ کار: ٹرانزیکشن حجم تجزیہ کے اجزاء کو شامل کرنا ، جس میں سگنل کی پیداوار کے وقت نمایاں ٹرانزیکشن حجم کی حمایت کی ضرورت ہوتی ہے ، کم معیار کے بریکٹ سگنل کو فلٹر کرنے اور جھوٹے بریکٹ سے ہونے والے نقصان کو کم کرنے میں مدد ملتی ہے۔
فنڈ مینجمنٹ کی اصلاح: موجودہ حکمت عملی میں پوزیشن مینجمنٹ کے لئے مقررہ فیصد کا استعمال کیا جاتا ہے ، جس میں مارکیٹ میں اتار چڑھاؤ اور جیت کی شرح پر مبنی موافقت پذیر فنڈ مینجمنٹ سسٹم کو بہتر بنایا جاسکتا ہے ، جس میں اعلی یقین دہانی کے اشارے پر پوزیشن میں اضافہ ہوتا ہے ، اور کم یقین دہانی کے اشارے پر پوزیشن میں کمی آتی ہے۔
مشین سیکھنے میں اضافہ: مشین لرننگ الگورتھم کا استعمال کرتے ہوئے آئی ایف ٹی سی سی آئی اشارے کے پیرامیٹرز (سی سی آئی سائیکل اور ڈبلیو ایم اے سائیکل) کو خود بخود بہتر بنانے کے ل. ، مختلف مارکیٹ کے حالات کے مطابق خود بخود بہترین پیرامیٹرز کا مجموعہ ایڈجسٹ کریں ، حکمت عملی کی موافقت کو بہتر بنائیں۔
ٹرانزیکشن وقت فلٹر: ٹریڈنگ ٹائم فلٹرز کو شامل کریں ، مارکیٹ کے کھلنے اور بند ہونے سے پہلے کے اعلی اتار چڑھاؤ کے اوقات سے بچیں ، یا اہم معاشی اعداد و شمار کے اجراء کے اوقات سے بچیں ، اور غیر متوقع اتار چڑھاؤ کو کم کریں جو اچانک واقعات کی وجہ سے پیدا ہوتا ہے۔
ارتباط کا تجزیہ: دوسرے بازاروں یا اثاثوں کے ساتھ وابستگی کا تجزیہ متعارف کرانا ، حکمت عملی کی استحکام کو بڑھانے کے لئے تجارتی سگنل کی وشوسنییتا کو بڑھانا جب متعدد متعلقہ مارکیٹوں میں ایک ہی وقت میں اسی طرح کے اشارے ہوں۔
سی سی آئی کی متحرک ٹریڈنگ حکمت عملی ایک اچھی طرح سے منظم ، منطقی طور پر واضح ، مقداری ٹریڈنگ سسٹم ہے جو IFTCCI اشارے کی کمی کو توڑ کر ٹریڈنگ سگنل تیار کرتا ہے ، اور اس میں خطرے اور مواقع کو سنبھالنے کے لئے اسٹاپ نقصان اور دوبارہ داخلہ کے طریقہ کار سے لیس ہے۔ اس حکمت عملی کے اہم فوائد سگنل کی وضاحت ، خطرے پر قابو پانے کی متحرک اور پیرامیٹرز کی ایڈجسٹمنٹ میں ہیں۔
تاہم ، اس حکمت عملی کو بھی خطرات کا سامنا کرنا پڑتا ہے ، جیسے کہ چونکانے والی مارکیٹوں میں کثرت سے تجارت ، فکسڈ اسٹاپ نقصان کی عدم لچک اور طویل مدتی رجحان کی تصدیق کا فقدان۔ حکمت عملی کی استحکام اور منافع بخش صلاحیت کو نمایاں طور پر بہتر بنانے کے لئے کثیر ٹائم فریم تجزیہ ، متحرک ایڈجسٹمنٹ کی کمی ، ٹرانزیکشن کی تصدیق ، فنڈ مینجمنٹ کو بہتر بنانا ، مشین لرننگ کے اضافے کو متعارف کرانا اور ٹریڈنگ ٹائم فلٹرنگ شامل کرنا شامل ہے۔
اس حکمت عملی کو لاگو کرنے کے خواہاں تاجروں کے لئے ، یہ مشورہ دیا جاتا ہے کہ وہ پہلے ایک تخلیقی ماحول میں مختلف پیرامیٹرز کے مجموعے کی جانچ کریں ، اپنی تجارتی اقسام اور خطرے کی ترجیحات کے لئے بہترین ترتیبات تلاش کریں ، اور آہستہ آہستہ اس مضمون میں تجویز کردہ اصلاحاتی سمتوں کو مربوط کریں ، تاکہ ایک زیادہ جامع اور مضبوط تجارتی نظام تشکیل دیا جاسکے۔
/*backtest
start: 2024-05-27 00:00:00
end: 2025-01-20 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © erkankuskonmaz
//@version=5
strategy("IFTCCI Buy Sell Signal Strategy",
overlay=false,
pyramiding=0,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100,
calc_on_every_tick=true) // NEW LINE: Enables real-time signal generation.
// --- Indicator Settings and Calculations (IFTCCIv2) ---
group_indicator_params = "Indicator Parameters (IFTCCIv2)"
ccilength_param = input.int(5, "CCI Period", group=group_indicator_params)
wmalength_param = input.int(9, title="Smoothing Period (WMA)", group=group_indicator_params)
// IFTCCIv2 Calculation
v1_calc = 0.1 * (ta.cci(close, ccilength_param) / 4)
v2_calc = ta.wma(v1_calc, wmalength_param)
indicator_value_ift = (math.exp(2 * v2_calc) - 1) / (math.exp(2 * v2_calc) + 1)
// --- Strategy Rule Inputs ---
group_entry_rules = "Buy Signal Conditions"
entry_low_prev_max = input.float(-0.95, title="Primary Buy: Previous Bar Max Value", group=group_entry_rules)
entry_low_curr_min = input.float(-0.94, title="Primary Buy: Current Bar Min Value", group=group_entry_rules)
reentry_trigger_units = input.float(0.10, title="Re-entry: Rise from Lowest Value", group=group_entry_rules)
group_exit_rules = "Sell Signal Conditions (Exit Position)"
exit_high_prev_min = input.float(0.95, title="Target Sell: Previous Bar Min Value", group=group_exit_rules)
exit_high_curr_max = input.float(0.94, title="Target Sell: Current Bar Max Value", group=group_exit_rules)
stop_loss_units = input.float(0.10, title="Stop Loss: Drop from Peak Value", group=group_exit_rules)
// --- Indicator Values for Strategy ---
float ind_val = indicator_value_ift
float ind_val_prev = indicator_value_ift[1]
// --- State Tracking Variables ---
var float highest_indicator_since_long_entry = na
var bool track_for_reentry_after_close = false
var float lowest_indicator_since_reentry_tracking_started = na
// --- Update State Logic ---
// 1. Update the highest indicator value since entering long position
if strategy.position_size > 0
if strategy.position_size[1] <= 0
highest_indicator_since_long_entry := ind_val
else
highest_indicator_since_long_entry := math.max(highest_indicator_since_long_entry, ind_val)
else
if strategy.position_size[1] > 0
highest_indicator_since_long_entry := na
// 2. Update re-entry tracking mechanism
if strategy.position_size[1] > 0 and strategy.position_size == 0
track_for_reentry_after_close := true
lowest_indicator_since_reentry_tracking_started := ind_val
else if strategy.position_size > 0
track_for_reentry_after_close := false
lowest_indicator_since_reentry_tracking_started := na
else if track_for_reentry_after_close and strategy.position_size == 0
if not na(lowest_indicator_since_reentry_tracking_started)
lowest_indicator_since_reentry_tracking_started := math.min(lowest_indicator_since_reentry_tracking_started, ind_val)
else
lowest_indicator_since_reentry_tracking_started := ind_val
// --- Buy Conditions (Long Entry) ---
bool can_enter_new_position = strategy.opentrades == 0
// Condition 1: Main Buy Condition
bool condition_main_buy_cross = ind_val_prev <= entry_low_prev_max and ind_val >= entry_low_curr_min
bool main_long_entry_trigger = condition_main_buy_cross and can_enter_new_position
// Condition 2: Re-entry Buy Condition
bool condition_re_entry_trigger = false
if track_for_reentry_after_close and not na(lowest_indicator_since_reentry_tracking_started) and can_enter_new_position
if ind_val >= lowest_indicator_since_reentry_tracking_started + reentry_trigger_units
condition_re_entry_trigger := true
// Combined Buy Condition
bool final_long_entry_condition = main_long_entry_trigger or condition_re_entry_trigger
// --- Sell Conditions (Long Exit) ---
bool currently_in_long_position = strategy.position_size > 0
// Sell Condition 1: Target Sell
bool condition_sell_target = ind_val_prev >= exit_high_prev_min and ind_val <= exit_high_curr_max
// Sell Condition 2: Stop Loss
bool condition_sell_stop_loss = false
if currently_in_long_position and not na(highest_indicator_since_long_entry)
if ind_val <= highest_indicator_since_long_entry - stop_loss_units
condition_sell_stop_loss := true
// Combined Sell Condition
bool final_long_exit_condition = currently_in_long_position and (condition_sell_target or condition_sell_stop_loss)
// --- Strategy Orders ---
if (final_long_entry_condition)
entry_comment = main_long_entry_trigger ? "Buy (Primary)" : "Buy (Re-entry)"
strategy.entry("Buy ID", strategy.long, comment=entry_comment)
if (final_long_exit_condition)
exit_comment = condition_sell_target ? "Sell (Target)" : "Sell (Stop)"
strategy.close("Buy ID", comment=exit_comment)
// --- Plot Indicator and Strategy Markers ---
plot(indicator_value_ift, title="IFTCCI Value", color=color.rgb(0, 0, 0), linewidth=2)
hline(0, "Mid Level", color=color.new(#787b86, 50), linestyle=hline.style_dotted)
hline(0.95, "Upper Reference (+0.95)", color=color.new(#002fff, 10), linestyle=hline.style_dashed)
hline(-0.95, "Lower Reference (-0.95)", color=color.new(#002fff, 10), linestyle=hline.style_dashed)
// Background Coloring on Entry and Exit Signals
color background_color = final_long_entry_condition ? color.new(color.green, 81) : final_long_exit_condition ? color.new(color.red, 81) : na
bgcolor(background_color, title="Signal Background")