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

মাল্টি-ইন্ডিকেটর কোন্টিটেটিভ ট্রেডিং কৌশল - সুপার ইন্ডিকেটর ৭-ইন-১ কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৪-০৫-২৩ ১৮ঃ২০ঃ২৫
ট্যাগঃএসএমএইএমএআরএসআইএমএসিডি

img

সারসংক্ষেপ

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

কৌশলগত নীতি

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

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

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

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

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

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

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

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

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

কৌশলটির দৃঢ়তা এবং লাভের সম্ভাবনা আরও বাড়ানোর জন্য, নিম্নলিখিত অপ্টিমাইজেশান দিকগুলি বিবেচনা করুনঃ

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

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

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

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

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


/*backtest
start: 2024-04-22 00:00:00
end: 2024-05-22 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title='Super Indicator 7 in 1', shorttitle='Super Indicator 7 in 1', overlay=true, initial_capital=100, pyramiding=0, default_qty_value=10000, default_qty_type=strategy.cash)

// Defining indicator parameters
show_plots = input(false, title="Show Plots", group="Visibility")
show_indicators = input(false, title="Show Indicators", group="Visibility")
show_trades = input(true, title="Show Trades", group="Visibility")
show_labels = input(false, title="Show Labels", group="Visibility")
start_hour = input.int(0, title="Start Hour (24h format)", group="Time-Based Filter", minval=0, maxval=24)
end_hour = input.int(24, title="End Hour (24h format)", group="Time-Based Filter", minval=0, maxval=24)
stop_trading = input(false, "Stop Trading", group="Time-Based Filter")
trade_time = (hour >= start_hour and hour <= end_hour)
bgcolor(trade_time and (start_hour != 0 or end_hour != 24) ? color.new(color.blue, 90) : na)

volume_length = input.int(1, title="Volume SMA Length", group="Volume", minval=1, step=1)
sma_period = input.int(50, title="SMA Period", group="Moving Averages")
ema_period = input.int(50, title="EMA Period", group="Moving Averages")
bb_length = input.int(20, title='Bollinger Bands Length', group="Bollinger Bands")
mult = input.float(2.0, title='Bollinger Bands MultFactor', group="Bollinger Bands")
src = input(close, title='Bollinger Bands Source', group="Bollinger Bands")
rsi_length = input.int(14, title='RSI Length', group="RSI")
macd_fast_length = input.int(12, title='MACD Fast Length', group="MACD")
macd_slow_length = input.int(26, title='MACD Slow Length', group="MACD")
macd_signal_length = input.int(9, title='MACD Signal Smoothing', group="MACD")
stoch_length = input.int(14, title='Stochastic Length', group="Stochastic")
smoothK = input.int(3, title='Stochastic %K Smoothing', group="Stochastic")
smoothD = input.int(3, title='Stochastic %D Smoothing', group="Stochastic")
tp_percent = input.float(0.14, title="Take Profit (%)", group="Trade Settings", minval=0.01, step=0.01) / 100
sl_percent = input.float(0.25, title="Stop Loss (%)", group="Trade Settings", minval=0.01, step=0.01) / 100

// Calculating indicators
dev = mult * ta.stdev(src, bb_length)
upper = ta.sma(src, bb_length) + dev
lower = ta.sma(src, bb_length) - dev
rsi_value = ta.rsi(close, rsi_length)
stoch_value = ta.stoch(close, high, low, stoch_length)
[macd_line, signal_line, _] = ta.macd(close, macd_fast_length, macd_slow_length, macd_signal_length)
k = ta.sma(stoch_value, smoothK)
d = ta.sma(k, smoothD)
sma = ta.sma(close, sma_period)
ema = ta.ema(close, ema_period)
volume_ma = ta.sma(volume, volume_length)
volume_condition = volume >= volume_ma

// Signal definitions(-10%, Normal, +10% and ! failed indicator)
min_buy_signal = rsi_value < 33 and rsi_value > 30 and stoch_value < 22 and stoch_value > 20 and low < lower and macd_line < 0 and volume_condition
min_sell_signal = rsi_value > 63 and rsi_value < 70 and stoch_value > 72 and stoch_value < 80 and high > upper and macd_line > 0 and volume_condition
buy_signal = rsi_value < 30 and stoch_value < 20 and low < lower and macd_line < 0 and volume_condition
sell_signal = rsi_value > 70 and stoch_value > 80 and high > upper and macd_line > 0 and volume_condition
max_buy_signal = rsi_value < 27 and stoch_value < 18 and low < lower and macd_line < 0 and volume_condition
max_sell_signal = rsi_value > 77 and stoch_value > 80 and high > upper and macd_line > 0 and volume_condition
buy_condition = (rsi_value < 30 ? 1 : 0) + (stoch_value < 20 ? 1 : 0) + (macd_line < 0 ? 1 : 0) + (low < lower ? 1 : 0) + (volume_condition ? 1 : 0) == 4
sell_condition = (rsi_value > 70 ? 1 : 0) + (stoch_value > 80 ? 1 : 0) + (macd_line > 0 ? 1 : 0) + (high > upper ? 1 : 0) + (volume_condition ? 1 : 0) == 4

// Plotting buy and sell signals
plotshape(show_plots and min_buy_signal, style=shape.triangleup, location=location.belowbar, color=#00ffb7, size=size.small, title="Min Buy Signal")
plotshape(show_plots and min_sell_signal, style=shape.triangledown, location=location.abovebar, color=#efa803, size=size.small, title="Min Sell Signal")
plotshape(show_plots and buy_signal and not max_buy_signal, style=shape.triangleup, location=location.belowbar, color=#004cff, size=size.small, title="Buy Signal")
plotshape(show_plots and sell_signal and not max_sell_signal, style=shape.triangledown, location=location.abovebar, color=#ffff00, size=size.small, title="Sell Signal")
plotshape(show_plots and max_buy_signal, style=shape.triangleup, location=location.belowbar, color=#1eff00, size=size.small, title="Max Buy Signal")
plotshape(show_plots and max_sell_signal, style=shape.triangledown, location=location.abovebar, color=#ff0000, size=size.small, title="Max Sell Signal")
plotshape(show_plots and buy_condition and not min_buy_signal and not buy_signal and not max_buy_signal, style=shape.triangleup, location=location.belowbar, color=#ffffff, size=size.small, title="Buy Condition")
plotshape(show_plots and sell_condition and not min_sell_signal and not sell_signal and not max_sell_signal, style=shape.triangledown, location=location.abovebar, color=#ffffff, size=size.small, title="Sell Condition")

// Plotting moving averages
plot(show_indicators ? sma : na, color=#fc0000, linewidth=2, title="SMA")
plot(show_indicators ? ema : na, color=#00aaff, linewidth=2, title="EMA")

// Crossover labels for moving averages
BullCross = ta.crossover(ema, sma)
BearCross = ta.crossunder(ema, sma)

if (show_labels)
    if (BullCross)
        label.new(bar_index, sma, color=color.green, textcolor=color.white, style=label.style_cross, size=size.huge)
    if (BearCross)
        label.new(bar_index, sma, color=color.red, textcolor=color.white, style=label.style_cross, size=size.huge)

// Calculating take profit and stop loss
long_take_profit = close * (1 + tp_percent)
long_stop_loss = close * (1 - sl_percent)
short_take_profit = close * (1 - tp_percent)
short_stop_loss = close * (1 + sl_percent)

// Opening long and short orders based on signals
if (show_trades and trade_time and not stop_trading)
    if (min_buy_signal or buy_signal or max_buy_signal or buy_condition)
        strategy.entry("Open Long", strategy.long)
        strategy.exit("TP/SL Long", limit=long_take_profit, stop=long_stop_loss)
    if (min_sell_signal or sell_signal or max_sell_signal or sell_condition)
        strategy.entry("Open Short", strategy.short)
        strategy.exit("TP/SL Short", limit=short_take_profit, stop=short_stop_loss)


সম্পর্কিত

আরো