স্কেলযোগ্যতার সাথে ব্রেকআউট ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১০-৩০ ১৭ঃ২৫ঃ১৭
ট্যাগঃ

img

সারসংক্ষেপ

স্কেলযোগ্য ব্রেকআউট ট্রেডিং কৌশলটি যখন দামের ওঠানামা দ্বারা চিহ্নিত মূল সমর্থন এবং প্রতিরোধের স্তরগুলির মধ্য দিয়ে দামটি ভেঙে যায় তখন ট্রেডিং সংকেত উত্পন্ন করে। এটি একটি অত্যন্ত নমনীয় এবং প্রসারিত ব্রেকআউট কৌশল। পরামিতিগুলি সামঞ্জস্য করে কৌশলটি বিভিন্ন সময়সীমার সাথে খাপ খাইয়ে নেওয়া যেতে পারে এবং অপ্টিমাইজেশনের জন্য অতিরিক্ত ফিল্টার এবং ঝুঁকি পরিচালনার প্রক্রিয়াগুলি সহজেই সংহত করতে পারে।

এটি কিভাবে কাজ করে

কৌশলটি প্রথমে ব্যবহার করেswings()ফাংশন lookback সময়ের উপর ভিত্তি করে সুইং উচ্চ এবং নিম্ন গণনা করতে।swingLookbackলং সিগন্যাল সক্রিয় হয় যখন দাম সুইং হাইয়ের উপরে ভেঙে যায়, এবং শর্ট সিগন্যাল সক্রিয় হয় যখন দাম সুইং নিচে ভেঙে যায়।

বিশেষত, একটি দীর্ঘ সংকেত যখন বন্ধের মূল্য সুইং উচ্চ মূল্যের চেয়ে বেশি বা সমান হয় তখন একটি দীর্ঘ সংকেত সক্রিয় হয়। একটি সংক্ষিপ্ত সংকেত যখন বন্ধের মূল্য সুইং নিম্ন মূল্যের চেয়ে কম বা সমান হয় তখন সক্রিয় হয়।

এই কৌশলটি একটি স্টপ লক্ষ্য নির্ধারণ করেstopTargetPercentস্টপ লস লেভেল নির্ধারণের জন্য একটি পরামিতি। উদাহরণস্বরূপ, লং স্টপ লসটি সুইং হাইয়ের 5% নীচে এবং শর্ট স্টপ লসটি সুইং লোয়ের 5% উপরে সেট করা যেতে পারে।

এই কৌশলটির সুবিধা হ'ল ট্রেড ফ্রিকোয়েন্সি নিয়ন্ত্রণের জন্য লুকব্যাক পিরিয়ড সামঞ্জস্য করার নমনীয়তা। একটি সংক্ষিপ্ত লুকব্যাক পিরিয়ড এটি ব্রেকআউটের প্রতি আরও সংবেদনশীল করে তোলে এবং ট্রেড ফ্রিকোয়েন্সি বাড়ায়। একটি দীর্ঘ লুকব্যাক পিরিয়ড সংবেদনশীলতা এবং ট্রেড ফ্রিকোয়েন্সি হ্রাস করে তবে সুযোগগুলি মিস করতে পারে। কৌশলটি অনুকূল করার জন্য সর্বোত্তম লুকব্যাক পিরিয়ড খুঁজে পাওয়া গুরুত্বপূর্ণ।

সুবিধা

  • সহজ ব্রেকআউট লজিক, বোঝা এবং বাস্তবায়ন করা সহজ
  • পুনর্বিবেচনার সময়কাল প্যারামিটারগুলিকে অনুকূল করতে এবং বাণিজ্যের ফ্রিকোয়েন্সি নিয়ন্ত্রণ করতে দেয়
  • সহজেই স্টপ লস, ট্রেলিং স্টপ এবং অন্যান্য ঝুঁকি ব্যবস্থাপনা একীভূত করে
  • ফিল্টার যোগ এবং লাভজনকতা উন্নত করতে অত্যন্ত প্রসারিত
  • ইনট্রা ডে বা সুইং ট্রেডিংয়ের জন্য যে কোন সময়সীমার জন্য প্রযোজ্য

ঝুঁকি এবং হ্রাস

  • খুব ছোট রিপ্লেক্স পিরিয়ড ওভারট্রেডিং হতে পারে
  • খুব দীর্ঘ সময় ব্যাকপ্যাক ট্রেডিং সুযোগ মিস করতে পারে
  • খুব বড় স্টপ লস লাভের সম্ভাবনা হ্রাস করে
  • স্টপ লস খুব শক্ত হতে পারে প্রায়ই বন্ধ করা

হ্রাসঃ

  • সর্বোত্তম পরামিতি খুঁজে পেতে বিভিন্ন lookback সময়ের পরীক্ষা
  • লাভের তুলনায় ঝুঁকি নিয়ন্ত্রণের ভারসাম্য বজায় রাখার জন্য স্টপ লস স্তরটি অনুকূল করুন
  • মুনাফা লক করার জন্য ট্রেলিং স্টপ বা চ্যান্ডেলিয়ার প্রস্থান যোগ করুন
  • ট্রেডিং সিগন্যালের গুণমান উন্নত করতে ফিল্টার যোগ করুন
  • ব্যাকটেস্টিং এর মাধ্যমে প্যারামিটার অপ্টিমাইজ করুন

উন্নতির সুযোগ

কৌশলটি বিভিন্ন উপায়ে উন্নত করা যেতে পারে:

  1. সর্বোত্তম পরামিতিগুলি খুঁজে পেতে বিভিন্ন লুকব্যাক সময়ের মান পরীক্ষা করুন।

  2. সেরা সময়সীমা নির্ধারণের জন্য 5 মি, 15 মি, 1 ঘন্টা মত বিভিন্ন সময়সীমা পরীক্ষা করুন।

  3. লাভের সম্ভাবনা এবং ঝুঁকি ব্যবস্থাপনার মধ্যে ভারসাম্য বজায় রাখতে স্টপ লস শতাংশকে অনুকূল করুন।

  4. ভলিউম, ভোল্টেবিলিটি এর মতো ফিল্টার যুক্ত করুন নিম্নমানের সেটআপ হ্রাস করতে।

  5. ঝুঁকি ব্যবস্থাপনার আরও ব্যবস্থা গ্রহণ করুন যেমন, ট্রেলিং স্টপ, মুনাফা গ্রহণ।

  6. ওয়াক ফরওয়ার্ড বিশ্লেষণ এবং মেশিন লার্নিং এর মাধ্যমে প্যারামিটার অপ্টিমাইজেশান।

  7. পরামিতিগুলির স্বয়ংক্রিয় অপ্টিমাইজেশনের জন্য এআই / মেশিন লার্নিং প্রবর্তন করুন।

সিদ্ধান্ত

স্কেলযোগ্য ব্রেকআউট ট্রেডিং কৌশল একটি শক্তিশালী এবং কাস্টমাইজযোগ্য ব্রেকআউট সিস্টেম। এটি ব্যবহার করা সহজ এবং লুকব্যাক সামঞ্জস্য এবং ফিল্টার যুক্ত করে অত্যন্ত অভিযোজিত। এটি ঝুঁকি নিয়ন্ত্রণের জন্য সহজেই ঝুঁকি ব্যবস্থাপনাকে একীভূত করতে পারে। প্যারামিটার অপ্টিমাইজেশন এবং মেশিন লার্নিং সংহতকরণের সাথে, কৌশলটি পরিবর্তিত বাজারের সাথে খাপ খাইয়ে নেওয়ার জন্য সময়ের সাথে সাথে বিকশিত হতে পারে। সামগ্রিকভাবে, এটি একটি প্রস্তাবিত সর্বজনীন ব্রেকআউট কৌশল।


/*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")

আরো