बिटकॉइन क्वांटिटेटिव बैंड ट्रेडिंग रणनीति कई टाइमफ्रेम पर आधारित

लेखक:चाओझांग, दिनांक: 2023-12-01 13:50:02
टैगः

img

अवलोकन

यह रणनीति विभिन्न समय सीमाओं में मात्रात्मक संकेतकों को मिलाकर बिटकॉइन के मूल्य बैंड की पहचान करती है, और ट्रेंड ट्रैकिंग ट्रेड करती है। यह 5 मिनट की समय सीमा को अपनाती है और लाभ के लिए बैंड के दीर्घकालिक रखरखाव का लक्ष्य रखती है।

रणनीति तर्क

  1. दैनिक समय सीमा के आधार पर गणना की गई आरएसआई सूचक झूठे ब्रेकआउट को फ़िल्टर करने के लिए ट्रेडिंग वॉल्यूम के आधार पर वजन करती है।
  2. दैनिक आरएसआई संकेतक को एक मात्रात्मक बैंड संकेतक बनाने के लिए ईएमए द्वारा समतल किया जाता है।
  3. 5 मिनट की समय सीमा व्यापार संकेत उत्पन्न करने के लिए रैखिक प्रतिगमन और एचएमए संकेतकों के संयोजन का उपयोग करती है।
  4. मात्रात्मक बैंड संकेतक और समय सीमाओं में ट्रेडिंग संकेतों को मिलाकर, रणनीति मध्यम से दीर्घकालिक मूल्य बैंड की पहचान करती है।

लाभ विश्लेषण

  1. वॉल्यूम-वेटेड आरएसआई संकेतक प्रभावी रूप से सच्चे बैंड की पहचान कर सकता है और झूठे ब्रेकआउट को फ़िल्टर कर सकता है।
  2. एचएमए सूचक मूल्य परिवर्तनों के प्रति अधिक संवेदनशील है और समय पर मोड़ को पकड़ सकता है।
  3. कई समय सीमाओं को मिलाकर मध्यम से दीर्घकालिक बैंड की अधिक सटीक पहचान होती है।
  4. 5-मिनट के समय-सीमा पर व्यापार करने से ऑपरेशन की आवृत्ति अधिक हो जाती है।
  5. एक बैंड ट्रैकिंग रणनीति के रूप में, इसके लिए बिंदुओं को सटीक रूप से चुनने की आवश्यकता नहीं होती है और यह अधिक समय तक रह सकती है।

जोखिम विश्लेषण

  1. मात्रात्मक संकेतक झूठे संकेत उत्पन्न कर सकते हैं, मौलिक विश्लेषण की सिफारिश की जाती है।
  2. बैंड्स में मध्यवर्ती उलटफेर हो सकते हैं, स्टॉप-लॉस तंत्र को लागू किया जाना चाहिए।
  3. सिग्नल में देरी से सबसे अच्छे प्रवेश बिंदुओं की कमी हो सकती है।
  4. लाभदायक बैंडों को अधिक समय तक रखने की आवश्यकता होती है, जिसके लिए पूंजी दबाव सहिष्णुता की आवश्यकता होती है।

अनुकूलन दिशाएँ

  1. विभिन्न मापदंडों के साथ आरएसआई संकेतकों की परीक्षण प्रभावशीलता।
  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)
    



अधिक