স্কেলযোগ্য ব্রেকআউট ট্রেডিং কৌশলটি যখন দামের ওঠানামা দ্বারা চিহ্নিত মূল সমর্থন এবং প্রতিরোধের স্তরগুলির মধ্য দিয়ে দামটি ভেঙে যায় তখন ট্রেডিং সংকেত উত্পন্ন করে। এটি একটি অত্যন্ত নমনীয় এবং প্রসারিত ব্রেকআউট কৌশল। পরামিতিগুলি সামঞ্জস্য করে কৌশলটি বিভিন্ন সময়সীমার সাথে খাপ খাইয়ে নেওয়া যেতে পারে এবং অপ্টিমাইজেশনের জন্য অতিরিক্ত ফিল্টার এবং ঝুঁকি পরিচালনার প্রক্রিয়াগুলি সহজেই সংহত করতে পারে।
কৌশলটি প্রথমে ব্যবহার করেswings()
ফাংশন lookback সময়ের উপর ভিত্তি করে সুইং উচ্চ এবং নিম্ন গণনা করতে।swingLookback
লং সিগন্যাল সক্রিয় হয় যখন দাম সুইং হাইয়ের উপরে ভেঙে যায়, এবং শর্ট সিগন্যাল সক্রিয় হয় যখন দাম সুইং নিচে ভেঙে যায়।
বিশেষত, একটি দীর্ঘ সংকেত যখন বন্ধের মূল্য সুইং উচ্চ মূল্যের চেয়ে বেশি বা সমান হয় তখন একটি দীর্ঘ সংকেত সক্রিয় হয়। একটি সংক্ষিপ্ত সংকেত যখন বন্ধের মূল্য সুইং নিম্ন মূল্যের চেয়ে কম বা সমান হয় তখন সক্রিয় হয়।
এই কৌশলটি একটি স্টপ লক্ষ্য নির্ধারণ করেstopTargetPercent
স্টপ লস লেভেল নির্ধারণের জন্য একটি পরামিতি। উদাহরণস্বরূপ, লং স্টপ লসটি সুইং হাইয়ের 5% নীচে এবং শর্ট স্টপ লসটি সুইং লোয়ের 5% উপরে সেট করা যেতে পারে।
এই কৌশলটির সুবিধা হ'ল ট্রেড ফ্রিকোয়েন্সি নিয়ন্ত্রণের জন্য লুকব্যাক পিরিয়ড সামঞ্জস্য করার নমনীয়তা। একটি সংক্ষিপ্ত লুকব্যাক পিরিয়ড এটি ব্রেকআউটের প্রতি আরও সংবেদনশীল করে তোলে এবং ট্রেড ফ্রিকোয়েন্সি বাড়ায়। একটি দীর্ঘ লুকব্যাক পিরিয়ড সংবেদনশীলতা এবং ট্রেড ফ্রিকোয়েন্সি হ্রাস করে তবে সুযোগগুলি মিস করতে পারে। কৌশলটি অনুকূল করার জন্য সর্বোত্তম লুকব্যাক পিরিয়ড খুঁজে পাওয়া গুরুত্বপূর্ণ।
হ্রাসঃ
কৌশলটি বিভিন্ন উপায়ে উন্নত করা যেতে পারে:
সর্বোত্তম পরামিতিগুলি খুঁজে পেতে বিভিন্ন লুকব্যাক সময়ের মান পরীক্ষা করুন।
সেরা সময়সীমা নির্ধারণের জন্য 5 মি, 15 মি, 1 ঘন্টা মত বিভিন্ন সময়সীমা পরীক্ষা করুন।
লাভের সম্ভাবনা এবং ঝুঁকি ব্যবস্থাপনার মধ্যে ভারসাম্য বজায় রাখতে স্টপ লস শতাংশকে অনুকূল করুন।
ভলিউম, ভোল্টেবিলিটি এর মতো ফিল্টার যুক্ত করুন নিম্নমানের সেটআপ হ্রাস করতে।
ঝুঁকি ব্যবস্থাপনার আরও ব্যবস্থা গ্রহণ করুন যেমন, ট্রেলিং স্টপ, মুনাফা গ্রহণ।
ওয়াক ফরওয়ার্ড বিশ্লেষণ এবং মেশিন লার্নিং এর মাধ্যমে প্যারামিটার অপ্টিমাইজেশান।
পরামিতিগুলির স্বয়ংক্রিয় অপ্টিমাইজেশনের জন্য এআই / মেশিন লার্নিং প্রবর্তন করুন।
স্কেলযোগ্য ব্রেকআউট ট্রেডিং কৌশল একটি শক্তিশালী এবং কাস্টমাইজযোগ্য ব্রেকআউট সিস্টেম। এটি ব্যবহার করা সহজ এবং লুকব্যাক সামঞ্জস্য এবং ফিল্টার যুক্ত করে অত্যন্ত অভিযোজিত। এটি ঝুঁকি নিয়ন্ত্রণের জন্য সহজেই ঝুঁকি ব্যবস্থাপনাকে একীভূত করতে পারে। প্যারামিটার অপ্টিমাইজেশন এবং মেশিন লার্নিং সংহতকরণের সাথে, কৌশলটি পরিবর্তিত বাজারের সাথে খাপ খাইয়ে নেওয়ার জন্য সময়ের সাথে সাথে বিকশিত হতে পারে। সামগ্রিকভাবে, এটি একটি প্রস্তাবিত সর্বজনীন ব্রেকআউট কৌশল।
/*backtest start: 2023-09-29 00:00:00 end: 2023-10-29 00:00:00 period: 1h basePeriod: 15m 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/ // © deperp //@version=5 // strategy("Range Breaker", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent, commission_value=0.07, pyramiding=0) // Backtest Time Period useDateFilter = input.bool(true, title="Begin Backtest at Start Date", group="Backtest Time Period") backtestStartDate = input(timestamp("1 Jan 2020"), title="Start Date", group="Backtest Time Period", tooltip="This start date is in the time zone of the exchange " + "where the chart's instrument trades. It doesn't use the time " + "zone of the chart or of your computer.") inTradeWindow = true swingLookback = input.int(20, title="Swing Lookback", minval=3) stopTargetPercent = input.float(5, title="Stop Target Percentage", step=0.1) // Calculate lockback swings swings(len) => var highIndex = bar_index var lowIndex = bar_index var swingHigh = float(na) var swingLow = float(na) upper = ta.highest(len) lower = ta.lowest(len) if high[len] > upper highIndex := bar_index[len] swingHigh := high[len] if low[len] < lower lowIndex := bar_index[len] swingLow := low[len] [swingHigh, swingLow, highIndex, lowIndex] // Strategy logic [swingHigh, swingLow, highIndex, lowIndex] = swings(swingLookback) longCondition = inTradeWindow and (ta.crossover(close, swingHigh)) shortCondition = inTradeWindow and (ta.crossunder(close, swingLow)) if longCondition strategy.entry("Long", strategy.long) if shortCondition strategy.entry("Short", strategy.short) longStopTarget = close * (1 + stopTargetPercent / 100) shortStopTarget = close * (1 - stopTargetPercent / 100) strategy.exit("Long Stop Target", "Long", limit=longStopTarget) strategy.exit("Short Stop Target", "Short", limit=shortStopTarget) // Plot break lines // line.new(x1=highIndex, y1=swingHigh, x2=bar_index, y2=swingHigh, color=color.rgb(255, 82, 82, 48), width=3, xloc=xloc.bar_index, extend=extend.right) // line.new(x1=lowIndex, y1=swingLow, x2=bar_index, y2=swingLow, color=color.rgb(76, 175, 79, 47), width=3, xloc=xloc.bar_index, extend=extend.right) // Alert conditions for entry and exit longEntryCondition = inTradeWindow and (ta.crossover(close, swingHigh)) shortEntryCondition = inTradeWindow and (ta.crossunder(close, swingLow)) longExitCondition = close >= longStopTarget shortExitCondition = close <= shortStopTarget alertcondition(longEntryCondition, title="Long Entry Alert", message="Enter Long Position") alertcondition(shortEntryCondition, title="Short Entry Alert", message="Enter Short Position") alertcondition(longExitCondition, title="Long Exit Alert", message="Exit Long Position") alertcondition(shortExitCondition, title="Short Exit Alert", message="Exit Short Position")