বলিঙ্গার ব্যান্ড, মুভিং এভারেজ এবং MACD এর উপর ভিত্তি করে সম্মিলিত ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-02-04 15:42:23 অবশেষে সংশোধন করুন: 2024-02-04 15:42:23
অনুলিপি: 0 ক্লিকের সংখ্যা: 815
1
ফোকাস
1617
অনুসারী

বলিঙ্গার ব্যান্ড, মুভিং এভারেজ এবং MACD এর উপর ভিত্তি করে সম্মিলিত ট্রেডিং কৌশল

কৌশল ওভারভিউ

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

কৌশল নাম এবং নীতি

এই কৌশলটির নাম হল প্রবণতা ট্র্যাকিং কৌশল প্রবণতা ট্র্যাকিং কৌশল। এই নামটি প্রবণতার দিকনির্দেশনা এবং প্রবণতা প্রবেশের স্থান নির্ধারণের জন্য তিনটি প্রযুক্তিগত সূচক ব্যবহার করে তার বৈশিষ্ট্যকে তুলে ধরে।

এর মূল লেনদেনের ধারণাগুলি হলঃ

  1. ট্রেন্ডের দিকনির্দেশনা নির্ধারণ করা। বুইলিন-ব্যান্ডের মধ্যম ট্র্যাক, ইএমএ এবং এমএসিডি-র চলমান গড়ের তুলনা করে শূন্য-অক্ষের তুলনা করে, বাজারটি বর্তমানে শূন্য বা শূন্য পর্যায়ে রয়েছে কিনা তা নির্ধারণ করা।

  2. বাজারে প্রবেশের সময় খুঁজুন। মাল্টি হেড (বা শূন্য) প্রবণতা নির্ধারণের পরে, কৌশলটি ইএমএ মুভিং এভারেজটি ব্রিনের মধ্যম ট্র্যাকটি ভেঙেছে কিনা এবং ম্যাকড পিলার লাইনটি ব্রেক সিগন্যাল লাইনের দিকে ধনাত্মক (বা নেতিবাচক) কিনা তার উপর ভিত্তি করে বাজারে প্রবেশের সিদ্ধান্ত নেবে।

  3. থামানো ক্ষতি সেট করুন। মাঠে প্রবেশের পরে, স্থির থামানো এবং থামানো ক্ষতি সেট করা হবে।

কৌশলগত শক্তি বিশ্লেষণ

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

প্রথমত, বুলিন-ব্যান্ডের মধ্যবর্তী কক্ষপথটি বর্তমান পর্যায়ে মূল প্রবণতার দিকনির্দেশকে স্পষ্টভাবে প্রতিফলিত করে। ইএমএ সমান্তরালটির ভূমিকা হ’ল প্রবণতা অনুসরণ করা। তাদের তুলনা এবং সংমিশ্রণ বর্তমান মাল্টিহেড এবং খালি হেডের অবস্থা আরও সঠিকভাবে বিচার করতে পারে।

দ্বিতীয়ত, বুলিন রেঞ্জের নিজস্ব একটি শক্তিশালী অন্তর্ভুক্তি রয়েছে। মধ্যম কক্ষপথের কাছাকাছিও একটি নির্দিষ্ট সমর্থন চাপের অবস্থান প্রতিফলিত হয়, তাই ইএমএ লাইনের বিরতিতে একটি নির্দিষ্ট সংকেত মান রয়েছে।

এছাড়াও, MACD এর যোগদানের ফলে বায়ুমণ্ডলীয় শক্তির ক্ষয় দেখতে পাওয়া যায়। এর পরম মানের আকার জনসাধারণের আবেগকে উঁচু বা উষ্ণ করে তোলে, যা বিপরীত হওয়ার সম্ভাবনাও নির্দেশ করে।

অবশেষে, কৌশলটি একটি স্টপ-অফ-লস শর্তের সাথে যুক্ত, যা একক লেনদেনের ঝুঁকি-লাভের পরিস্থিতি নিয়ন্ত্রণ করতে পারে, যার ফলে সামগ্রিক স্থিতিশীল অপারেশন নিশ্চিত করা যায়।

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

যদিও এই সমন্বিত কৌশলটি বেশ কয়েকটি বিশ্লেষণমূলক সরঞ্জাম ব্যবহার করে, তবে এর প্রধান ঝুঁকিগুলি হলঃ

  1. ব্রিন বন্ড প্যারামিটারগুলি ভুলভাবে সেট করা হয়েছে এবং মধ্যম কক্ষপথটি মূল প্রবণতাকে স্পষ্টভাবে প্রতিফলিত করতে পারে না।

  2. সমরেখার সিস্টেমটি মাল্টিহেড সংকেত দেয়, তবে এমএসিডি স্পষ্টভাবে সংশোধন করা হয়নি, খালি মাথা শক্তি প্রসারিত হতে পারে।

  3. স্টপ লস রেঞ্জটি খুব বড়, একক ক্ষতির পরিমাণ বাড়তে পারে।

এর প্রধান সমাধান হলঃ

  1. বুইলিন-ব্যান্ডের প্যারামিটারগুলিকে সামঞ্জস্য করুন যাতে মধ্যম কক্ষপথটি মূল প্রবণতাকে কার্যকরভাবে প্রতিফলিত করে।

  2. এই প্রকল্পের আওতাভুক্ত এলাকাগুলোতে বিদ্যুৎ সরবরাহের জন্য আরও প্রযুক্তিগত সূচক চালু করা হবে।

  3. ঐতিহাসিক লেনদেনের মূল্যায়ন এবং স্টপ-অফ-লস প্যারামিটার অপ্টিমাইজ করা।

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

এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে আরও উন্নত করা যেতে পারেঃ

  1. প্রবণতা নির্ণয়ের ক্ষেত্রে আরও সূচক প্রবর্তন করা। যেমন কেডিজে, এটিআর এবং অন্যান্য সহায়ক বিচার, যা বিচার সঠিকতা বাড়ায়।

  2. অপারেশন স্তরে আরও সূক্ষ্ম ক্ষতির ব্যবস্থা করুন। যেমন চলমান ক্ষতি, নতুন উচ্চতা (<<) অতিক্রম করার পরে ক্ষতির অনুপাত বাড়ানো ইত্যাদি।

  3. বিভিন্ন জাতের কর্মক্ষমতা মূল্যায়ন করুন। প্যারামিটারগুলিকে আরও বেশি পরিস্থিতির সাথে সামঞ্জস্য করুন।

  4. পরীক্ষার ফলাফল এবং বিভিন্ন সময় ফ্রেম এবং বাজারের প্রতিক্রিয়া মূল্যায়ন করা হয়েছে। প্যারামিটারগুলি সংশোধন করা হয়েছে।

  5. মেশিন লার্নিং অ্যালগরিদম যোগ করা, প্যারামিটারগুলির স্বয়ংক্রিয় অপ্টিমাইজেশন এবং নীতি নিয়মের গতিশীল আপডেটগুলি বাস্তবায়ন করা।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Combined Strategy", overlay=true, shorttitle="Comb Strat", default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Precio de beneficio y Stop Loss
takeProfitTicks = 87636
stopLossTicks = 53350

// Bollinger Bands + EMA
length_bb = input(150, title="BB Length")
src_bb = input(close, title="BB Source")
mult = input(2.0, title="BB StdDev")
basis = ta.sma(src_bb, length_bb)
dev = mult * ta.stdev(src_bb, length_bb)
upper = basis + dev
lower = basis - dev

len_ema = input(34, title="EMA Length")
src_ema = input(close, title="EMA Source")
out_ema = ta.ema(src_ema, len_ema)

typeMA = input("SMA", title="Method")
smoothingLength = input(5, title="Length")

var float smoothingLine = na
if (typeMA == "SMA")
    smoothingLine := ta.sma(out_ema, smoothingLength)
else if (typeMA == "EMA")
    smoothingLine := ta.ema(out_ema, smoothingLength)

// MACD
fast_length = input(title="Fast Length", defval=9)
slow_length = input(title="Slow Length", defval=17)
src_macd = input(title="Source", defval=close)
signal_length = input.int(title="Signal Smoothing", minval=1, maxval=50, defval=9)
sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"])
sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"])

fast_ma = sma_source == "SMA" ? ta.sma(src_macd, fast_length) : ta.ema(src_macd, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src_macd, slow_length) : ta.ema(src_macd, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal

// Condiciones de compra y venta
longCondition = (out_ema > basis) and (macd > signal) and (signal > 0)
shortCondition = (out_ema < basis) and (macd < signal) and (signal < 0)

// Variables de estado
var bool longExecuted = na
var bool shortExecuted = na

// Estrategia
if (longCondition and not longExecuted)
    strategy.entry("Long", strategy.long)
    longExecuted := true
    shortExecuted := na
if (shortCondition and not shortExecuted)
    strategy.entry("Short", strategy.short)
    shortExecuted := true
    longExecuted := na

// Take Profit y Stop Loss para Compras y Ventas Cortas
strategy.exit("Take Profit/Close Long", from_entry="Long", profit=takeProfitTicks, loss=stopLossTicks)
strategy.exit("Take Profit/Close Short", from_entry="Short", profit=takeProfitTicks, loss=stopLossTicks)

// Cierre de posiciones cuando la dirección cambia
if ((out_ema < basis) and (macd < signal))
    strategy.close("Long")
    longExecuted := na
if ((out_ema > basis) and (macd > signal))
    strategy.close("Short")
    shortExecuted := na

// Plots
plot(basis, "BB Basis", color=#FF6D00)
plot(upper, "BB Upper", color=color.new(#2962FF, 0.5))
plot(lower, "BB Lower", color=color.new(#2962FF, 0.5))

plot(smoothingLine, title="Smoothing Line", color=#f37f20, linewidth=2)

hline(0, "Zero Line", color=color.new(#787B86, 50))
plot(hist, title="Histogram", style=plot.style_columns, color=(hist >= 0 ? (hist[1] < hist ? color.green : color.red) : (hist[1] < hist ? color.red : color.green)))
plot(macd, title="MACD", color=color.blue)
plot(signal, title="Signal", color=color.orange)