ভিডব্লিউএমএ-এডএক্স মম্পটম এবং ট্রেন্ড-ভিত্তিক বিটকয়েন লং স্ট্র্যাটেজি

লেখক:চাওঝাং, তারিখঃ 2024-04-03 17:47:49
ট্যাগঃভিডব্লিউএমএএডিএক্সডিএমআইএসএমএইএমএআরএমএডব্লিউএমএএইচএমএএসএমএমএ

img

সারসংক্ষেপ

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

কৌশলগত নীতি

  1. দীর্ঘ প্রবণতা নির্ধারণের জন্য 9 দিনের এবং 14 দিনের ভিডাব্লুএমএ ব্যবহার করুন। যখন স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের উপরে অতিক্রম করে তখন একটি উত্থান সংকেত উত্পন্ন হয়।
  2. 89 দিনের সর্বোচ্চ এবং সর্বনিম্ন মূল্য ভিডব্লিউএমএ থেকে নির্মিত একটি অভিযোজিত চলমান গড় প্রবণতা ফিল্টার হিসাবে প্রবর্তন করুন। শুধুমাত্র যখন বন্ধ মূল্য বা খোলার মূল্য এই চলমান গড়ের উপরে থাকে তখন একটি অবস্থান খোলার বিবেচনা করুন।
  3. ADX এবং DMI সূচক ব্যবহার করে প্রবণতা শক্তি নিশ্চিত করুন। ADX 18 এর চেয়ে বড় এবং +DI এবং -DI এর মধ্যে পার্থক্য 15 এর চেয়ে বড় হলেই প্রবণতা যথেষ্ট শক্তিশালী বলে মনে করা হয়।
  4. কম ট্রেডিং ভলিউম সহ সময়কাল এড়াতে ভলিউম শতাংশ ফাংশন ব্যবহার করে 60% এবং 95% এর মধ্যে ট্রেডিং ভলিউম সহ বারগুলি ফিল্টার করুন।
  5. স্টপ-লস স্তরটি পূর্ববর্তী ক্যান্ডেলের উচ্চতার 0.96 থেকে 0.99 গুণে সেট করুন, ঝুঁকি নিয়ন্ত্রণের জন্য সময়সীমা বাড়ার সাথে সাথে হ্রাস করুন।
  6. পূর্ব নির্ধারিত হোল্ডিং সময় পৌঁছলে বা দাম অভিযোজিত চলমান গড়ের নিচে নেমে গেলে পজিশনটি বন্ধ করুন।

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

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

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

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

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

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

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

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


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © Q_D_Nam_N_96

//@version=5
strategy("Long BTC Strategy", overlay=true, 
     default_qty_type = strategy.percent_of_equity, 
     default_qty_value = 100, initial_capital = 1000, currency = currency.USD)

Volume_Quartile(vol) =>
    qvol1 = ta.percentile_linear_interpolation(vol, 60,15)
    qvol2 = ta.percentile_linear_interpolation(vol, 60,95)
    vol > qvol1 and vol < qvol2

smma(src, length) =>
	smma =  0.0
	smma := na(smma[1]) ? ta.sma(src, length) : (smma[1] * (length - 1) + src) / length
	smma

ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "RMA" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)
        "HMA" => ta.hma(source, length)
        "SMMA" => smma(source, length)

DMI(len, lensig) =>
    up = ta.change(high)
    down = -ta.change(low)
    plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
    minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
    trur = ta.rma(ta.tr, len)
    plus = fixnan(100 * ta.rma(plusDM, len) / trur)+11
    minus = fixnan(100 * ta.rma(minusDM, len) / trur)-11
    sum = plus + minus
    adx = 100 * ta.vwma(math.abs(plus - minus-11) / (sum == 0 ? 1 : sum), lensig)

    [adx, plus, minus]

cond1 = Volume_Quartile(volume*hlcc4)

ma1 = ma(close,9, "VWMA")
// plot(ma1, color = color.blue)
ma2 = ma(close,14, "VWMA")
// plot(ma2, color = color.orange)

n = switch timeframe.period
    "240" => 0.997
    => 0.995

ma3 = (0.1*ma(ta.highest(close,89),89, "VWMA") + 
     0.9*ma(ta.lowest(close,89),89, "VWMA"))*n

plot(ma3, color = color.white)

[adx, plus, minus] = DMI(7, 10)


cond2 = adx > 18 and plus - math.abs(minus) > 15

var int count = 0

if barstate.isconfirmed and strategy.position_size != 0
    count += 1
else
    count := 0

p_roc = 0
if timeframe.period == '240'
    p_roc := 14
else
    p_roc := 10

longCondition = ta.crossover(ma1, ma2) and (close > open ? close > ma3 : open > ma3) and ((ma3 - ma3[1])*100/ma3[1] >= -0.2) and ((close-close[p_roc])*100/close[p_roc] > -2.0)
float alpha = 0.0
float sl_src = high[1]
if (longCondition and cond1 and cond2 and strategy.position_size == 0)
    strategy.entry("buy", strategy.long)
    if timeframe.period == '240'
        alpha := 0.96
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+5, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == '30'
        alpha := 0.985
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == '45'
        alpha := 0.985
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == '60'
        alpha := 0.98
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == '120'
        alpha := 0.97
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == '180'
        alpha := 0.96
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == 'D'
        alpha := 0.95
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else 
        alpha := 0.93
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)

period = switch timeframe.period
    "240" => 90
    "180" => 59
    "120" => 35
    "30" => 64
    "45" => 40
    "60" => 66
    "D" => 22
    => 64

if (count > period or close < ma3)
    strategy.close('buy', immediately = true) 

সম্পর্কিত

আরো

Qazwsz888এটি আরও ভাল হবে যদি আপনি একটি মোবাইল থাম্বনেইল যুক্ত করেন।