गति दोहरी चलती खिड़की एसटीआई संकेतक

लेखक:चाओझांग, दिनांकः 2024-01-08 11:20:35
टैगः

img

I. रणनीति का अवलोकन

इस रणनीति का नाम हैगति दोहरी चलती खिड़की एसटीआई संकेतकों की रणनीतिइस रणनीति का मूल विचार मूल्य उतार-चढ़ाव को सुचारू करने के लिए दोहरे ईएमए स्लाइडिंग विंडो का उपयोग करना है, और फिर एक गति संकेतक का निर्माण करने के लिए प्रवृत्ति के दिशात्मक परिवर्तनों को मिलाकर जो बाजार में क्रय और बिक्री शक्ति को दर्शाता है, अर्थात् टीएसआई संकेतक, और इसे खरीद और बिक्री निर्णय लेने के लिए एक व्यापार संकेत के रूप में उपयोग करना है।

II. रणनीतिक सिद्धांत

यह रणनीति मूल्य परिवर्तनों की गणना करने के लिए डबल स्लाइडिंग विंडो डबल घातीय चलती औसत का उपयोग करती है। बाहरी विंडो अवधि लंबी है और आंतरिक विंडो अवधि छोटी है। डबल चिकनाई द्वारा, मूल्य डेटा में यादृच्छिकता का हिस्सा हटा दिया जाता है।

सबसे पहले मूल्य में इकाई परिवर्तन की गणना करें:

pc = change(price)

फिर दोहरी स्लाइडिंग विंडो का उपयोग करें मूल्य परिवर्तन को दोगुना चिकनी करने के लिएः

double_smoothed_pc = double_smooth(pc, long, short)

फिर मूल्य परिवर्तन का पूर्ण मूल्य की गणना करें, जो दो स्लाइडिंग विंडो का उपयोग करके दो बार समतल किया जाता हैः

double_smoothed_abs_pc = double_smooth(abs(pc), long, short)

अंत में, एसटीआई सूचक प्राप्त करने के लिए समतल मूल्य परिवर्तन को समतल पूर्ण मूल्य परिवर्तन से विभाजित करें जो क्रय और बिक्री शक्ति को दर्शाता है:

tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)

लंबी और छोटी खिड़की अवधि की अलग-अलग लंबाई निर्धारित करके, अल्पकालिक में बाजार शोर को कुछ हद तक फ़िल्टर किया जा सकता है, ताकि एसटीआई संकेतक मध्यम और दीर्घकालिक रुझानों में खरीद और बिक्री शक्ति को बेहतर ढंग से प्रतिबिंबित कर सके। जब एसटीआई संकेतक अपने चलती औसत से ऊपर जाता है, तो एक खरीद संकेत उत्पन्न होता है; जब एसटीआई संकेतक अपने चलती औसत से नीचे जाता है, तो एक बिक्री संकेत उत्पन्न होता है।

III. रणनीतिक लाभ

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

IV. रणनीतिक जोखिम

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

यह विंडो अवधि मापदंडों को समायोजित करके और संकेत चलती औसत लंबाई को उचित रूप से छोटा करके अनुकूलित किया जा सकता है। जब बाजार में उतार-चढ़ाव होता है, तो जोखिमों को नियंत्रित करने के लिए व्यापार को अस्थायी रूप से रोक दिया जा सकता है।

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

  1. इष्टतम मापदंडों को खोजने के लिए विभिन्न लंबी और छोटी खिड़की अवधि मापदंडों के परीक्षण संयोजन
  2. अन्य प्रकार के चलती औसत का प्रयास करें, जैसे कि रैखिक भारित चलती औसत
  3. ट्रिपल या मल्टीपल स्लाइडिंग विंडो बनाकर संकेतकों की चिकनाई बढ़ाएं
  4. खरीद/बिक्री बिंदु चयन को अनुकूलित करने के लिए अन्य सहायक संकेतकों को मिलाएं
  5. एकल हानि को सख्ती से नियंत्रित करने के लिए स्टॉप लॉस रणनीतियों को सेट करें

VI. सारांश

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


/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("True Strength Indicator BTCUSD 2H", shorttitle="TSI BTCUSD 2H",initial_capital=1000, commission_value=0.2, 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="120" )
long = input(title="Long Length",  defval=25)
short = input(title="Short Length",  defval=13)
signal = input(title="Signal Length",  defval=13)

length = input(title="Период",  defval=300)

FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2017, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"

price = request.security(syminfo.tickerid,resCustom,close)


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

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

buy = crossover(tsi_value, tsi2)
sell = crossunder(tsi_value, tsi2)

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

//greentsi =tsi_value
//redtsi = tsi2

//bgcolor( greentsi>redtsi and rsiserie > 50 ? lime : na, transp=90)
//bgcolor( greentsi<redtsi and rsiserie < 50 ? 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 ? lime : na, transp=60)
//bgcolor( rsiserie < 30  ? red : na, transp=60)

अधिक