
इस रणनीति के K लाइनों की सूर्य छाया लंबाई अनुपात की गणना के माध्यम से, वर्तमान प्रवृत्ति दिशा का आकलन, औसत वास्तविक तरंग दैर्ध्य एटीआर के साथ प्रवृत्ति की पहचान करने के लिए, तोड़ने के बिंदु पर रिवर्स स्थिति खोलने के लिए, एक स्टॉप-लॉस स्टॉप सेट करें, और अल्पकालिक प्रवृत्ति को पकड़ें।
यह रणनीति मुख्य रूप से के-लाइन की सूर्य छाया लंबाई के अनुपात की गणना करके वर्तमान प्रवृत्ति की दिशा को निर्धारित करती है, जब सूर्य रेखा की लंबाई बहुत लंबी होती है तो इसे नीचे की ओर प्रवृत्ति के रूप में और जब सूर्य रेखा की लंबाई बहुत लंबी होती है तो इसे ऊपर की ओर प्रवृत्ति के रूप में माना जाता है।
इस रणनीति का तार्किक अर्थ हैः
यह रणनीति का मूल ट्रेडिंग तर्क है, ट्रेंड ब्रेकआउट की पहचान करके रिवर्स ओपनिंग करें, स्टॉप-लॉस स्टॉप सेट करने के बाद लाभ का अनुकूलन करें।
उचित स्टॉप लॉस, ऑप्टिमाइज़ेशन पैरामीटर और समय पर स्टॉप लॉस के माध्यम से जोखिम को नियंत्रित किया जा सकता है।
इस रणनीति को निम्नलिखित क्षेत्रों में अनुकूलित किया जा सकता हैः
बहुआयामी परीक्षण और अनुकूलन के माध्यम से, रणनीति प्रभाव को अधिकतम किया जा सकता है।
कुल मिलाकर, यह रणनीति प्रवृत्ति की पहचान और जोखिम नियंत्रण के माध्यम से अल्पकालिक मूल्य उतार-चढ़ाव का लाभ उठाने के लिए एक प्रभाव स्थिरता के साथ एक छोटी रेखा तोड़ने की रणनीति है। अनुकूलित होने के बाद यह मात्रात्मक व्यापार का एक महत्वपूर्ण हिस्सा बन सकता है।
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 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/
// © ondrej17
//@version=4
strategy("longWickstrategy", overlay=true )
// Inputs
st_yr_inp = input(defval=2020, title='Backtest Start Year')
st_mn_inp = input(defval=01, title='Backtest Start Month')
st_dy_inp = input(defval=01, title='Backtest Start Day')
en_yr_inp = input(defval=2025, title='Backtest End Year')
en_mn_inp = input(defval=01, title='Backtest End Month')
en_dy_inp = input(defval=01, title='Backtest End Day')
sltp_inp = input(defval=0.8, title='N - % offset for N*SL and (2N)*TP')/100
// Dates
start = timestamp(st_yr_inp, st_mn_inp, st_dy_inp,00,00)
end = timestamp(en_yr_inp, en_mn_inp, en_dy_inp,00,00)
canTrade = time >= start and time <= end
// Indicators Setup
// Strategy Calcuations
lowerWick = (open > close) ? close-low : open - low
upperWick = (open > close) ? high-open : high-close
wickLength = max(lowerWick,upperWick)
candleLength = high-low
wickToCandleRatio = wickLength / candleLength
entryFilterCandleLength = candleLength > 0.75*atr(48)
// Entries and Exits
longCondition = entryFilterCandleLength and wickToCandleRatio > 0.5 and lowerWick > upperWick and canTrade and strategy.position_size == 0
shortCondition = entryFilterCandleLength and wickToCandleRatio > 0.5 and lowerWick < upperWick and canTrade and strategy.position_size == 0
strategy.entry("pendingLong", strategy.long, limit=low+wickLength/2, when = longCondition)
strategy.entry("pendingShort", strategy.short, limit=high-wickLength/2, when = shortCondition)
longStop = strategy.position_size > 0 ? strategy.position_avg_price*(1-sltp_inp) : na
longTP = strategy.position_size > 0 ? strategy.position_avg_price*(1+2*sltp_inp) : na
shortStop = strategy.position_size < 0 ? strategy.position_avg_price*(1+sltp_inp) : na
shortTP = strategy.position_size < 0 ? strategy.position_avg_price*(1-2*sltp_inp) : na
strategy.exit("longSLTP","pendingLong", stop=longStop, limit = longTP)
strategy.exit("shortSLTP","pendingShort", stop=shortStop, limit = shortTP)
plot(longStop, color=color.red, style=plot.style_linebr, linewidth=2)
plot(shortStop, color=color.red, style=plot.style_linebr, linewidth=2)
plot(longTP, color=color.green, style=plot.style_linebr, linewidth=2)
plot(shortTP, color=color.green, style=plot.style_linebr, linewidth=2)
plotLongCondition = longCondition ? high+abs(open-close) : na
plot(plotLongCondition, style=plot.style_circles, linewidth=4, color=color.green)
plotShortCondition = shortCondition ? high+abs(open-close) : na
plot(plotShortCondition, style=plot.style_circles, linewidth=4, color=color.red)