
यह रणनीति गतिशील अस्थिरता सूचक (VIDYA) पर आधारित एक प्रवृत्ति ट्रैकिंग ट्रेडिंग प्रणाली है, जो एटीआर उतार-चढ़ाव के साथ मिलकर प्रवृत्ति पहचान और जोखिम प्रबंधन क्षमता को बढ़ाता है। यह रणनीति गतिशील रूप से बाजार में उतार-चढ़ाव के लिए प्रतिक्रिया की गति को समायोजित करती है, जबकि प्रवृत्ति ट्रैकिंग क्षमता को बनाए रखती है। यह प्रणाली एक गतिशील स्टॉप-लॉस स्थिति स्थापित करने के लिए एटीआर उतार-चढ़ाव के साथ-साथ एक गतिशील स्टॉप-लॉस स्थिति स्थापित करने के लिए एक केंद्रीय सूचक के रूप में वीडिय को अपनाती है।
रणनीति का मूल प्रवृत्ति की पहचान करने के लिए VIDYA संकेतक की गतिशील विशेषताओं का उपयोग करना है। VIDYA गतिशील रूप से गतिशील परिवर्तन की गणना करके चलती औसत के वजन को समायोजित करता है, जिससे विभिन्न बाजार स्थितियों में अलग-अलग संवेदनशीलता होती है। विशेष रूप सेः
इस रणनीति को गतिशील ट्रैक और बाजार की प्रवृत्ति के लिए जोखिम नियंत्रण को पूरा करने के लिए VIDYA और ATR के संयोजन के माध्यम से. इसका मुख्य लाभ यह है कि बाजार में उतार-चढ़ाव के लिए अनुकूलन करने की क्षमता है, जबकि प्रवृत्ति ट्रैक करने की क्षमता को बनाए रखने के लिए समय पर वापसी के अवसरों को पकड़ने. हालांकि कुछ बाजार के वातावरण में जोखिम हो सकता है, उचित पैरामीटर अनुकूलन और जोखिम प्रबंधन उपायों के माध्यम से, इस रणनीति के पास अभी भी अच्छा व्यावहारिक मूल्य है.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PakunFX
//@version=5
strategy("VIDYA Auto-Trading(Reversal Logic)", overlay=true)
// INPUTS ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
int vidya_length = input.int(10, "VIDYA Length")
int vidya_momentum = input.int(20, "VIDYA Momentum")
float band_distance = input.float(2, "Distance factor for upper/lower bands", step = 0.1)
float source = input.source(close, "Source")
color up_trend_color = input(#17dfad, "+")
color down_trend_color = input(#dd326b, "-")
bool shadow = input.bool(true, "Shadow")
// Define VIDYA (Variable Index Dynamic Average) function
vidya_calc(src, vidya_length, vidya_momentum) =>
float momentum = ta.change(src)
float sum_pos_momentum = math.sum((momentum >= 0) ? momentum : 0.0, vidya_momentum)
float sum_neg_momentum = math.sum((momentum >= 0) ? 0.0 : -momentum, vidya_momentum)
float abs_cmo = math.abs(100 * (sum_pos_momentum - sum_neg_momentum) / (sum_pos_momentum + sum_neg_momentum))
float alpha = 2 / (vidya_length + 1)
var float vidya_value = 0.0
vidya_value := alpha * abs_cmo / 100 * src + (1 - alpha * abs_cmo / 100) * nz(vidya_value[1])
ta.sma(vidya_value, 15)
// Calculate VIDYA
float vidya_value = vidya_calc(source, vidya_length, vidya_momentum)
// Calculate upper and lower bands
float atr_value = ta.atr(200)
float upper_band = vidya_value + atr_value * band_distance
float lower_band = vidya_value - atr_value * band_distance
// Detect trend direction
bool is_trend_up = na
if ta.crossover(source, upper_band)
is_trend_up := true
if ta.crossunder(source, lower_band)
is_trend_up := false
// Smooth the trend line
float smoothed_value = na
if is_trend_up
smoothed_value := lower_band
if not is_trend_up
smoothed_value := upper_band
// Detect trend change
bool trend_cross_up = ta.crossover(source, upper_band)
bool trend_cross_down = ta.crossunder(source, lower_band)
// ENTRY & EXIT ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
// Long logic: Enter long when down arrow appears and exit when up arrow appears
if trend_cross_up
strategy.close("Sell") // Close short position if any
strategy.entry("Buy", strategy.long)
if trend_cross_down
strategy.close("Buy") // Close long position if any
strategy.entry("Sell", strategy.short)