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


সৃষ্টির তারিখ: 2024-03-08 16:20:16 অবশেষে সংশোধন করুন: 2024-03-08 16:20:16
অনুলিপি: 0 ক্লিকের সংখ্যা: 747
1
ফোকাস
1617
অনুসারী

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

কৌশল ওভারভিউ

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

কৌশল নীতি

  1. বিটকয়েনের বর্তমান মূল্য অবশ্যই উচ্চ-স্তরের টাইম ফ্রেমের EMA (২০-সপ্তাহের EMA) এর চেয়ে বেশি হতে হবে
  2. বিটকয়েন “সতর্ক” অবস্থায় থাকতে পারে না, অর্থাৎ বিটকয়েনের সাম্প্রতিক পয়েন্টের সর্বনিম্ন মূল্যের বর্তমান K-লাইনটি ATR এর 1.5 গুণের চেয়ে বেশি, বা দিনের 20 EMA এর চেয়ে কম বন্ধের মূল্য
  3. স্টপ লস সেট করা হয়েছে সাম্প্রতিকতম তরঙ্গের শিখর বিয়োগ 1 টিএটিআর, যদি সতর্কতা অবলম্বন করা হয় তবে এটিআর বিয়োগ 20% ((অর্থাৎ 0.2 টিএটিআর)
  4. যখন মূল্য বন্ধের মূল্যের নীচে থাকে, তখন পরবর্তী K- লাইনে একটি প্লেইন খোলা হয়

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

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

  1. সহজ এবং কার্যকর: এই কৌশলটির যুক্তি সহজ এবং স্পষ্ট, সহজেই বোঝা যায় এবং বাস্তবায়ন করা যায়, এবং বিটকয়েনের মূল উত্থানের প্রবণতা কার্যকরভাবে ধরা যায়।

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

  3. প্রবণতা ফিল্টারিংঃ উচ্চ স্তরের গড় লাইন (২০ সপ্তাহের ইএমএ) ফিল্টারিংয়ের মাধ্যমে, কেবলমাত্র স্পষ্ট উত্থানের প্রবণতার মধ্যে প্রবেশ করে, কৌশলগত বিজয় এবং লাভ-ক্ষতির অনুপাতকে উল্লেখযোগ্যভাবে উন্নত করে।

  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")