इस रणनीति के संयोजन के उपयोग के माध्यम से औसत रेखा सूचक और Stoch सूचक, डिजाइन एक प्रवृत्ति निर्णय और overbought और oversold निर्णय कार्यक्षमता के साथ एक मात्रात्मक व्यापार प्रणाली. इस रणनीति के संयोजन में कई संकेतकों के फायदे, प्रणालीगत प्रवृत्ति निर्णय और अवसर पकड़ने.
रणनीतिक सिद्धांत:
प्रवृत्ति की दिशा निर्धारित करने के लिए एक तकनीकी संकेतक के रूप में मध्यम-लंबी अवधि की औसत रेखा (MA) और अल्पकालिक औसत रेखा (EMA) की गणना करें।
स्टोच के और डी की गणना करें, यह निर्धारित करने के लिए कि क्या यह ओवरबॉट या ओवरसोल्ड है।
जब CLOSE MA को नीचे से ऊपर तक तोड़ता है, और Stoch K और D मूल्य दोनों ओवरबॉय लाइन से अधिक होते हैं, तो इसे लंबी लाइन के रूप में प्रवेश करने का समय माना जाता है, और अधिक किया जाता है।
जब CLOSE ईएमए को ऊपर से नीचे तक तोड़ता है, और स्टोक के मूल्य और डी मूल्य दोनों ओवरसेल लाइन से नीचे होते हैं, तो इसे शॉर्ट लाइन में प्रवेश करने का समय माना जाता है, और शून्य किया जाता है।
COLOR द्वारा निर्धारित लेनदेन की दिशा
इस रणनीति के फायदे:
द्वि-समान रेखा संयोजन मुख्य प्रवृत्ति की दिशा का आकलन करता है और गलत संकेतों से बचा जाता है।
स्टोच सूचकांक ओवरबॉट और ओवरसोल्ड क्षेत्रों की पहचान करता है, जिससे लाभ की संभावना बढ़ जाती है।
संयोजन में, कई संकेतकों का उपयोग किया जाता है जो एक दूसरे को सत्यापित करते हैं, जिससे संकेत विश्वसनीयता बढ़ जाती है।
इस रणनीति के खतरे:
गलत पैरामीटर अनुकूलन के कारण, लेनदेन की आवृत्ति या सिग्नल असंगतता हो सकती है।
औसत रेखा और स्टोच दोनों में देरी हो सकती है, जिसके कारण प्रवेश समय से पहले या बाद में हो सकता है।
बहु-सूचक संयोजन विश्वसनीयता को बढ़ाता है, लेकिन रणनीतिक जटिलता को भी बढ़ाता है।
संक्षेप में, यह रणनीति प्रवृत्ति का उपयोग करके प्रवृत्ति का न्याय करती है, स्टोच ओवरबॉट और ओवरसोल्ड का न्याय करती है, और परिमाणात्मक व्यापार करती है। पैरामीटर समायोजन अनुकूलन की शर्त पर, ट्रेडिंग सिस्टम की स्थिरता और विश्वसनीयता में सुधार किया जा सकता है। लेकिन किसी भी परिमाणात्मक रणनीति को सख्त जोखिम प्रबंधन की आवश्यकता होती है, निवेशकों को अभी भी सावधानीपूर्वक निर्णय लेने की आवश्यकता होती है।
/*backtest
start: 2023-08-12 00:00:00
end: 2023-09-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// strategy("PMB2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 20, initial_capital=1000, currency=currency.USD)
//study(title="PMB2", overlay=true)
l_ma = input(50, title="MA (green)", type=input.integer)
l_ema = input(25, title="EMA (red)", type=input.integer)
MA = sma(close,l_ma)
EMA = ema(close,l_ema)
plot(MA, color=color.green)
plot(EMA, color=color.red)
//STOCH(14,3,3)
length = input(20, minval=1, title="STOCH - K")
smoothK = input(2, minval=1, title="STOCH - D")
smoothD = input(2 , minval=1, title="STOCH - Smooth")
StkLong= input(50 , minval=1, maxval=100, title="Long when Close > MA and Stoch > ")
StkShort= input(80 , minval=1, maxval=100, title="Short when Close < EMA and Stoch < ")
k = sma(stoch(close, high, low, length), smoothK)
d = sma(k, smoothD)
//plot(k, color=color.blue, title="STOCH - K")
//plot(d, color=color.orange, title="STOCH - D")
//band180 = hline(80, title="STOCH - Banda superior")
//band120 = hline(20, title="STOCH - Banda superior")
//band100 = hline(50, color=color.gray, editable=false, linestyle=hline.style_solid)
//fill(band180, band120, color=color.gray, transp=75, title="STOCH - Fundo")
BTStartY = input(title="Strategy Test Start Year", type=input.integer, defval=2019, minval=2010, maxval=2100)
BTStartM = input(title="Strategy Test Start Month", type=input.integer, defval=1, minval=1, maxval=12)
BTStartD = input(title="Strategy Test Start Day", type=input.integer, defval=1, minval=1, maxval=31)
BTStopY = input(title="Strategy Test Stop Year", type=input.integer, defval=2019, minval=2010, maxval=2100)
BTStopM = input(title="Strategy Test Stop Month", type=input.integer, defval=12, minval=1, maxval=12)
BTStopD = input(title="Strategy Test Stop Day", type=input.integer, defval=31, minval=1, maxval=31)
// set up min and max date for strategy test
TMin = timestamp(BTStartY, BTStartM, BTStartD, 00, 00)
TMax = timestamp(BTStopY, BTStopM, BTStopD, 00, 00)
InTime = true
bool long = false, short = false, trade = false
trade := trade[1]
long := long[1]
short := short[1]
if (crossover(close, MA) and k > StkLong and d > StkLong) // "LONG!"
//if (close > MA and k > StkLong and d > StkLong) // "LONG!"
short := false
long := true
trade := true // LONG
if (crossunder(close, EMA) and k < StkShort and d < StkShort) // "SHORT!""
//if (close < EMA and k < StkShort and d < StkShort) // "SHORT!""
long := false
short := true
trade := false // SHORT
//bgcolor(FL > SH ? color.green : FH < SL ? color.red : na, transp=80)
bgcolor(trade ? color.green : color.red, transp=90)
//alertcondition((crossover(close, MA) and k > 50 and d > 50) , title='Buy', message='Buy')
//alertcondition((crossunder(close, EMA) and k > 80 and d > 80) , title='Sell', message='Sell')
if ((crossover(close, MA) and k > StkLong and d > StkLong) and InTime)
//if ((close > MA and k > StkLong and d > StkLong) and InTime)
strategy.entry("Long", strategy.long)
if ((crossunder(close, EMA) and k < StkShort and d < StkShort) and InTime)
//if ((close < EMA and k < StkShort and d < StkShort) and InTime)
strategy.entry("Short", strategy.short)