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

ডায়নামিক স্টপ লস সহ মাল্টি-টাইমফ্রেম এসএমএ ট্রেন্ড অনুসরণকারী কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-06-03 10:57:05
ট্যাগঃএসএমএপ্রবণতা

img

সারসংক্ষেপ

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

কৌশলগত নীতি

  1. বাজার প্রবণতার দিকনির্দেশনা নির্ধারণের জন্য স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী এসএমএ গণনা করুন।
  2. স্বল্পমেয়াদী এসএমএ দীর্ঘমেয়াদী এসএমএ অতিক্রম করলে ক্রয় সংকেত এবং স্বল্পমেয়াদী এসএমএ দীর্ঘমেয়াদী এসএমএ অতিক্রম করার সময় বিক্রয় সংকেত উৎপন্ন করে।
  3. মিথ্যা সংকেতগুলি ফিল্টার করতে প্রবণতা নিশ্চিতকরণ শর্তগুলি ব্যবহার করুন। কেবলমাত্র যখন প্রধান প্রবণতা উত্থান হয় তখন ক্রয় সম্পাদন করুন এবং কেবলমাত্র যখন প্রধান প্রবণতা হ্রাস হয় তখন বিক্রয় সম্পাদন করুন।
  4. ট্রেডিং ঝুঁকি নিয়ন্ত্রণের জন্য লাভ এবং স্টপ লস বৈশিষ্ট্যগুলি বাস্তবায়ন করুন। যখন মূল্য পূর্বনির্ধারিত লাভ বা স্টপ লস স্তরে পৌঁছে যায় তখন অবস্থানগুলি বন্ধ করুন।
  5. প্রবণতা নিশ্চিতকরণের শর্তের উপর ভিত্তি করে গতিশীলভাবে অবস্থানগুলি সামঞ্জস্য করুন। প্রবণতা বিপরীতকরণের ক্ষতি এড়াতে প্রধান প্রবণতা পরিবর্তন হলে অবিলম্বে অবস্থানগুলি বন্ধ করুন।

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

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

কৌশলগত ঝুঁকি

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

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

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

সিদ্ধান্ত

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


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

//@version=5
strategy("market slayer v3", overlay=true)

// Input parameters
showConfirmationTrend = input(title='Show Trend', defval=true)
confirmationTrendTimeframe = input.timeframe(title='Main Trend', defval='240')
confirmationTrendValue = input(title='Main Trend Value', defval=2)
showConfirmationBars = input(title='Show Confirmation Bars', defval=true)
topCbarValue = input(title='Top Confirmation Value', defval=60)
short_length = input.int(10, minval=1, title="Short SMA Length")
long_length = input.int(20, minval=1, title="Long SMA Length")
takeProfitEnabled = input(title="Take Profit Enabled", defval=false)
takeProfitValue = input.float(title="Take Profit (points)", defval=20, minval=1)
stopLossEnabled = input(title="Stop Loss Enabled", defval=false)
stopLossValue = input.float(title="Stop Loss (points)", defval=50, minval=1)

// Calculate SMAs
short_sma = ta.sma(close, short_length)
long_sma = ta.sma(close, long_length)

// Generate buy and sell signals based on SMAs
buy_signal = ta.crossover(short_sma, long_sma)
sell_signal = ta.crossunder(short_sma, long_sma)

// Plot SMAs
plot(short_sma, color=color.rgb(24, 170, 11), title="Short SMA")
plot(long_sma, color=color.red, title="Long SMA")

// Confirmation Bars
f_confirmationBarBullish(cbValue) =>
    cBarClose = close
    slowConfirmationBarSmaHigh = ta.sma(high, cbValue)
    slowConfirmationBarSmaLow = ta.sma(low, cbValue)
    slowConfirmationBarHlv = int(na)
    slowConfirmationBarHlv := cBarClose > slowConfirmationBarSmaHigh ? 1 : cBarClose < slowConfirmationBarSmaLow ? -1 : slowConfirmationBarHlv[1]
    slowConfirmationBarSslDown = slowConfirmationBarHlv < 0 ? slowConfirmationBarSmaHigh : slowConfirmationBarSmaLow
    slowConfirmationBarSslUp = slowConfirmationBarHlv < 0 ? slowConfirmationBarSmaLow : slowConfirmationBarSmaHigh
    slowConfirmationBarSslUp > slowConfirmationBarSslDown

fastConfirmationBarBullish = f_confirmationBarBullish(topCbarValue)
fastConfirmationBarBearish = not fastConfirmationBarBullish
fastConfirmationBarClr = fastConfirmationBarBullish ? color.green : color.red

fastConfirmationChangeBullish = fastConfirmationBarBullish and fastConfirmationBarBearish[1]
fastConfirmationChangeBearish = fastConfirmationBarBearish and fastConfirmationBarBullish[1]

confirmationTrendBullish = request.security(syminfo.tickerid, confirmationTrendTimeframe, f_confirmationBarBullish(confirmationTrendValue), lookahead=barmerge.lookahead_on)
confirmationTrendBearish = not confirmationTrendBullish
confirmationTrendClr = confirmationTrendBullish ? color.green : color.red

// Plot trend labels
plotshape(showConfirmationTrend, style=shape.square, location=location.top, color=confirmationTrendClr, title='Trend Confirmation Bars')
plotshape(showConfirmationBars and (fastConfirmationChangeBullish or fastConfirmationChangeBearish), style=shape.triangleup, location=location.top, color=fastConfirmationChangeBullish ? color.green : color.red, title='Fast Confirmation Bars')
plotshape(showConfirmationBars and buy_signal and confirmationTrendBullish, style=shape.triangleup, location=location.top, color=color.green, title='Buy Signal')
plotshape(showConfirmationBars and sell_signal and confirmationTrendBearish, style=shape.triangledown, location=location.top, color=color.red, title='Sell Signal')

// Generate trade signals
buy_condition = buy_signal and confirmationTrendBullish and not (strategy.opentrades > 0)
sell_condition = sell_signal and confirmationTrendBearish and not (strategy.opentrades > 0)

strategy.entry("Buy", strategy.long, when=buy_condition, comment ="BUY CALLS")
strategy.entry("Sell", strategy.short, when=sell_condition, comment ="BUY PUTS")

// Take Profit
if (takeProfitEnabled)
    strategy.exit("Take Profit Buy", from_entry="Buy", profit=takeProfitValue)
    strategy.exit("Take Profit Sell", from_entry="Sell", profit=takeProfitValue)

// Stop Loss
if (stopLossEnabled)
    strategy.exit("Stop Loss Buy", from_entry="Buy", loss=stopLossValue)
    strategy.exit("Stop Loss Sell", from_entry="Sell", loss=stopLossValue)

// Close trades based on trend confirmation bars
if strategy.opentrades > 0
    if strategy.position_size > 0
        if not confirmationTrendBullish
            strategy.close("Buy", comment ="CLOSE CALLS")
    else
        if not confirmationTrendBearish
            strategy.close("Sell", comment ="CLOSE PUTS")

// Define alert conditions as booleans
buy_open_alert = buy_condition
sell_open_alert = sell_condition
buy_closed_alert = strategy.opentrades < 0
sell_closed_alert = strategy.opentrades > 0

// Alerts
alertcondition(buy_open_alert, title='Buy calls', message='Buy calls Opened')
alertcondition(sell_open_alert, title='buy puts', message='buy Puts Opened')
alertcondition(buy_closed_alert, title='exit calls', message='exit calls ')
alertcondition(sell_closed_alert, title='exit puts', message='exit puts Closed')

সম্পর্কিত

আরো