
यह रणनीति एक सरल चलती औसत के आधार पर प्रवृत्ति की दिशा निर्धारित करने के लिए एक लंबी लाइन की स्थिति रखने की रणनीति है, जो प्रतिरोध समर्थन रेखा के साथ मिलकर एक ब्रेकआउट सिग्नल बनाता है। कीमतों के पिवट उच्च और पिवट निम्न बिंदुओं की गणना करके, प्रतिरोध रेखा और समर्थन रेखा को रेखांकित करें, जब कीमतें प्रतिरोध रेखा को तोड़ती हैं तो अधिक करें, और समर्थन रेखा को तोड़ने पर स्थिति को कम करें। यह रणनीति उन शेयरों के लिए उपयुक्त है जो स्पष्ट रूप से प्रवृत्ति में हैं, बेहतर जोखिम-लाभ अनुपात प्राप्त करें।
यह रणनीति एक साधारण चलती औसत का उपयोग करती है जो समग्र प्रवृत्ति की दिशा को निर्धारित करती है, फिर एक व्यापारिक संकेत बनाने के लिए महत्वपूर्ण बिंदुओं का उपयोग करती है। यह एक विशिष्ट ब्रेकआउट रणनीति है। महत्वपूर्ण बिंदुओं और रुझानों के आधार पर, आप झूठे ब्रेकआउट को प्रभावी ढंग से फ़िल्टर कर सकते हैं।
स्टॉप-लॉस-स्टॉप रणनीति के साथ संयोजन में, फिक्स्ड डिस्क ऑप्टिमाइज़ेशन पैरामीटर के माध्यम से जोखिम को कम किया जा सकता है।
इस रणनीति के समग्र एक ठेठ ब्रेकआउट रणनीति है, जो पैरामीटर अनुकूलन और तरलता पर निर्भर है, जो ट्रेडर्स के लिए उपयुक्त है जो ट्रेंड को ट्रैक करते हैं। एक संदर्भ फ्रेमवर्क के रूप में, वास्तविक आवश्यकता के अनुसार मॉड्यूल का विस्तार किया जा सकता है, जो स्टॉप लॉस स्टॉप, सिग्नल फ़िल्टरिंग और अन्य तंत्रों के माध्यम से जोखिम को कम करने और स्थिरता में सुधार करने के लिए है।
/*backtest
start: 2023-02-14 00:00:00
end: 2024-02-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © CheatCode1
//@version=5
strategy("Quantitative Trend Strategy- Uptrend long", 'Steady Uptrend Strategy', overlay=true, initial_capital = 1500, default_qty_value = 100, commission_type = strategy.commission.percent, commission_value = 0.01, default_qty_type = strategy.percent_of_equity)
length = input.int(20, minval=1)
src = input(close, title="Source")
basis = ta.sma(src, length)
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
inp1 = input.int(46, 'LookbackLeft')
inp2 = input.int(32, 'LookbackRight')
l1 = ta.pivothigh(close, inp1, inp2)
S1 = ta.pivotlow(close, inp1, inp2)
// plot(l1, 'Pivothigh', color.red, 1)
// // plot(S1, 'Pivot Low', color.red)
l1V = ta.valuewhen(l1, close, 0)
S1V = ta.valuewhen(S1, close, 0)
Plotl1 = not na(l1) ? l1V : na
PlotS1 = not na(S1) ? S1V : na
plot(Plotl1, 'Resistance', color.green, 1, plot.style_stepline, true)
plot(PlotS1, 'Support', color.red, 1, plot.style_stepline, true)
Priceforlong = close > l1V ? true : na
Priceforshort = close < S1V ? true : na
plotshape(Priceforlong ? high : na, 'p', shape.arrowup, location.abovebar, color.green, size = size.small)
plotshape(Priceforshort ? low : na, 's', shape.arrowdown, location.belowbar, color.red, size = size.small)
vol = volume
volma = ta.sma(vol, 20)
Plotl1C = ta.valuewhen(na(Plotl1), l1V, 0)
PlotS1C = ta.valuewhen(na(PlotS1), S1V, 0)
//Strategy Execution
volc = volume > volma
Lc1 = Priceforlong
Sc1 = Priceforshort
sL = Plotl1 < PlotS1 ? close : na
sS = PlotS1 > Plotl1 ? close : na
if Lc1
strategy.entry('Long', strategy.long)
// if Sc1 and C2
// strategy.entry('Short', strategy.short)
if Priceforshort
strategy.cancel('Long')
if Priceforlong
strategy.cancel('Short')
// Stp1 = ta.crossover(k, d)
// Ltp1 = ta.crossunder(k, d)
// Ltp = d > 70 ? Ltp1 : na
// Stp = d < 30 ? Stp1 : na
if strategy.openprofit >= 0 and sL
strategy.close('Long')
if strategy.openprofit >= 0 and sS
strategy.close('Short')
takeP = input.float(2, title='Take Profit') / 100
stopL = input.float(1.75, title='Stop Loss') / 100
// // Pre Directionality
Stop_L = strategy.position_avg_price * (1 - stopL)
Stop_S = strategy.position_avg_price * (1 + stopL)
Take_S= strategy.position_avg_price * (1 - takeP)
Take_L = strategy.position_avg_price * (1 + takeP)
// sL = Plotl1 < PlotS1 ? close : na
// sS = PlotS1 < Plotl1 ? close : na
// //Post Excecution
if strategy.position_size > 0 and not (Lc1)
strategy.exit("Close Long", stop = Stop_L, limit = Take_L)
if strategy.position_size < 0 and not (Sc1)
strategy.exit("Close Short", stop = Stop_S, limit = Take_S)