রিসোর্স লোড হচ্ছে... লোডিং...

ডায়নামিক পজিশন ম্যানেজমেন্ট দৈনিক ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

এই কৌশলটি কঠোর ঝুঁকি ব্যবস্থাপনা বজায় রেখে ছোট লাভের লক্ষ্যমাত্রা অর্জনের উপর দৃষ্টি নিবদ্ধ করে একটি ধারাবাহিক দৈনিক ট্রেডিং পদ্ধতি ব্যবহার করে। কৌশলটি 2021 সাল থেকে ব্যাকটেস্ট করা হয়েছে, 100% জয়ের হারের সাথে শক্তিশালী পারফরম্যান্স প্রদর্শন করে। কৌশলটির মূল ধারণাটি পূর্ববর্তী দিনের বাজারের অবস্থার উপর ভিত্তি করে প্রতিটি ট্রেডিং দিনের শুরুতে নতুন লং বা শর্ট পজিশন খোলা। মূল পরামিতিগুলির মধ্যে 0.3% মুনাফা লক্ষ্যমাত্রা এবং 0.2% স্টপ লস অন্তর্ভুক্ত রয়েছে, যার প্রাথমিক মূলধন 1000 ডলার এবং প্রতি বাণিজ্য 0.1% কমিশন।

কৌশলগত নীতি

এই কৌশলটির মূল নীতি হ'ল পূর্ববর্তী ট্রেডিং দিনের বাজারের প্রবণতার উপর ভিত্তি করে প্রতিটি ট্রেডিং দিনের শুরুতে নতুন লং বা শর্ট পজিশন খোলা। বিশেষত, যদি পূর্ববর্তী দিনের কোনও অবস্থান না থাকে তবে কৌশলটি নতুন দিনের শুরুতে একটি লং পজিশন খুলবে। যদি ইতিমধ্যে একটি লং পজিশন থাকে তবে কৌশলটি 0.3% লাভের লক্ষ্যমাত্রা পৌঁছেছে কিনা তা পরীক্ষা করে এবং যদি তা হয় তবে অবস্থানটি বন্ধ করে দেয়। শর্ট পজিশনের জন্য, কৌশলটি 0.2% স্টপ লস হিট হয়েছে কিনা তা পরীক্ষা করে এবং যদি তা হয় তবে এটি শর্ট পজিশনটি বন্ধ করে এবং একই সাথে এটি প্রতিস্থাপনের জন্য একটি নতুন লং পজিশন খোলে। এটি নিশ্চিত করে যে কৌশলটি সর্বদা বাজারে এক্সপোজার বজায় রাখে।

কৌশলগত সুবিধা

এই দৈনিক ট্রেডিং কৌশলটির বেশ কয়েকটি উল্লেখযোগ্য সুবিধা রয়েছেঃ

  1. ১০০% জয়ের হারঃ ৩৬টি বন্ধ ট্রেডের মধ্যে, কৌশলটি ১০০% জয়ের হার অর্জন করেছে, যা এর ধারাবাহিক পারফরম্যান্সকে তুলে ধরেছে।
  2. ডায়নামিক পজিশন ম্যানেজমেন্টঃ শর্ট পজিশনের স্টপ লস হলে তাৎক্ষণিকভাবে নতুন লং পজিশন খোলা হয়।
  3. কঠোর ঝুঁকি ব্যবস্থাপনাঃ কৌশলটি 0.3% লাভের লক্ষ্যমাত্রা এবং 0.2% স্টপ লস নির্ধারণ করে, কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করে।
  4. নিয়মিত বাজার অংশগ্রহণঃ কৌশলটি প্রতিদিনের শুরুতে পজিশন খুলে দেয়, যাতে বাজারে নিয়মিত অংশগ্রহণ নিশ্চিত হয়।
  5. শক্তিশালী ব্যাকটেস্টিং ফলাফল: ২০২১ সালের ব্যাকটেস্টিং-এ ২২.২% নিট মুনাফা এবং ১৩.৭৫% সর্বোচ্চ ড্রাউনডাউন সহ শক্তিশালী কর্মক্ষমতা দেখা গেছে।

কৌশলগত ঝুঁকি

কৌশল দ্বারা প্রদর্শিত চিত্তাকর্ষক কর্মক্ষমতা এবং ঝুঁকি নিয়ন্ত্রণ সত্ত্বেও, বিবেচনা করার জন্য কিছু সম্ভাব্য ঝুঁকি রয়েছেঃ

  1. ধারাবাহিক ক্ষতির সম্ভাবনা: যদিও ব্যাকটেস্টিংয়ের ফলাফলগুলি চিত্তাকর্ষক, তবে অতীতের কর্মক্ষমতা ভবিষ্যতের ফলাফলের গ্যারান্টি দেয় না। ধারাবাহিকভাবে ক্ষতিগ্রস্থ ট্রেডগুলি লাভ হ্রাস করতে পারে।
  2. ব্ল্যাক সোয়ান ইভেন্টসঃ কৌশলটি অপ্রত্যাশিত ঘটনা এবং চরম বাজারের অস্থিরতার জন্য সংবেদনশীল হতে পারে, যা প্রত্যাশার চেয়ে বেশি ক্ষতির দিকে পরিচালিত করে।
  3. লিভারেজ ঝুঁকিঃ এই কৌশলটি প্রতিটি ট্রেডে 200% লিভারেজ ব্যবহার করে, যা সম্ভাব্য রিটার্ন বাড়ায় কিন্তু ঝুঁকিও বাড়ায়।

এই ঝুঁকিগুলি হ্রাস করার জন্য, বিভিন্ন বাজার এবং সম্পদ শ্রেণীতে অনুরূপ কৌশল প্রয়োগ করে বৈচিত্র্য বিবেচনা করা যেতে পারে। পরিবর্তিত বাজারের অবস্থার সাথে মানিয়ে নিতে কৌশল পরামিতিগুলির নিয়মিত পর্যবেক্ষণ এবং সমন্বয়ও গুরুত্বপূর্ণ।

কৌশল অপ্টিমাইজেশান নির্দেশাবলী

  1. পরামিতি অপ্টিমাইজেশানঃ লাভের লক্ষ্য, স্টপ লস এবং অন্যান্য মূল পরামিতিগুলি বিভিন্ন বাজারের অবস্থার অধীনে সর্বোত্তম পারফরম্যান্স অর্জনের জন্য অতিরিক্ত ব্যাকটেস্টিং এবং অপ্টিমাইজেশনের মাধ্যমে আরও পরিমার্জন করা যেতে পারে।
  2. বৈচিত্র্যঃ অন্যান্য বাজার এবং সম্পদ শ্রেণীতে কৌশল সম্প্রসারণ সামগ্রিক আয় বৃদ্ধি এবং ঝুঁকি হ্রাস করতে পারে।
  3. ডায়নামিক পজিশন সাইজিংঃ বাজারের অস্থিরতা বা অন্যান্য কারণের উপর ভিত্তি করে পজিশন সাইজকে ডায়নামিকভাবে সামঞ্জস্য করা ঝুঁকি-সমন্বিত রিটার্নকে আরও অনুকূল করতে পারে।
  4. অতিরিক্ত ফিল্টারঃ অতিরিক্ত প্রযুক্তিগত সূচক বা মার্কেট সেন্টিমেন্ট সূচককে ফিল্টার হিসেবে প্রবর্তন করলে ট্রেডিং সিগন্যালের গুণমান উন্নত হতে পারে।

সিদ্ধান্ত

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


/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Daily AUD-JPY Trading", overlay=true, initial_capital=1000, currency="AUD", default_qty_type=strategy.percent_of_equity, default_qty_value=200, commission_type=strategy.commission.percent, commission_value=0.1)

// Input parameters
profit_target = input(0.3, title="Profit Target (%)") / 100
loss_target = input(0.2, title="Loss Target (%)") / 100
start_year = input(2021, title="Start Year")

// Calculate daily open and close
new_day = ta.change(time("D"))

var float entry_price_long = na
var float entry_price_short = na
var bool position_long_open = false
var bool position_short_open = false

// Date check
trade_start = timestamp(start_year, 1, 1, 0, 0)

if new_day and time >= trade_start
    // If there was a previous long position, check for profit target
    if position_long_open
        current_profit_long = (close - entry_price_long) / entry_price_long
        if current_profit_long >= profit_target
            strategy.close("AUD Trade Long", comment="Take Profit Long")
            position_long_open := false
    
    // If there was a previous short position, check for profit target
    if position_short_open
        current_profit_short = (entry_price_short - close) / entry_price_short
        if current_profit_short >= profit_target
            strategy.close("AUD Trade Short", comment="Take Profit Short")
            position_short_open := false

    // Check for daily loss condition for short positions
    if position_short_open
        current_loss_short = (close - entry_price_short) / entry_price_short
        if current_loss_short <= -loss_target
            strategy.close("AUD Trade Short", comment="Stop Loss Short")
            position_short_open := false
            
            // Open a new long position to replace the stopped short position
            strategy.entry("AUD Trade Long Replacement", strategy.long)
            entry_price_long := close
            position_long_open := true

    // Open a new long position at the start of the new day if no long position is open
    if not position_long_open and not position_short_open
        strategy.entry("AUD Trade Long", strategy.long)
        entry_price_long := close
        position_long_open := true

    // Open a new short position at the start of the new day if no short position is open
    if not position_short_open and not position_long_open
        strategy.entry("AUD Trade Short", strategy.short)
        entry_price_short := close
        position_short_open := true

// Check for continuous profit condition for long positions
if position_long_open
    current_profit_long = (close - entry_price_long) / entry_price_long
    if current_profit_long >= profit_target
        strategy.close("AUD Trade Long", comment="Take Profit Long")
        position_long_open := false

// Check for continuous profit condition for short positions
if position_short_open
    current_profit_short = (entry_price_short - close) / entry_price_short
    if current_profit_short >= profit_target
        strategy.close("AUD Trade Short", comment="Take Profit Short")
        position_short_open := false

// Plot the entry prices on the chart
plot(position_long_open ? entry_price_long : na, title="Entry Price Long", color=color.green, linewidth=2)
plot(position_short_open ? entry_price_short : na, title="Entry Price Short", color=color.red, linewidth=2)

// Display current profit/loss percentage for long positions
var label profit_label_long = na
if position_long_open and not na(entry_price_long)
    current_profit_long = (close - entry_price_long) / entry_price_long * 100
    label.delete(profit_label_long)
    profit_label_long := label.new(x=time, y=high, text="Long P/L: " + str.tostring(current_profit_long, format.percent), style=label.style_label_down, color=color.white, textcolor=color.black,xloc=xloc.bar_time)

// Display current profit/loss percentage for short positions
var label profit_label_short = na
if position_short_open and not na(entry_price_short)
    current_profit_short = (entry_price_short - close) / entry_price_short * 100
    label.delete(profit_label_short)
    profit_label_short := label.new(x=time, y=high, text="Short P/L: " + str.tostring(current_profit_short, format.percent), style=label.style_label_down, color=color.white, textcolor=color.black,xloc=xloc.bar_time)

আরো