বিটকয়েন মম্পটম ট্রেইলিং স্টপ কৌশল

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

img

কৌশল ওভারভিউ

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

কৌশল নীতি

  1. বিটকয়েনের বর্তমান মূল্য অবশ্যই উচ্চতর টাইমফ্রেম EMA (20-সপ্তাহের EMA) এর উপরে ট্রেডিং করতে হবে।
  2. বিটকয়েনকে সতর্কতার অবস্থায় থাকতে হবে না, যা সাম্প্রতিক সুইং হাই বিয়োগ বর্তমান বার s নিম্নের চেয়ে 1.5 গুণ বেশি বা দৈনিক বন্ধের দৈনিক 20 EMA এর চেয়ে কম হিসাবে সংজ্ঞায়িত করা হয়েছে।
  3. স্টপ-লস সেট করা হয় সাম্প্রতিক সুইং হাইতে বিয়োগ ১ ATR, অথবা বিয়োগ ২০% ATR (অর্থাৎ ০.২ ATR) যদি সতর্কতার অবস্থায় থাকে।
  4. পরবর্তী বারের প্রস্থানটি খোলা হয় যখন মূল্য স্টপ-লসের নিচে বন্ধ হয়।

কৌশলটি একটি প্রবণতা ফিল্টার হিসাবে সাপ্তাহিক চার্ট এবং 20-সপ্তাহের ইএমএ ব্যবহার করে, কেবলমাত্র যখন দাম 20 সপ্তাহের ইএমএ এর উপরে থাকে তখনই প্রবেশ করে। একটি 5-অবধি এটিআর ট্রেলিং স্টপের দূরত্বকে গতিশীলভাবে সামঞ্জস্য করতে ব্যবহৃত হয়, যা সতর্কতার অবস্থায় শক্ত হয়। সতর্কতা রাষ্ট্রটি দুটি শর্ত দ্বারা সংজ্ঞায়িত করা হয়ঃ সাম্প্রতিক সুইং উচ্চ থেকে বর্তমান নিম্ন পর্যন্ত দূরত্বটি এটিআর এর 1.5 গুণ বেশি, বা দৈনিক বন্ধটি দৈনিক 20 ইএমএর নীচে থাকে। এই গতিশীল স্টপ-লস সমন্বয় পদ্ধতি প্রবণতা শক্তিশালী হলে বৃহত্তর pullback রুমের অনুমতি দেয় এবং প্রবণতা দুর্বল হলে মুনাফা দ্রুত লক করে।

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

  1. সরলতা এবং কার্যকারিতাঃ কৌশল যুক্তি সহজ, পরিষ্কার, বোঝা এবং বাস্তবায়ন করা সহজ, যখন কার্যকরভাবে বিটকয়েনের প্রধান আপট্রেন্ডগুলি ক্যাপচার করে।

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

  3. প্রবণতা ফিল্টারিংঃ উচ্চ স্তরের চলমান গড় (20-সপ্তাহের ইএমএ) দিয়ে ফিল্টারিং করে, কৌশলটি কেবল স্পষ্ট আপট্রেন্ডের সময় প্রবেশ করে, কৌশলটির জয়ের হার এবং ঝুঁকি-পুরষ্কার অনুপাতকে ব্যাপকভাবে উন্নত করে।

  4. পজিশন সাইজিংঃ ডিফল্টভাবে একটি পূর্ণ পজিশনের সাথে ট্রেড করা হয়, মূলধন ব্যবহার সর্বাধিকীকরণ এবং মূলধন দক্ষতা উন্নত করা হয়। পজিশনের আকারও নমনীয়ভাবে সামঞ্জস্য করা যায়।

  5. বিস্তৃত প্রয়োগযোগ্যতাঃ কৌশল যুক্তি সহজেই অন্যান্য সম্পদ এবং বাজারে পোর্ট করা যেতে পারে, ভাল সাধারণীকরণযোগ্যতা আছে।

কৌশলগত ঝুঁকি

  1. প্যারামিটার প্রয়োগযোগ্যতাঃ কৌশল প্যারামিটারগুলি বিটকয়েন বাজারের বৈশিষ্ট্যগুলির উপর ভিত্তি করে সেট করা হয় এবং অন্যান্য বাজারে তাদের প্রয়োগযোগ্যতা যাচাই করা দরকার এবং বিভিন্ন সম্পদের জন্য প্যারামিটার অপ্টিমাইজেশনের প্রয়োজন হতে পারে।

  2. প্রবণতা সনাক্তকরণঃ কৌশলটি মূলত প্রবণতা মূল্যায়নের জন্য উচ্চতর স্তরের ইএমএ এবং এটিআর এর মতো প্রযুক্তিগত সূচকগুলির উপর নির্ভর করে, যা বাজারের পরিস্থিতি বোঝার ক্ষেত্রে মৌলিক বিশ্লেষণের মতো ব্যাপক নয় এবং বাজারের পালা পয়েন্টগুলিতে ত্রুটির প্রবণতা রয়েছে।

  3. স্টপ-লস ঝুঁকিঃ যদিও গতিশীল স্টপ-লস ঝুঁকিকে কিছুটা নিয়ন্ত্রণ করতে পারে, তবে চরম বাজারের পরিস্থিতিতে (যেমন তীব্র পতন বা দ্রুত গভীর ওঠানামা) উল্লেখযোগ্য ড্রাউনডাউন এখনও ঘটতে পারে। তদতিরিক্ত, স্টপ-লস অবস্থানটি তুলনামূলকভাবে সংকীর্ণ, যা অস্থির বাজারে ঘন ঘন স্টপ-আউট হতে পারে।

  4. লাভের সম্ভাবনাঃ একমুখী আপট্রেন্ডে কৌশলটি ভালভাবে কাজ করে তবে ব্যাপ্তি সীমাবদ্ধ বাজারে ঘন ঘন স্টপ-লসের দ্বন্দ্বের মধ্যে পড়ার সম্ভাবনা বেশি, সামগ্রিক লাভের সম্ভাবনা সীমাবদ্ধ করে।

  5. লাইভ পারফরম্যান্সঃ যদিও কৌশলটি ব্যাকটেস্টিংয়ে ভাল পারফর্ম করে, লাইভ ট্রেডিং স্লিপ এবং কমিশনগুলির মতো কারণগুলির দ্বারা প্রভাবিত হয় এবং প্রকৃত ফলাফলগুলি তাত্ত্বিক রিটার্ন থেকে পৃথক হতে পারে, যাতে সাবধানে মূল্যায়ন প্রয়োজন।

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

  1. প্রবণতা নির্ধারণঃ প্রবণতা সনাক্তকরণের নির্ভুলতা এবং নির্ভরযোগ্যতা উন্নত করার জন্য আরও উচ্চ স্তরের চলমান গড়, অস্থিরতা সূচক বা এমনকি মৌলিক তথ্য প্রবর্তন বিবেচনা করুন।

  2. ডায়নামিক পরামিতিঃ স্টপ লস পজিশন এবং এটিআর পরামিতিগুলিকে বিভিন্ন বাজারের অবস্থার সাথে মানিয়ে নিতে মূল্য বা অস্থিরতার সাথে সম্পর্কিত গতিশীল সমন্বয় প্রক্রিয়া প্রবর্তন করে আরও অনুকূল করা যেতে পারে।

  3. পজিশনের আকার নির্ধারণঃ প্রবণতা শক্তি এবং অস্থিরতার মতো সূচকগুলির উপর ভিত্তি করে পজিশনের আকার গতিশীলভাবে সামঞ্জস্য করা, প্রবণতা শক্তিশালী হলে পজিশনের আকার বৃদ্ধি করা এবং উচ্চ অস্থিরতার সময় ঝুঁকি-প্রতিফলন অনুপাত উন্নত করার জন্য পজিশনের আকার হ্রাস করা।

  4. লং/শর্ট মেকানিজমঃ কৌশলটির প্রয়োগযোগ্যতা এবং সম্ভাব্য লাভজনকতা বাড়ানোর জন্য হ্রাস বাজারে একটি শর্ট বিক্রয় ব্যবস্থা চালু করা। তবে এন্ট্রি এবং স্টপ-লস নিয়মগুলি পুনরায় ডিজাইন করা দরকার।

  5. কৌশল সংমিশ্রণঃ কৌশল স্থিতিশীলতা এবং লাভজনকতা উন্নত করার জন্য একে অপরের শক্তি পরিপূরক করার জন্য এই কৌশলটি অন্যান্য কৌশল (যেমন গড় বিপরীত) সঙ্গে একত্রিত করুন।

কৌশল সংক্ষিপ্তসার

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


/*backtest
start: 2023-03-08 00:00:00
end: 2024-03-07 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/
// © ZenAndTheArtOfTrading
// ------------------------------------------------------------------------------------------------------
// System Concept: Capture as much Bitcoin upside volatility as possible while side-stepping downside volatility.
//  Entry Rule #1: Bitcoin must be trading above higher-timeframe EMA (Weekly 20 EMA)
//  Entry Rule #2: Bitcoin must not be in 'caution' condition
//      -> Caution: True if BTC's recent swing high minus its current low is > 1.5x ATR OR close < Daily EMA
//  Trailing Stop: Stop is trailed 1 ATR from recent swing high, OR 20% of ATR if in caution condition
// ------------------------------------------------------------------------------------------------------
// @version=5
strategy("Bitcoin Momentum Strategy", 
     overlay=true)

// Get user input
var const string    G_STRATEGY  = "Strategy Entry Settings"
var const string    G_EXIT      = "Strategy Exit Settings"
var const string    G_FILTER    = "Strategy Filters"
i_HigherTimeframe   = input.timeframe("W", "Higher Timeframe", group=G_STRATEGY, tooltip="Higher timeframe MA reference")
i_EmaLength         = input.int(20, "EMA Length", group=G_STRATEGY, tooltip="Moving average period length")
i_AtrLength         = input.int(5, "ATR Length", group=G_STRATEGY, tooltip="ATR period length")
i_TrailStopSource   = input.source(low, "Trail Stop Source", group=G_EXIT, tooltip="Lowest price source for trailing stop")
i_TrailStopLookback = input.int(7, "Trail Stop Lookback", group=G_EXIT, tooltip="How many bars to look back for trailing price source")
i_TrailStopMulti    = input.float(0.2, "Trailing Stop Ratchet Multiplier", group=G_EXIT, tooltip="When momentum is yellow (caution), shrink ATR distance for TS by this much")
i_StartTime         = input(timestamp("01 Jan 2000 13:30 +0000"), "Start Filter", group=G_FILTER, tooltip="Start date & time to begin searching for setups")
i_EndTime           = input(timestamp("1 Jan 2099 19:30 +0000"), "End Filter", group=G_FILTER, tooltip="End date & time to stop searching for setups")

// Define custom security function which does not repaint
RequestSecurity_NonRP(_market, _res, _exp) => request.security(_market, _res, _exp[barstate.isrealtime ? 1 : 0])[barstate.isrealtime ? 0 : 1]

// Define date filter check
DateFilter(int start, int end) => time >= start and time <= end

// Get indicator values
float   atrValue    = ta.atr(i_AtrLength)
float   emaValue    = ta.ema(close, i_EmaLength)
float   htfEmaValue = RequestSecurity_NonRP(syminfo.tickerid, i_HigherTimeframe, emaValue)
float   marketPrice = close

// Check for bullishness / bearish volatility caution
bool    isBullish   = marketPrice > htfEmaValue
bool    isCaution   = isBullish and (ta.highest(high, 7) - low > (atrValue * 1.5) or marketPrice < emaValue) 

// Set momentum color
color bgCol = color.red
if isBullish[1]
    bgCol := color.green
if isCaution[1]
    bgCol := color.orange

// Handle strategy entry, and reset trailing stop
var float trailStop = na
if isBullish and strategy.position_size == 0 and not isCaution
    strategy.entry(id="Buy", direction=strategy.long)
    trailStop := na

// Update trailing stop
float temp_trailStop = ta.highest(i_TrailStopSource, i_TrailStopLookback) - (isCaution[1] ? atrValue * i_TrailStopMulti : atrValue)
if strategy.position_size > 0
    if temp_trailStop > trailStop or na(trailStop)
        trailStop := temp_trailStop

// Handle strategy exit
if (close < trailStop or close < htfEmaValue) and barstate.isconfirmed
    strategy.close("Buy", comment="Sell")

// Draw trailing stop, HTF EMA and color-coded momentum indicator
plotshape(true, color=bgCol, style=shape.square, location=location.bottom, size=size.auto, title="Momentum Strength")
plot(htfEmaValue, color=close > htfEmaValue ? color.green : color.red, linewidth=2, title="HTF EMA")
plot(emaValue, color=close > emaValue ? color.green : color.red, linewidth=1, title="CTF EMA")
plot(strategy.position_size[1] > 0 ? trailStop : na, style=plot.style_linebr, color=color.red, title="Stop Loss")

আরো