জিয়াইবিং পরিমাণগত প্রবণতা গতি ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-03-08 15:40:05
ট্যাগঃ

img

সারসংক্ষেপ

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

কৌশলগত নীতি

এই কৌশলটির মূল নীতি হ'ল দামের প্রবণতা এবং গতির প্রভাবগুলিকে কাজে লাগিয়ে বাজারের সুযোগগুলি ক্যাপচার করা। বিশেষত, কৌশলটি মূল্যের প্রবণতার দিক নির্ধারণের জন্য বিভিন্ন সময়কালের (দ্রুত এবং ধীর) দুটি চলমান গড় ব্যবহার করে। যখন দ্রুত চলমান গড়টি ধীর চলমান গড়ের উপরে অতিক্রম করে, তখন এটি একটি উত্থান প্রবণতা নির্দেশ করে এবং কৌশলটি একটি দীর্ঘ সংকেত উত্পন্ন করে; বিপরীতভাবে, যখন দ্রুত চলমান গড়টি ধীর চলমান গড়ের নীচে অতিক্রম করে, এটি একটি হ্রাস প্রবণতা নির্দেশ করে এবং কৌশলটি একটি সংক্ষিপ্ত সংকেত উত্পন্ন করে।

ট্রেন্ড এবং এন্ট্রি টাইমিং আরও নিশ্চিত করার জন্য, কৌশলটি বোলিংজার ব্যান্ড এবং গতির সূচকগুলিও অন্তর্ভুক্ত করে। বোলিংজার ব্যান্ডগুলিতে তিনটি লাইন রয়েছেঃ মাঝারি লাইনটি চলমান গড়, যখন উপরের এবং নীচের ব্যান্ডগুলি মাঝারি লাইনের উপরে এবং নীচে নির্দিষ্ট সংখ্যক স্ট্যান্ডার্ড বিচ্যুতি। যখন দাম উপরের বোলিংজার ব্যান্ডের উপরে ভেঙে যায়, তখন এটি শক্তিশালী আপগ্রেড গতি নির্দেশ করে এবং কৌশলটি দীর্ঘ হবে; যখন দাম নীচের বোলিংজার ব্যান্ডের নীচে ভেঙে যায়, তখন এটি শক্তিশালী ডাউনগ্রেড গতি নির্দেশ করে এবং কৌশলটি শর্ট হবে।

এছাড়াও, কৌশলটি একটি গতির সূচকও প্রবর্তন করে, যা বর্তমান মূল্যের সাথে একটি নির্দিষ্ট সময়ের আগে মূল্যের তুলনা করে মূল্য পরিবর্তনের গতি পরিমাপ করে। গতির সূচকটি প্রবণতার শক্তি বিচার করতে এবং প্রবেশের জন্য অতিরিক্ত নিশ্চিতকরণ সরবরাহ করতে ব্যবহার করা যেতে পারে।

পজিশনের আকার নির্ধারণের ক্ষেত্রে, কৌশলটি অ্যাকাউন্ট ইক্যুইটি এবং ঝুঁকি পছন্দের ভিত্তিতে পজিশনের আকার নির্ধারণের অনুমতি দেয়। একই সাথে, কৌশলটিতে প্রতিটি ব্যবসায়ের ঝুঁকি এক্সপোজার নিয়ন্ত্রণের জন্য লাভ গ্রহণ, স্টপ লস এবং ট্রেলিং স্টপ প্রক্রিয়া অন্তর্ভুক্ত রয়েছে।

সামগ্রিকভাবে, জিয়াইবিংয়ের পরিমাণগত প্রবণতা গতির ট্রেডিং কৌশলটি প্রবণতা বাজারের সুযোগগুলি ক্যাপচার করার চেষ্টা করে, একই সাথে ট্রেন্ড ট্র্যাকিং, গতির নিশ্চিতকরণ এবং ঝুঁকি ব্যবস্থাপনার মতো একাধিক মাত্রার মাধ্যমে ঝুঁকি কঠোরভাবে নিয়ন্ত্রণ করে, যাতে স্থিতিশীল বিনিয়োগের রিটার্ন অর্জন করা যায়।

সুবিধা বিশ্লেষণ

  1. ট্রেন্ড ট্র্যাকিংঃ কৌশলটি দ্রুত এবং ধীর গতির গড়ের ক্রসওভার ব্যবহার করে ট্রেন্ডিং মূল্যের সুযোগগুলি ক্যাপচার করতে, এটিকে বিভিন্ন বাজারের অবস্থার সাথে মানিয়ে নিতে, আপট্রেন্ডে দীর্ঘ এবং ডাউনট্রেন্ডে সংক্ষিপ্ত হতে দেয়।

  2. গতি নিশ্চিতকরণঃ প্রবণতার একটি মাধ্যমিক নিশ্চিতকরণ হিসাবে গতি সূচকটি প্রবর্তন করা মিথ্যা সংকেতগুলি ফিল্টার করতে এবং প্রবেশের গুণমান উন্নত করতে সহায়তা করে।

  3. বোলিংজার ব্যান্ডগুলি সিদ্ধান্ত গ্রহণে সহায়তা করেঃ বোলিংজার ব্যান্ডগুলি দামের অস্থিরতার পরিসীমা প্রতিফলিত করতে পারে এবং বোলিংজার ব্যান্ডগুলির ব্রেকআউটগুলি প্রবণতা ত্বরণ বা অস্বাভাবিক দামের হ্রাসের সংকেত হিসাবে দেখা যেতে পারে, প্রবেশের জন্য একটি রেফারেন্স সরবরাহ করে।

  4. পজিশন সাইজিংঃ কৌশলটি অ্যাকাউন্টের মূলধনের শতাংশ এবং সর্বোচ্চ সীমা ভিত্তিক একটি পজিশন সাইজিং পদ্ধতি ব্যবহার করে, যা প্রতিটি ট্রেডে ব্যবহৃত মূলধনের নমনীয় নিয়ন্ত্রণের অনুমতি দেয়, উভয়ই তহবিলের সম্পূর্ণ ব্যবহার করে এবং অত্যধিক ঝুঁকি এক্সপোজার এড়ায়।

  5. লাভ এবং স্টপ লস নিনঃ কৌশল সেটগুলি লাভ, স্টপ লস এবং ট্রেলিং স্টপ লস স্তরগুলি নেয়, যা যখন দাম প্রত্যাশিত দিকের দিকে চলে যায় তখন মুনাফা রক্ষা করতে পারে এবং যখন দাম বিপরীত হয় তখন হ্রাসকে সিদ্ধান্তমূলকভাবে কাটাতে পারে, কার্যকরভাবে প্রতিটি ব্যবসায়ের সর্বাধিক ক্ষতি নিয়ন্ত্রণ করে।

  6. মাল্টি-প্যারামিটার অপ্টিমাইজেশানঃ কৌশলটিতে একাধিক সামঞ্জস্যযোগ্য প্যারামিটার রয়েছে, যেমন চলমান গড় সময়কাল, বোলিংজার ব্যান্ড প্যারামিটার, লাভ এবং স্টপ লস শতাংশ ইত্যাদি, যা কৌশলটির অভিযোজনযোগ্যতা এবং দৃust়তা উন্নত করতে অপ্টিমাইজ করা যেতে পারে।

ঝুঁকি বিশ্লেষণ

  1. ঘন ঘন ট্রেডিংঃ এই কৌশলটি চলমান গড় ক্রসওভার এবং বোলিংজার ব্যান্ড ব্রেকআউটের উপর ভিত্তি করে এন্ট্রি সিগন্যাল তৈরি করে। যখন বাজারের অস্থিরতা বেশি হয়, তখন এটি ঘন ঘন ট্রেডিং সিগন্যাল তৈরি করতে পারে, যার ফলে অত্যধিক ট্রেডিং ফ্রিকোয়েন্সি এবং কমিশন এবং স্লিপিং খরচ বৃদ্ধি পায়।

  2. পরামিতি সংবেদনশীলতা: কৌশলটিতে একাধিক পরামিতি অন্তর্ভুক্ত রয়েছে, যেমন চলমান গড় সময়কাল, গতির সময়কাল, বলিংজার ব্যান্ডের পরামিতি ইত্যাদি। বিভিন্ন পরামিতিগুলির পছন্দ কৌশলটির কার্যকারিতার উপর উল্লেখযোগ্য প্রভাব ফেলতে পারে। যদি পরামিতিগুলি সঠিকভাবে নির্বাচন করা না হয় তবে এটি খারাপ কৌশল কার্যকারিতার দিকে পরিচালিত করতে পারে।

  3. বিলম্বিত প্রবণতা স্বীকৃতিঃ চলমান গড়গুলি বিলম্বিত সূচক, বিশেষত যখন চলমান গড়ের সময়কাল দীর্ঘ হয়, প্রবণতা বিপরীতকরণের চিহ্নিতকরণের গতি ধীর হবে এবং সেরা প্রবেশের সময়টি মিস করা যেতে পারে।

  4. স্টপ লস ঝুঁকিঃ যদিও কৌশলটি স্টপ লস ব্যবস্থা নির্ধারণ করে, তবে চরম বাজারের পরিস্থিতিতে (যেমন দ্রুত ফাঁক), দাম সরাসরি স্টপ লস স্তর অতিক্রম করতে পারে, যার ফলে প্রত্যাশা অতিক্রম করে প্রকৃত ক্ষতি হতে পারে।

  5. কেন্দ্রীভূত পজিশন ঝুঁকিঃ যদি নির্দিষ্ট সময়ের মধ্যে কৌশলটি একই দিকের সংকেতগুলি অবিচ্ছিন্নভাবে উত্পন্ন করে তবে এটি এক দিকের পজিশনের অত্যধিক ঘনত্বের দিকে পরিচালিত করতে পারে, যা আরও বেশি পজিশন ঝুঁকি মোকাবেলা করে।

  6. লিকুইডিটি ঝুঁকিঃ ব্যাকটেস্টিং এবং লাইভ ট্রেডিং-এ কৌশলটির পারফরম্যান্স বাজারের লিকুইডিটি দ্বারা প্রভাবিত হতে পারে, বিশেষ করে বড় তহবিলের সাথে কাজ করার সময়, যা স্লিপ এবং অপর্যাপ্ত ট্রেডিং ভলিউমের সমস্যার মুখোমুখি হতে পারে।

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

  1. আরও প্রযুক্তিগত সূচক প্রবর্তন করুন: বর্তমান চলমান গড়, গতি এবং বলিংজার ব্যান্ডের ভিত্তিতে, মাল্টি-ইনডিকেটর নিশ্চিতকরণের মাধ্যমে সংকেতগুলির নির্ভরযোগ্যতা উন্নত করার জন্য আরও প্রযুক্তিগত সূচক যেমন আরএসআই এবং এমএসিডি প্রবর্তন করা যেতে পারে।

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

  3. ডায়নামিক প্যারামিটার সমন্বয়ঃ চলমান গড় সময়কাল, গতির সময়কাল, বোলিংজার ব্যান্ড প্যারামিটার ইত্যাদির জন্য, বিভিন্ন বাজারের অবস্থা এবং অস্থিরতার স্তরের উপর ভিত্তি করে প্যারামিটার মানগুলিকে গতিশীলভাবে সামঞ্জস্য করার জন্য প্যারামিটার অভিযোজনমূলক প্রক্রিয়াগুলির একটি সেট ডিজাইন করা যেতে পারে, কৌশলটির অভিযোজনযোগ্যতা উন্নত করে।

  4. পজিশন সাইজিং উন্নত করা: বর্তমান পজিশন সাইজিংয়ের ভিত্তিতে, আরও উন্নত অর্থ পরিচালনার পদ্ধতি যেমন কেলি মানদণ্ড, ফিক্সড রেসিও, ডায়নামিক ইক্যুইটি ইত্যাদি আরও ভাল ভারসাম্য রিটার্ন এবং ঝুঁকির জন্য চালু করা যেতে পারে।

  5. মৌলিক বিশ্লেষণের সাথে একত্রিত করুনঃ বিশুদ্ধ প্রযুক্তিগত বিশ্লেষণ কৌশলগুলি বাজারের অকার্যকরতা বা ব্যর্থতার ঝুঁকিতে পড়তে পারে। যদি কিছু মৌলিক কারণ, যেমন ম্যাক্রোইকনমিক ডেটা এবং শিল্পের প্রবণতা, ফিল্টার এবং প্রযুক্তিগত সংকেত নিশ্চিত করার জন্য একত্রিত করা যায়, এটি কৌশলটির কর্মক্ষমতা উন্নত করতে পারে।

  6. ব্যাকটেস্টিং এবং লাইভ ট্রেডিংয়ের ধারাবাহিকতা বাড়ানঃ ব্যাকটেস্টিং এবং লাইভ ট্রেডিংয়ের কৌশলটির পারফরম্যান্স আলাদা হতে পারে। ব্যাকটেস্টিং এবং লাইভ ট্রেডিংয়ের কার্যকর মানের উপর ফোকাস করা প্রয়োজন, যার মধ্যে কার্যকর মূল্য, স্লিপ এবং বিলম্বের মতো কারণগুলি রয়েছে, ব্যাকটেস্টিংয়ের ফলাফলের সাথে লাইভ পারফরম্যান্সের ধারাবাহিকতা নিশ্চিত করতে।

সংক্ষিপ্তসার

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


/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('甲易炳', overlay=true)

// Parameters
trendPeriod = input(50, 'Trend Period')
momentumPeriod = input(14, 'Momentum Period')
bbPeriod = input(20, 'Bollinger Bands Period')
bbDeviation = input(2, 'Bollinger Bands Deviation')
fastMALen = input(23, 'Fast SMA Length')
slowMALen = input(50, 'Slow SMA Length')
longTakeProfitPerc = input.float(0.5, 'Long Take Profit %', minval=0.05, step=0.05) * 0.01
shortTakeProfitPerc = input.float(0.5, 'Short Take Profit %', minval=0.05, step=0.05) * 0.01
stopLossPerc = input.float(0.5, 'Stop Loss %', minval=0.05, step=0.05) * 0.01
enableTrailing = input.bool(true, 'Enable Trailing')
trailingTakeProfitPerc = input.float(0.01, 'Trailing Take Profit %', minval=0.01, maxval=100, step=0.01) * 0.01
trailingStopLossPerc = input.float(0.5, 'Trailing Stop Loss %', minval=0.05, step=0.05) * 0.01
qty_percent = input.int(20, 'Position Size %', step=1)
qty_cap = input.int(10000, 'Max Position Size', step=1000)
beast_mode = input.bool(false, 'Beast Mode')
set_cap = input.bool(true, 'Cap Position Size')
strategy.initial_capital = 50000
// Calculate position size
qty1 = (strategy.initial_capital + strategy.netprofit) * qty_percent / 10 / close
qty = (set_cap and qty1 > qty_cap) ? qty_cap : qty1

// Calculate moving averages
fastMA = ta.sma(close, fastMALen)
slowMA = ta.sma(close, slowMALen)

// Bollinger Bands
[upperBB, middleBB, lowerBB] = ta.bb(close, bbPeriod, bbDeviation)

// Entry conditions
buySignal = ta.crossover(close, fastMA) and close > upperBB
sellSignal = ta.crossunder(close, fastMA) and close < lowerBB

// Rampage mode entry conditions
if beast_mode
    buySignal := buySignal and fastMA > fastMA[2]
    sellSignal := sellSignal and fastMA < fastMA[2]

// Active positions
longIsActive = buySignal or strategy.position_size > 0
shortIsActive = sellSignal or strategy.position_size < 0

// Declare take profit and stop loss variables
var float longTakeProfitPrice = na
var float shortTakeProfitPrice = na

// Take profit and stop loss calculation
if longIsActive
    if buySignal and not (strategy.position_size > 0)
        longTakeProfitPrice := close * (1 + longTakeProfitPerc)
    else
        longTakeProfitPrice := nz(longTakeProfitPrice[1], close * (1 + longTakeProfitPerc))
if shortIsActive
    if sellSignal and not (strategy.position_size < 0)
        shortTakeProfitPrice := close * (1 - shortTakeProfitPerc)
    else
        shortTakeProfitPrice := nz(shortTakeProfitPrice[1], close * (1 - shortTakeProfitPerc))

longTrailingTakeProfitStepTicks = longTakeProfitPrice * trailingTakeProfitPerc / syminfo.mintick
shortTrailingTakeProfitStepTicks = shortTakeProfitPrice * trailingTakeProfitPerc / syminfo.mintick
longTrailingStopLossPrice = close * (1 - trailingStopLossPerc)
shortTrailingStopLossPrice = close * (1 + trailingStopLossPerc)

// Entries and exits
if strategy.position_size == 0
    strategy.entry('Long Entry', qty=qty, direction=strategy.long, when=buySignal, alert_message='Long Entry')
    strategy.entry('Short Entry', qty=qty, direction=strategy.short, when=sellSignal, alert_message='Short Entry')
    strategy.exit('Long Take Profit', 'Long Entry', loss=close * stopLossPerc / syminfo.mintick, limit=enableTrailing ? na : longTakeProfitPrice, trail_price=enableTrailing ? longTakeProfitPrice : na, trail_offset=enableTrailing ? longTrailingTakeProfitStepTicks : na, when=longIsActive, alert_message='Long Take Profit')
    strategy.exit('Short Take Profit', 'Short Entry', loss=close * stopLossPerc / syminfo.mintick, limit=enableTrailing ? na : shortTakeProfitPrice, trail_price=enableTrailing ? shortTakeProfitPrice : na, trail_offset=enableTrailing ? shortTrailingTakeProfitStepTicks : na, when=shortIsActive, alert_message='Short Take Profit')
else
    if longIsActive
        strategy.exit('Long Stop Loss', 'Long Entry', stop=longTrailingStopLossPrice, when=longIsActive)
    if shortIsActive
        strategy.exit('Short Stop Loss', 'Short Entry', stop=shortTrailingStopLossPrice, when=shortIsActive)

// Plotting
plot(fastMA, 'Fast SMA', color=color.blue, linewidth=1, style=plot.style_line)
plot(slowMA, 'Slow SMA', color=color.orange, linewidth=1, style=plot.style_line)
plot(upperBB, 'Upper BB', color=color.green, linewidth=1, style=plot.style_line)
plot(lowerBB, 'Lower BB', color=color.red, linewidth=1, style=plot.style_line)


আরো