এই কৌশলটি একটি বিস্তৃত ট্রেডিং সিস্টেম যা মাল্টি-টাইমফ্রেম বিশ্লেষণ, ফেয়ার ভ্যালু গ্যাপ (এফভিজি) এবং ব্রেক অফ স্ট্রাকচার (বিওএস) একত্রিত করে। এটি স্বল্প সময়ের ফ্রেমগুলিতে ন্যায্য মূল্য ব্যবধানের সুযোগগুলি সন্ধান করার সময় উচ্চতর সময়সীমার উপর কাঠামো ব্রেকআউট সনাক্ত করে সম্ভাব্য ট্রেডিং এন্ট্রিগুলি সনাক্ত করে। কৌশলটিতে স্বয়ংক্রিয় স্টপ-লস এবং লাভ গ্রহণের সেটিংস সহ একটি ঝুঁকি ব্যবস্থাপনা সিস্টেম অন্তর্ভুক্ত রয়েছে।
মূল যুক্তিটি তিনটি প্রধান স্তম্ভের উপর নির্মিতঃ প্রথমত, এটি ব্রেক অফ স্ট্রাকচার (বিওএস) সনাক্ত করতে একটি উচ্চতর সময়সীমা (ডিফল্ট 1 ঘন্টা বা তার বেশি) ব্যবহার করে, যা ট্রেডিং দিকের জন্য মৌলিক কাঠামো সরবরাহ করে। দ্বিতীয়ত, এটি নিম্ন সময়ের ফ্রেমগুলিতে ফেয়ার ভ্যালু গ্যাপস (এফভিজি) সন্ধান করে, সেই অঞ্চলে সম্ভাব্য সরবরাহ-চাহিদা ভারসাম্যহীনতা নির্দেশ করে। অবশেষে, এটি বর্তমান মূল্য অবস্থার সাথে এই শর্তগুলিকে একত্রিত করে যখন দাম অনুকূল অবস্থানে থাকে তখন ট্রেডিং সংকেতগুলি ট্রিগার করে। সিস্টেমটি ঝুঁকি-পুরষ্কার অনুপাত এবং স্টপ-লস ফ্যাক্টরগুলির মাধ্যমে ঝুঁকি পরিচালনা করে।
এই কৌশলটি মাল্টি-টাইমফ্রেম বিশ্লেষণ, মূল্য কাঠামোর ব্রেকআউট এবং ন্যায্য মূল্য ফাঁকগুলির ব্যাপক ব্যবহারের মাধ্যমে একটি সম্পূর্ণ ট্রেডিং সিস্টেম তৈরি করে। এর শক্তিগুলি এর বহু-মাত্রিক বিশ্লেষণ পদ্ধতি এবং বিস্তৃত ঝুঁকি পরিচালনার প্রক্রিয়াগুলিতে রয়েছে, তবে ব্যবসায়ীদের এখনও প্রকৃত বাজারের অবস্থার সাথে সামঞ্জস্য রেখে পরামিতিগুলি অনুকূল করতে এবং ঝুঁকিগুলি নিয়ন্ত্রণ করতে হবে। আরও অপ্টিমাইজেশান সংকেত নিশ্চিতকরণ, গতিশীল পরামিতি সমন্বয় এবং কৌশল স্থিতিশীলতা এবং নির্ভরযোগ্যতা আরও উন্নত করার জন্য বাজার পরিবেশ ফিল্টারিংয়ে ফোকাস করতে পারে।
/*backtest start: 2024-01-17 00:00:00 end: 2025-01-15 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy("ICT Strategy with Historical Backtest", overlay=true) // === Настройки === tf = input.timeframe("60", title="Higher Timeframe (1H or above)") // Таймфрейм для анализа BOS fvg_length = input(3, title="FVG Lookback Length") // Длина для поиска FVG risk_reward = input(2, title="Risk-Reward Ratio") // Риск-вознаграждение show_fvg_boxes = input(true, title="Show FVG Boxes") // Показывать FVG stop_loss_factor = input.float(1.0, title="Stop Loss Factor") // Множитель для стоп-лосса // === Переменные для анализа === var float bos_high = na var float bos_low = na // Получаем данные с более старшего таймфрейма htf_high = request.security(syminfo.tickerid, tf, high) htf_low = request.security(syminfo.tickerid, tf, low) htf_close = request.security(syminfo.tickerid, tf, close) // Определение BOS (Break of Structure) на старшем таймфрейме bos_up = ta.highest(htf_high, fvg_length) > ta.highest(htf_high[1], fvg_length) bos_down = ta.lowest(htf_low, fvg_length) < ta.lowest(htf_low[1], fvg_length) // Обновляем уровни BOS if (bos_up) bos_high := ta.highest(htf_high, fvg_length) if (bos_down) bos_low := ta.lowest(htf_low, fvg_length) // === Определение FVG (Fair Value Gap) === fvg_up = low > high[1] and low[1] > high[2] fvg_down = high < low[1] and high[1] < low[2] // Визуализация FVG (Fair Value Gap) // if (show_fvg_boxes) // if (fvg_up) // box.new(left=bar_index[1], top=high[1], right=bar_index, bottom=low, bgcolor=color.new(color.green, 90), border_color=color.green) // if (fvg_down) // box.new(left=bar_index[1], top=high, right=bar_index, bottom=low[1], bgcolor=color.new(color.red, 90), border_color=color.red) // === Логика сделок === // Условия для входа в Лонг long_condition = bos_up and fvg_up and close < bos_high if (long_condition) strategy.entry("Long", strategy.long, stop=low * stop_loss_factor, limit=low + (high - low) * risk_reward) // Условия для входа в Шорт short_condition = bos_down and fvg_down and close > bos_low if (short_condition) strategy.entry("Short", strategy.short, stop=high * stop_loss_factor, limit=high - (high - low) * risk_reward) // === Надписи для прогнозируемых сделок === if (long_condition) label.new(bar_index, low, text="Potential Long", color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small) if (short_condition) label.new(bar_index, high, text="Potential Short", color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small)