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

মুভিং এভারেজ ক্রসওভার সিগন্যাল সিস্টেমের সাথে ডায়নামিক লং/শর্ট সুইং ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

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

কৌশলগত নীতি

কৌশলটি একাধিক স্তরের প্রযুক্তিগত সূচক পদ্ধতি ব্যবহার করেঃ

  1. প্রবণতা নির্ধারণ স্তরঃ প্রবণতার দিক নির্ধারণের জন্য 20 পিরিয়ড EMA এবং 50 পিরিয়ড SMA ক্রসওভার ব্যবহার করে, SMA এর উপরে EMA ক্রসিং দীর্ঘ সংকেত হিসাবে এবং এর নীচে সংক্ষিপ্ত সংকেত হিসাবে।
  2. গতি নিশ্চিতকরণ স্তরঃ ওভারকুপ/ওভারসোল্ড নিশ্চিতকরণের জন্য RSI সূচক ব্যবহার করে, RSI 70 এর নীচে লং এবং RSI 30 এর উপরে শর্ট করার অনুমতি দেয়।
  3. অস্থিরতা হিসাব স্তরঃ স্টপ লস এবং লাভ নেওয়ার মাত্রা গণনা করার জন্য 14 পিরিয়ডের ATR ব্যবহার করে, স্টপ লস 1.5x ATR এবং লাভ নেওয়ার 3x ATR এ সেট করে।
  4. পজিশন ম্যানেজমেন্ট স্তরঃ প্রাথমিক মূলধন এবং প্রতি লেনদেনের ঝুঁকি শতাংশের উপর ভিত্তি করে পজিশনের আকার গতিশীলভাবে গণনা করে (ডিফল্ট 1%) ।

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

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

কৌশলগত ঝুঁকি

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

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

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

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

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


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © CryptoRonin84

//@version=5
strategy("Swing Trading Strategy with On/Off Long and Short", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Input for turning Long and Short trades ON/OFF
enable_long = input.bool(true, title="Enable Long Trades")
enable_short = input.bool(true, title="Enable Short Trades")

// Input parameters for strategy
sma_short_length = input.int(20, title="Short EMA Length", minval=1)
sma_long_length = input.int(50, title="Long SMA Length", minval=1)
sl_percentage = input.float(1.5, title="Stop Loss (%)", step=0.1, minval=0.1)
tp_percentage = input.float(3, title="Take Profit (%)", step=0.1, minval=0.1)
risk_per_trade = input.float(1, title="Risk Per Trade (%)", step=0.1, minval=0.1)
capital = input.float(10000, title="Initial Capital", step=100)

// Input for date range for backtesting
start_date = input(timestamp("2020-01-01 00:00"), title="Backtest Start Date")
end_date = input(timestamp("2024-12-31 23:59"), title="Backtest End Date")
inDateRange = true

// Moving averages
sma_short = ta.ema(close, sma_short_length)
sma_long = ta.sma(close, sma_long_length)

// RSI setup
rsi = ta.rsi(close, 14)
rsi_overbought = 70
rsi_oversold = 30

// ATR for volatility-based stop-loss calculation
atr = ta.atr(14)
stop_loss_level_long = strategy.position_avg_price - (1.5 * atr)
stop_loss_level_short = strategy.position_avg_price + (1.5 * atr)
take_profit_level_long = strategy.position_avg_price + (3 * atr)
take_profit_level_short = strategy.position_avg_price - (3 * atr)

// Position sizing based on risk per trade
risk_amount = capital * (risk_per_trade / 100)
position_size = risk_amount / (close * sl_percentage / 100)

// Long and Short conditions
long_condition = ta.crossover(sma_short, sma_long) and rsi < rsi_overbought
short_condition = ta.crossunder(sma_short, sma_long) and rsi > rsi_oversold

// Execute long trades
if (long_condition and inDateRange and enable_long)
    strategy.entry("Long", strategy.long, qty=position_size)
    strategy.exit("Take Profit/Stop Loss", "Long", stop=stop_loss_level_long, limit=take_profit_level_long)

// Execute short trades
if (short_condition and inDateRange and enable_short)
    strategy.entry("Short", strategy.short, qty=position_size)
    strategy.exit("Take Profit/Stop Loss", "Short", stop=stop_loss_level_short, limit=take_profit_level_short)

// Plot moving averages
plot(sma_short, title="Short EMA", color=color.blue)
plot(sma_long, title="Long SMA", color=color.red)

// Plot RSI on separate chart
hline(rsi_overbought, "Overbought", color=color.red)
hline(rsi_oversold, "Oversold", color=color.green)
plot(rsi, title="RSI", color=color.purple)

// Plot signals on chart
plotshape(series=long_condition and enable_long, title="Long Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=short_condition and enable_short, title="Short Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Background color for backtest range
bgcolor(inDateRange ? na : color.red, transp=90)



সম্পর্কিত

আরো