वास्तविक शक्ति सूचकांक पर आधारित बिटकॉइन अल्पकालिक व्यापार रणनीति

लेखक:चाओझांग, दिनांक: 2023-10-07 15:12:08
टैगः

अवलोकन

यह रणनीति बिटकॉइन बाजार के रुझानों की पहचान ट्रू स्ट्रेंथ इंडेक्स (टीएसआई) की गणना करके करती है और बिटकॉइन के एल्गोरिथम ट्रेडिंग को लागू करने के लिए आरएसआई संकेतक द्वारा फ़िल्टर की गई लंबी / छोटी स्थिति में प्रवेश करती है। यह उन निवेशकों के लिए उपयुक्त है जो बिटकॉइन टिक डेटा का प्रोग्रामेटिक रूप से व्यापार करना चाहते हैं।

रणनीति तर्क

इस रणनीति का मूल तत्व वास्तविक शक्ति सूचकांक (टीएसआई) है। टीएसआई प्रतिशत मूल्य परिवर्तन को दोगुना समतल करके मूल्य परिवर्तन की पूर्ण परिमाण और दिशा को मापता है, जिससे मूल्य के ऊपर और नीचे के आंदोलनों की पूर्ण शक्ति की पहचान होती है। विशिष्ट गणना इस प्रकार हैः

  1. प्रतिशत मूल्य परिवर्तन पीसी की गणना करें
  2. डबल स्मूथ पीसी का उपयोग करके दीर्घकालिक ईएमए और अल्पकालिक ईएमए उत्पन्न करें double_smoothed_pc
  3. double_smoothed_abs_pc उत्पन्न करने के लिए Pc के पूर्ण मान को दोगुना चिकना करें
  4. एसटीआई मान double_smoothed_pc को double_smoothed_abs_pc से गुणा करके 100 के बराबर है

जब टीएसआई अपनी सिग्नल लाइन tsi2 के ऊपर से गुजरता है, तो एक लंबा सिग्नल उत्पन्न होता है। जब टीएसआई tsi2 से नीचे से गुजरता है, तो एक छोटा सिग्नल उत्पन्न होता है। इसके अलावा, रणनीति आरएसआई के साथ टीएसआई संकेतों को फ़िल्टर करती है - केवल लंबे संकेतों को लेते हुए जब आरएसआई 50 से ऊपर होता है और छोटे संकेत जब आरएसआई 50 से नीचे होता है, कुछ झूठे संकेतों से बचने के लिए।

लाभ विश्लेषण

इस रणनीति के लाभों में निम्नलिखित शामिल हैंः

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

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

इस रणनीति के जोखिमों में निम्नलिखित शामिल हैंः

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

आरएसआई फिल्टर नियमों को ढीला करके और ईएमए अवधि को छोटा करके लाॅगिंग इश्यू और फिल्टर प्रभाव को कम किया जा सकता है। व्यापार जोखिमों को सख्ती से नियंत्रित करने के लिए उचित स्टॉप लॉस रणनीति का उपयोग किया जाना चाहिए।

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

इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः

  1. सर्वोत्तम संयोजन खोजने के लिए एसटीआई और आरएसआई मापदंडों का अनुकूलन करें। लंबी/छोटी ईएमए अवधि, आरएसआई मापदंडों आदि को समायोजित करें।

  2. एक बहु-कारक मॉडल बनाने के लिए अधिक तकनीकी संकेतकों का परिचय दें। प्रत्येक संकेतकों का लाभ उठाने के लिए एमए, केडी आदि जोड़े जा सकते हैं।

  3. नीचे के रुझान में लंबे और ऊपर के रुझान में छोटे से बचने के लिए प्रवेश नियमों को अनुकूलित करें। उच्च समय सीमा के रुझानों के आधार पर दिशा का न्याय करें।

  4. स्टॉप लॉस रणनीतियों को अनुकूलित करें जैसे कि ट्रेलिंग स्टॉप लॉस, समय आधारित स्टॉप लॉस, ब्रेकआउट स्टॉप लॉस आदि।

  5. जल्दी या देर से बाहर निकलने से बचने के लिए बाहर निकलने के नियमों को अनुकूलित करें। अस्थिरता संकेतक उचित बाहर निकलने के बिंदुओं को निर्धारित करने में मदद कर सकते हैं।

  6. सबसे प्रभावी उत्पादों पर ध्यान केंद्रित करने के लिए व्यापार उत्पादों, व्यापार सत्रों का अनुकूलन करें।

निष्कर्ष

यह रणनीति ट्रू स्ट्रेंथ इंडेक्स के साथ बिटकॉइन अल्पकालिक रुझानों की पहचान करती है और एल्गोरिदमिक बिटकॉइन ट्रेडिंग के लिए आरएसआई के साथ संकेतों को फ़िल्टर करती है। इसका लाभ है कि यह संवेदनशील रूप से रुझानों को कैप्चर करता है और शोर को फ़िल्टर करता है, लेकिन इसमें कुछ पिछड़े मुद्दे और ट्रेडिंग जोखिम भी हैं। बहुआयामी अनुकूलन एक विश्वसनीय बिटकॉइन ट्रेडिंग विशेषज्ञ सलाहकार विकसित करने के लिए रणनीति प्रदर्शन में और सुधार कर सकते हैं।


/*backtest
start: 2022-09-30 00:00:00
end: 2023-10-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


// strategy("True Strength Indicator BTCUSD 15p", shorttitle="TSI BTCUSD 15p",initial_capital=1000, commission_value=0.15, commission_type =strategy.commission.percent, default_qty_value=100 , overlay = false, pyramiding=10, default_qty_type=strategy.percent_of_equity)

//BASED ON True Strength Indicator MTF
resCustom = input(title="Timeframe",  defval="15" )
long = input(title="Long Length",  defval=25)
short = input(title="Short Length",  defval=13)
signal = input(title="Signal Length",  defval=13)
price = request.security(syminfo.tickerid,resCustom,close)


double_smooth(src, long, short) =>
    fist_smooth = ta.ema(src, long)
    ta.ema(fist_smooth, short)
pc = ta.change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(math.abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
tsi2=ta.ema(tsi_value, signal)
plot(tsi_value, color=color.lime,linewidth=2)
plot(tsi2, color=color.red,linewidth=2)




rsiserie = ta.rsi(price,7)
cciserie = ta.cci(price,14)
stochserie = ta.stoch(price,14,3,3)

plot(rsiserie,color=color.purple)



hline(30, title="Zero")
hline(50, title="Zero",linestyle=hline.style_solid, linewidth=2)
hline(70, title="Zero")

buy = ta.crossover(tsi_value, tsi2) //and rsiserie[1]<25 //and cciserie<-100 and stochserie<20
sell = ta.crossunder(tsi_value, tsi2) //and rsiserie[1]>85 //and cciserie>100 and stochserie>80


alertcondition(buy, title='TSI system', message='Buy signal at!' )
alertcondition(sell, title='TSI system', message='Sell signal at!' )

strategy.entry("BUY", strategy.long, 1, when = buy)
strategy.entry("SELL", strategy.short, 1, when = sell ) 

greentsi =tsi_value
redtsi = tsi2

bgcolor( greentsi>redtsi and rsiserie > 50 ? color.lime : na, transp=90)
bgcolor( greentsi<redtsi and rsiserie < 50 ? color.red : na, transp=90)

yellow1= redtsi > greentsi and rsiserie > 50 
yellow2 = redtsi < greentsi and rsiserie < 50 
bgcolor( yellow1 ? yellow : na, transp=80)
bgcolor( yellow2  ? yellow : na, transp=50)

bgcolor( yellow1 and yellow1[1] ? yellow : na, transp=70)
bgcolor( yellow2  and yellow2[2] ? yellow : na, transp=70)

bgcolor( rsiserie > 70 ? color.lime : na, transp=60)
bgcolor( rsiserie < 30  ? color.red : na, transp=60)


अधिक