একাধিক টাইমফ্রেম উপর ভিত্তি করে বিটকয়েন পরিমাণগত ব্যান্ড ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

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

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

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

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

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

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

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

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

  1. বিভিন্ন পরামিতির সাথে RSI সূচকগুলির পরীক্ষার কার্যকারিতা।
  2. অন্যান্য সহায়ক ব্যান্ড সূচক প্রবর্তন করার চেষ্টা করুন।
  3. এইচএমএ ইন্ডিকেটরের দৈর্ঘ্য পরামিতিগুলি অপ্টিমাইজ করুন।
  4. স্টপ লস এবং লাভের কৌশল যোগ করুন।
  5. ব্যান্ড ট্রেডের জন্য হোল্ডিং চক্র সামঞ্জস্য করুন।

সিদ্ধান্ত

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


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy(title='Pyramiding BTC 5 min', overlay=true, pyramiding=5, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=20, commission_type=strategy.commission.percent, commission_value=0.075)
//the pyramide based on this script  https://www.tradingview.com/script/7NNJ0sXB-Pyramiding-Entries-On-Early-Trends-by-Coinrule/
//
fastLength = input(250, title="Fast filter length ", minval=1)
slowLength = input(500,title="Slow filter length",  minval=1)
source=close
v1=ema(source,fastLength)
v2=ema(source,slowLength)
//
//Backtest dates
fromMonth = input(defval=1, title="From Month")
fromDay = input(defval=10, title="From Day")
fromYear = input(defval=2020, title="From Year")
thruMonth = input(defval=1, title="Thru Month")
thruDay = input(defval=1, title="Thru Day")
thruYear = input(defval=2112, title="Thru Year")

showDate = input(defval=true, title="Show Date Range")

start = timestamp(fromYear, fromMonth, fromDay, 00, 00)  // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59)  // backtest finish window
window() =>  // create function "within window of time"
    time >= start and time <= finish ? true : false


leng=1
p1=close[1]

len55 = 10
//taken from https://www.tradingview.com/script/Ql1FjjfX-security-free-MTF-example-JD/
HTF = input("1D", type=input.resolution)
ti = change( time(HTF) ) != 0
T_c = fixnan( ti ? close : na )

vrsi = rsi(cum(change(T_c) * volume), leng)
pp=wma(vrsi,len55)

d=(vrsi[1]-pp[1])
len100 = 10
x=ema(d,len100)
//
zx=x/-1
col=zx > 0? color.lime : color.orange

//

tf10 = input("1", title = "Timeframe", type = input.resolution, options = ["1", "5", "15", "30", "60","120", "240","360","720", "D", "W"])

length = input(50, title = "Period", type = input.integer)
shift = input(1, title = "Shift", type = input.integer)

hma(_src, _length)=>
    wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length)))
    
hma3(_src, _length)=>
    p = length/2
    wma(wma(close,p/3)*3 - wma(close,p/2) - wma(close,p),p)

b =security(syminfo.tickerid, tf10, hma3(close[1], length)[shift])
//plot(a,color=color.gray)
//plot(b,color=color.yellow)
close_price = close[0]
len = input(25)

linear_reg = linreg(close_price, len, 0)


filter=input(true)

buy=crossover(linear_reg, b)

longsignal = (v1 > v2 or filter == false ) and buy and window()

//set take profit

ProfitTarget_Percent = input(3)
Profit_Ticks = close * (ProfitTarget_Percent / 100) / syminfo.mintick

//set take profit

LossTarget_Percent = input(10)
Loss_Ticks = close * (LossTarget_Percent / 100) / syminfo.mintick


//Order Placing

strategy.entry("Entry 1", strategy.long, when=strategy.opentrades == 0 and longsignal)

strategy.entry("Entry 2", strategy.long, when=strategy.opentrades == 1 and longsignal)

strategy.entry("Entry 3", strategy.long, when=strategy.opentrades == 2 and longsignal)

strategy.entry("Entry 4", strategy.long, when=strategy.opentrades == 3 and longsignal)

strategy.entry("Entry 5", strategy.long, when=strategy.opentrades == 4 and longsignal)





if strategy.position_size > 0
    strategy.exit(id="Exit 1", from_entry="Entry 1", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 2", from_entry="Entry 2", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 3", from_entry="Entry 3", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 4", from_entry="Entry 4", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 5", from_entry="Entry 5", profit=Profit_Ticks, loss=Loss_Ticks)
    



আরো