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

বাউলিশ ডিভার্জেন্স স্বল্পমেয়াদী দীর্ঘমেয়াদী ট্রেড ফাইন্ডার কৌশল

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

img

সারসংক্ষেপ

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

কৌশলগত যুক্তি

  1. আরএসআই সূচক দিয়ে উত্থানমুখী বিচ্যুতি চিহ্নিত করুন

    • আরএসআই পরামিতিগুলি নির্ধারণ করুন (ডিফল্ট 14 সময়কাল)
    • বর্তমান আরএসআই মান গণনা করুন
    • নিম্নলিখিত উর্ধ্বমুখী বিচ্যুতি আছে কিনা তা পরীক্ষা করুনঃ
      • আরএসআই একটি নিম্ন নিম্ন গঠন
      • দাম একই সময়ে একটি নিম্ন সর্বনিম্ন গঠন
      • RSI তারপর একটি উচ্চতর নিম্ন গঠন
      • তারপর দাম একটি উচ্চতর নিম্ন গঠন
  2. আরএসআই মানটি প্রান্তিকের নিচে কিনা তা পরীক্ষা করুন

    • আরএসআই-এর নিম্ন সীমা নির্ধারণ করুন (ডিফল্ট ৪০)
    • যদি বর্তমান আরএসআই এই প্রান্তিকের নিচে থাকে তবে এটি একটি দীর্ঘ প্রবেশের পয়েন্টকে নির্দেশ করতে পারে।
  3. বন্ধের মূল্য পূর্ববর্তী বিচ্ছিন্নতার সর্বনিম্নের নিচে কিনা তা পরীক্ষা করুন

    • যদি হ্যাঁ হয়, তাহলে বিপরীতমুখী বিক্রয় সংকেতটি আরও বৈধ করুন।
  4. স্টপ লস আউট শর্ত নির্ধারণ করুন

    • স্টপ লস সেট করুন (ডিফল্ট ৫%)
    • যদি এই শতাংশে পৌঁছায় তবে প্রস্থান করুন
  5. মুনাফা গ্রহণের শর্তাবলী সংজ্ঞায়িত করুন

    • আরএসআই-এর উচ্চ সীমা নির্ধারণ করুন (ডিফল্ট ৭৫)
    • যদি RSI এই প্রান্তিক সীমা অতিক্রম করে তবে বেরিয়ে আসুন

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

  1. আরএসআই বৈষম্য ব্যবহার করে স্বল্পমেয়াদী দামের রিবাউন্ডের সুযোগগুলি কার্যকরভাবে ক্যাপচার করা যায়

  2. আরএসআই নিম্ন প্রান্তিকের সাথে একত্রিত করা নির্দিষ্ট প্রবেশের পয়েন্টগুলি নির্ধারণ করতে সহায়তা করে

  3. স্টপ লস এবং লাভ নেওয়ার সেটিংস ঝুঁকি এবং পুরষ্কার পরিচালনা করতে সহায়তা করে

  4. কৌশল বিটকয়েন RSI সংকেত সঙ্গে বাস্তব ট্রেডিং অভিজ্ঞতা অনেক উল্লেখ এবং বিটকয়েন দীর্ঘ scalping জন্য খুব উপযুক্ত

  5. যুক্তিসঙ্গত প্যারামিটার সেটিংগুলি কৌশলটিকে বিভিন্ন বাজারের অবস্থার সাথে অভিযোজিত করে এবং লাইভ ট্রেডিংয়ের জন্য ভাল করে তোলে

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

  1. আরএসআই ডিভার্জেন্স ব্যর্থ হতে পারে, ভুলভাবে চিহ্নিত হলে ট্রেড হারাতে পারে

  2. একটি একক সূচক মিথ্যা সংকেত উত্পন্ন করে, অন্যদের সাথে একত্রিত করা উচিত

  3. সঠিক প্যারামিটার মান নির্বাচন করতে হবে, ভুল সেটিংস লাভজনকতা প্রভাবিত

  4. লং ট্রেডিংয়ে সামগ্রিক প্রবণতা বিবেচনা করতে হবে, প্রবণতার বিরুদ্ধে ট্রেডিং এড়ানো উচিত

  5. ট্রেডিং খরচ সম্পর্কে সতর্ক থাকা দরকার, উচ্চ ফ্রিকোয়েন্সি ট্রেডিং লাভের উপর প্রভাব ফেলে

  6. বাজারের পরিবর্তনের উপর ভিত্তি করে নিয়মিত প্যারামিটারগুলি ব্যাকটেস্ট এবং অপ্টিমাইজ করা উচিত

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

  1. মিথ্যা সংকেত হ্রাস করার জন্য ফিল্টার অবস্থার জন্য চলমান গড় মত অন্যান্য সূচক যোগ বিবেচনা করুন

  2. অনুকূল সমন্বয় খুঁজে পেতে প্রতিটি সময় ফ্রেমে বিভিন্ন সময়ের সেটিংস পরীক্ষা করুন

  3. ট্রেন্ড বিপরীতের বিরুদ্ধে কেনা এড়ানোর জন্য উচ্চতর সময়সীমার প্রবণতা বিশ্লেষণ অন্তর্ভুক্ত করুন

  4. গতিশীল স্টপ লস বাস্তবায়ন করুন যা লাভের মাত্রা বাড়ার সাথে সাথে ধীরে ধীরে স্টপগুলি বাড়ায়

  5. নির্দিষ্ট পজিশনের আকারের উপর ভিত্তি করে স্টপ লস শতাংশ সামঞ্জস্য করুন

  6. স্বয়ংক্রিয় প্যারামিটার অপ্টিমাইজেশনের জন্য মেশিন লার্নিং চালু করুন

সিদ্ধান্ত

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


/*backtest
start: 2023-11-02 00:00:00
end: 2023-11-09 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bullish Divergence Short-term Long Trade Finder", overlay=false)

max_range = 50 
min_range = 5
///pivot_left = 25
pivot_right = 5

//Inputs
src = input(close, title="Source")
rsiBearCondMin = input.int(50, title="RSI Bearish Condition Minimum")
rsiBearCondSellMin = input.int(60, title="RSI Bearish Condition Sell Min")
rsiBullCondMin = input.int(40, title="RSI Bull Condition Minimum")
pivot_left = input.int(25, title="Look Back this many candles")
SellWhenRSI = input.int(75, title="RSI Sell Value")
StopLossPercent = input.int(5, title="Stop loss Percentage")
rsiPeriod = input.int(14, title="RSI Length")
rsiOversold = input.int(30, title="RSI Oversold Level")
rsiOverbought = input.int(70, title="RSI Overbought Level")

//RSI Function/ value 
rsi_value = ta.rsi(src, rsiPeriod)
rsi_hour = request.security(syminfo.tickerid,'60',rsi_value)
rsi_4hour = request.security(syminfo.tickerid,'240',rsi_value)
rsi_Day = request.security(syminfo.tickerid,'D',rsi_value)
plot(rsi_value, title="RSI", linewidth = 2, color = color.black, display =display.all)
hline(50, linestyle = hline.style_dotted)
rsi_ob = hline(70, linestyle=hline.style_dotted)
rsi_os = hline(30, linestyle=hline.style_dotted)
fill(rsi_ob, rsi_os, color.white)
SL_percent = (100-StopLossPercent)/100 

pivot_low_true = na(ta.pivotlow(rsi_value, pivot_left, pivot_right)) ? false : true

//create a function that returns truee/false
confirm_range(x) => 
    bars = ta.barssince(x == true) //counts the number of bars since thee last time condition was true
    min_range <= bars and bars <= max_range // makees sure bars is less than max_range(50) and greater than min_range(5) 


// RSI higher check / low check
RSI_HL_check = rsi_value<rsiBullCondMin and rsi_value > ta.valuewhen(pivot_low_true and rsi_value<rsiBullCondMin, rsi_value,1) and confirm_range(pivot_low_true[1]) 

// price check for lower low
price_ll_check = low < ta.valuewhen(pivot_low_true, low, 1)

bullCond = price_ll_check and RSI_HL_check and pivot_low_true

//pivot_high_true = na(ta.pivothigh(rsi_value, pivot_left, pivot_right))  ? false : true
pivot_high_true = na(ta.pivothigh(rsi_value, pivot_left, pivot_right))   ? false : true

// RSI Lower check / high check ensuring that the RSI dips below 30 to start divergence 
RSI_LH_check = rsi_value < ta.valuewhen(pivot_high_true and rsi_value>rsiBearCondMin, rsi_value,1) and confirm_range(pivot_high_true[1]) //and rsi_value[pivot_right] >= 65

// price check for lower low
price_hh_check = high > ta.valuewhen(pivot_high_true, high, 1)

bearCond = price_hh_check and RSI_LH_check and pivot_high_true and rsi_value[3] > rsiBearCondSellMin

plot(pivot_low_true ? rsi_value : na, offset=-5, linewidth=3, color=(bullCond ? color.green : color.new(color.white, 100)))

plotshape(bullCond ? rsi_value : na , text = "BUY", style =  shape.labelup, location = location.absolute, color = color.green, offset =0, textcolor = color.white )

plot(pivot_low_true ? rsi_value : na, offset=-5, linewidth=3, color=(bearCond ? color.red : color.new(color.white, 100)))

plotshape(bearCond ? rsi_value : na , text = "Sell", style =  shape.labelup, location = location.absolute, color = color.red, offset =0, textcolor = color.white )
//[bbUpperBand, bbMiddleBand, bbLowerBand] = ta.bb(src, bbPeriod, bbDev)

//Entry Condition
longCondition = false

//bullEntry = bullCond and RSI_HL_check and confirm_range(pivot_low_true[1])
if bullCond and close < ta.valuewhen(pivot_low_true, low, 1) and rsi_hour <40 ///and rsi_4hour<40 //and rsi_Day<50
    strategy.entry("Long", strategy.long)
    
//Exit Condition
if (strategy.position_size > 0 and close < strategy.position_avg_price*SL_percent)
    strategy.close("Long")
if (strategy.position_size > 0 and (rsi_value > SellWhenRSI or bearCond))
    strategy.close("Long")


আরো