MCL-YG Bollinger Band Breakout Pair ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

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

কৌশলগত যুক্তি

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

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

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

সুবিধা

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

ঝুঁকি

  1. Bollinger Bands প্যারামিটার টিউনিং খারাপ হতে পারে খুব বেশি সংকেত বা অস্পষ্ট সংকেত হতে পারে
  2. সম্পদের মধ্যে ক্রমবর্ধমান সম্পর্ক জোড়া ট্রেডিং থেকে মুনাফা হ্রাস করতে পারে
  3. বিপুল বাজারে ভ্রান্ত সংকেত দিয়ে ব্রেকআউটগুলি প্রতারিত হতে পারে, যার ফলে ক্ষতি হতে পারে
  4. কোন স্টপ লস একক লেনদেনের জন্য বড় ক্ষতি হতে পারে

প্যারামিটারগুলিকে অনুকূল করে তুলতে, শক্তিশালী সম্পর্ক এবং তরলতার সাথে সম্পদ নির্বাচন করতে, যথাযথ স্টপ লস সেট করতে ইত্যাদি ঝুঁকি হ্রাস করা যেতে পারে।

অপ্টিমাইজেশান সুযোগ

  1. সেরা সমন্বয় খুঁজে পেতে বোলিংজার ব্যান্ডের পরামিতিগুলি অপ্টিমাইজ করুন
  2. আরো সংশ্লিষ্ট সম্পদ জোড়া পরীক্ষা করুন এবং সেরা সমন্বয় নির্বাচন করুন
  3. একক লেনদেনের জন্য ক্ষতি সীমাবদ্ধ করার জন্য স্টপ লস লজিক যুক্ত করুন
  4. মিথ্যা ব্রেকআউট সংকেত এড়াতে আরো ফিল্টার যোগ করুন
  5. এন্ট্রি টাইমিং উন্নত করার জন্য ভলিউম নিশ্চিতকরণের মতো অন্যান্য কারণগুলি অন্তর্ভুক্ত করুন

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

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


/*backtest
start: 2022-11-07 00:00:00
end: 2023-11-13 00:00:00
period: 1d
basePeriod: 1h
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/
// © shark792

//@version=5

// 1. Define strategy settings
strategy(title="MCL-YG Pair Trading Strategy", overlay=true,
     pyramiding=0, initial_capital=10000,
     commission_type=strategy.commission.cash_per_order,
     commission_value=4, slippage=2)

smaLength = input.int(title="SMA Length", defval=20)
stdLength = input.int(title="StdDev Length", defval=20)

ubOffset = input.float(title="Upper Band Offset", defval=1, step=0.5)
lbOffset = input.float(title="Lower Band Offset", defval=1, step=0.5)

usePosSize = input.bool(title="Use Position Sizing?", defval=true)
riskPerc   = input.float(title="Risk %", defval=0.5, step=0.25)


// 2. Calculate strategy values
smaValue = ta.sma(close, smaLength)
stdDev   = ta.stdev(close, stdLength)

upperBand = smaValue + (stdDev * ubOffset)
lowerBand = smaValue - (stdDev * lbOffset)

riskEquity  = (riskPerc / 100) * strategy.equity
atrCurrency = (ta.atr(20) * syminfo.pointvalue)
posSize     = usePosSize ? math.floor(riskEquity / atrCurrency) : 1


// 3. Output strategy data
plot(series=smaValue, title="SMA", color=color.teal)

plot(series=upperBand, title="UB", color=color.green,
     linewidth=2)
plot(series=lowerBand, title="LB", color=color.red,
     linewidth=2)


// 4. Determine long trading conditions
enterLong = ta.crossover(close, upperBand)
exitLong  = ta.crossunder(close, smaValue)


// 5. Code short trading conditions
enterShort = ta.crossunder(close, lowerBand)
exitShort  = ta.crossover(close, smaValue)


// 6. Submit entry orders
if enterLong
    strategy.entry(id="EL", direction=strategy.long, qty=posSize)

if enterShort
    strategy.entry(id="ES", direction=strategy.short, qty=posSize)


// 7. Submit exit orders
strategy.close(id="EL", when=exitLong)
strategy.close(id="ES", when=exitShort)



আরো