آسسیلیشن کی پیشرفت - مارکیٹ کی ساخت کی تبدیلی کی حکمت عملی (ICT_MSS) ایک رجحان کی پیروی کرنے والی حکمت عملی ہے جو مختلف ٹائم فریم کے مابین تعلقات کا استعمال کرتے ہوئے مارکیٹ کی ساخت کی تبدیلیوں کی نشاندہی کرتی ہے۔ یہ حکمت عملی مارکیٹ کی ساخت کی تبدیلیوں کے لئے سگنل کے طور پر ٹائم فریم تعلقات کا استعمال کرتی ہے تاکہ نئی رجحانات کی سمتوں کو حاصل کیا جاسکے۔
اس حکمت عملی کا بنیادی منطق یہ ہے کہ مختصر وقت کے فریم نیچے اور اوپر کی طرف گھسنے والے نمونوں کو طویل وقت کے فریم مارکیٹ کی ساخت کی تبدیلیوں کے اشارے کے طور پر استعمال کیا جائے۔ خاص طور پر ، حکمت عملی بیک وقت ایک طویل وقت کے فریم (جیسے 60m بار) اور ایک مختصر وقت کے فریم (جیسے 15m بار) کی نگرانی کرتی ہے۔ جب ایک نیچے کی طرف گھسنے والی سرخ بار مختصر وقت کے فریم پر ظاہر ہوتی ہے جبکہ طویل وقت کے فریم بار سبز ہوتا ہے تو ، یہ طے ہوتا ہے کہ مارکیٹ کی ساخت واقع ہوئی ہے اور ایک لمبی شفٹ پوزیشن لی جاتی ہے۔ جب ایک اوپر کی طرف گھسنے والی سبز بار مختصر وقت کے فریم پر ظاہر ہوتی ہے جبکہ طویل وقت کے فریم بار سرخ ہوتا ہے تو ، یہ طے ہوتا ہے کہ مارکیٹ کی ساخت میں تبدیلی واقع ہوئی ہے اور ایک مختصر پوزیشن لی جاتی ہے۔
ایک سمت کی پوزیشن میں داخل ہونے کے بعد ، حکمت عملی خطرے کو کنٹرول کرنے کے لئے اسٹاپ نقصان کو ترتیب دینے کے لئے مختصر ٹائم فریم اعلی / کم کا استعمال کرتی ہے۔ جب طویل ٹائم فریم بار بند ہونے کی قیمت منافع لینے کی سطح تک پہنچ جاتی ہے تو ، حکمت عملی منافع کے لئے پوزیشن کو بند کردے گی۔
اس حکمت عملی کے فوائد یہ ہیں:
قابل اعتماد مارکیٹ ڈھانچہ شفٹ سگنل۔ ٹائم فریم تعلقات کا استعمال ایک ہی ٹائم فریم سے شور سے گمراہ ہونے سے بچتا ہے۔
خود بخود نئی رجحان کی سمت کا تعین کرتا ہے۔ مارکیٹ کی ساخت میں تبدیلیاں دستی فیصلے کی ضرورت کے بغیر خود بخود طویل / مختصر اندراجات کو متحرک کرتی ہیں۔
مؤثر رسک کنٹرول: رسک کنٹرول کے لیے استعمال ہونے والے مختصر ٹائم فریم ہائی/لو ایک ہی تجارت میں ہونے والے نقصان کو محدود کرنے میں مدد ملتی ہے۔
نسبتا better بہتر کھینچنے کا کنٹرول۔ اندراج اور اسٹاپ نقصان کے لئے مختصر ٹائم فریم کے انتہائی استعمال سے کسی حد تک کھینچنے پر قابو پانے میں مدد مل سکتی ہے۔
اس حکمت عملی کے اہم خطرات یہ ہیں:
مارکیٹ کی ساخت کا غلط اندازہ لگانے کا خطرہ۔ جب مختصر وقت کے فریم شور زیادہ ہوتا ہے تو سگنل ناکام ہوسکتے ہیں۔ ٹائم فریم پیرامیٹرز کو ایڈجسٹ کرنے کی ضرورت ہے۔
رجحان کے الٹ جانے کا خطرہ۔ وی کی شکل میں الٹ جانے کے دوران ڈراؤونگ کو کنٹرول کرنے کے لئے حکمت عملی جدوجہد کرتی ہے۔ اسٹاپ نقصان الگورتھم کو بہتر بنانے کی ضرورت ہے۔
پیرامیٹر عدم مطابقت کا خطرہ۔ غلط لمبی / مختصر ٹائم فریم کمبوڈ خراب سگنل کے معیار کا باعث بنتا ہے اور اصلاح کی جانچ کی ضرورت ہوتی ہے۔
حکمت عملی کے لیے مزید اصلاحاتی سمتوں میں شامل ہیں:
رجحان کی تبدیلی کے دوران غلط سگنل سے بچنے کے لئے رجحان فلٹرز شامل کریں.
سگنل کے معیار کو بہتر بنانے کے لیے ٹائم فریم پیرامیٹر میچنگ کو بہتر بنائیں۔
زیادہ سے زیادہ منافع / سٹاپ نقصان کے لئے مشین لرننگ کا استعمال کریں.
اضافی فلٹرز شامل کریں جیسے بڑے ٹائم فریم ٹرینڈ۔
حکمت عملی کے مجموعے کو تشکیل دینے کے لئے حکمت عملی کے متغیرات کو بڑھانا۔
آئی سی ٹی_ ایم ایس ایس حکمت عملی ایک مجموعی طور پر قابل اعتماد رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ مارکیٹ کی ساخت کی تبدیلیوں کی بنیاد پر خود بخود نئی رجحان کی سمت کا تعین کرتی ہے اور اس میں خطرہ کا اچھا کنٹرول بھی شامل ہے۔ اگلے اقدامات سگنل کے معیار کو بہتر بنانے ، باہر نکلنے کو بہتر بنانے ، اور اس کو تجارتی گریڈ کی حکمت عملی بنانے کے لئے الٹ جانے سے روکنے کے ارد گرد مزید بہتری ہیں۔
/*backtest start: 2022-11-28 00:00:00 end: 2023-12-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © jl01794 //@version=5 strategy(title="ICT_MSS[PROTOTYPE]", overlay=true, initial_capital=10000, currency="USD", margin_long=15, margin_short=15, max_lines_count=500) // INPUTS Time_Frame = input.timeframe("60", title="Focused Time Frame") FTF_LTF = input.timeframe("15", title="Focused Time Frame(LTF)") // // SECURITY DATA [FOR ONE TIMEFRAME REFERENCE] FTF_Close = request.security(syminfo.tickerid, Time_Frame, close) FTF_Open = request.security(syminfo.tickerid, Time_Frame, open) FTFLTF_High = request.security(syminfo.tickerid, FTF_LTF, ta.highest(2)) FTFLTF_Low = request.security(syminfo.tickerid, FTF_LTF, ta.lowest(2)) FTFLTF_Close = request.security(syminfo.tickerid, FTF_LTF, close) FTFLTF_Open = request.security(syminfo.tickerid, FTF_LTF, open) // TIME BASED CLOSE AND OPEN _close = FTF_Close _open = FTF_Open _LTFclose = FTFLTF_Close _LTFopen = FTFLTF_Open // CANDLE STATE greenCandle = close > open redCandle = close < open LTFgreenCandle = FTFLTF_Close > FTFLTF_Open LTFredCandle = FTFLTF_Close < FTFLTF_Open // ENGULFING TIMEFRAME REFERENCE FTF_greenCandle = request.security(syminfo.tickerid, Time_Frame, greenCandle) FTF_redCandle = request.security(syminfo.tickerid, Time_Frame, redCandle) FTFLTF_greenCandle = request.security(syminfo.tickerid, FTF_LTF, LTFgreenCandle) FTFLTF_redCandle = request.security(syminfo.tickerid, FTF_LTF, LTFredCandle) //-------------------------------------------------------------------------------------------------------------- //ENGULFING_FTF_LTF B_EnP_mss = FTFLTF_redCandle[1] and // 1E PIVOT BUY FTFLTF_greenCandle // B_EnPs_mss = FTFLTF_greenCandle[1] and // 1E PIVOT SELL FTFLTF_redCandle // //-------------------------------------------------------------------------------------------------------------- display_LTF = timeframe.isintraday and timeframe.multiplier <= 15 //-------------------------------------------------------------------------------------------------------------- // STORED DATAS var float EH_MSS1 = na var float EL_MSS1 = na var bool can_draw = false var line l1_mss = na var line l1s_mss = na //-------------------------------------------------------------------------------------------------------------- // MSS BUY if (B_EnPs_mss) and (display_LTF) EH_MSS1 := FTFLTF_High can_draw := true l1_mss := line.new(bar_index, EH_MSS1, bar_index -3, EH_MSS1, color=color.purple) else if (can_draw) if (FTFLTF_High > EH_MSS1) can_draw := false else line.set_x2(l1_mss, bar_index) // // MSS SELL if (B_EnP_mss) and (display_LTF) EL_MSS1 := FTFLTF_Low can_draw := true l1s_mss := line.new(bar_index, EL_MSS1, bar_index -3, EL_MSS1, color=color.purple) else if (can_draw) if (FTFLTF_Low < EL_MSS1) can_draw := false else line.set_x2(l1s_mss, bar_index) //-------------------------------------------------------------------------------------------------------------- // ORDER // BUY longCondition_mssB = B_EnPs_mss and FTFLTF_High and close and high[1] openOr = FTFLTF_High //SELL shortCondition_mssS = B_EnP_mss and FTFLTF_Low and close and low[1] openOrs = FTFLTF_Low if (longCondition_mssB) strategy.entry("Buy", strategy.long, 1, stop = openOr, when = longCondition_mssB) // if (shortCondition_mssS) strategy.entry("Sell", strategy.short, 1, stop = openOrs, when = shortCondition_mssS) // // EXIT long_tp = open < FTFLTF_Close[1] short_tp = open > FTFLTF_Close[1] //if (long_tp) //strategy.close("Buy", qty_percent = 100, when = long_tp) // //if (short_tp) //strategy.close("Sell", qty_percent = 100, when = short_tp) //