
یہ حکمت عملی ایک رجحان سے باخبر رہنے والی تجارتی نظام ہے جو متحرک اتار چڑھاؤ کے اشارے (VIDYA) پر مبنی ہے ، جس میں اے ٹی آر اتار چڑھاؤ کے ساتھ رجحان کی شناخت اور رسک مینجمنٹ کی صلاحیت کو بڑھاوا دیا گیا ہے۔ یہ حکمت عملی مارکیٹ میں اتار چڑھاؤ کی رفتار کو متحرک طور پر ایڈجسٹ کرتی ہے ، جبکہ رجحان سے باخبر رہنے کی صلاحیت کو برقرار رکھتے ہوئے ، مارکیٹ میں الٹ جانے والے سگنل کو بروقت پکڑنے کے قابل ہے۔ نظام نے VIDYA کو بنیادی اشارے کے طور پر استعمال کیا ہے ، جس میں اے ٹی آر اتار چڑھاؤ کے ساتھ متحرک رکاوٹ کی پوزیشن قائم کی گئی ہے ، جس میں مارکیٹ میں اتار چڑھاؤ کے لئے ذہین موافقت کا احساس ہوا ہے۔
اس حکمت عملی کا بنیادی مقصد رجحانات کی نشاندہی کرنے کے لئے VIDYA اشارے کی متحرک خصوصیات کا استعمال کرنا ہے۔ VIDYA متحرک طور پر متحرک اوسط کے وزن کو متحرک تبدیلیوں کے حساب سے ایڈجسٹ کرتا ہے ، اس طرح مختلف مارکیٹ کے حالات میں مختلف حساسیت ہوتی ہے۔ خاص طور پر:
اس حکمت عملی میں وڈیا اور اے ٹی آر کے ساتھ مل کر مارکیٹ کے رجحانات پر متحرک طور پر نگرانی اور خطرے پر قابو پایا جاتا ہے۔ اس کا بنیادی فائدہ مارکیٹ میں اتار چڑھاؤ کو اپنانے کی صلاحیت میں ہے ، جبکہ رجحانات کی پیروی کرنے کی صلاحیت کو برقرار رکھتے ہوئے وقت پر واپسی کے مواقع کو بھی پکڑ سکتا ہے۔ اگرچہ کچھ مارکیٹ کے ماحول میں خطرہ لاحق ہوسکتا ہے ، لیکن معقول پیرامیٹرز کی اصلاح اور خطرے کے انتظام کے اقدامات کے ذریعہ ، اس حکمت عملی میں ابھی بھی عمدہ عملی قدر ہے۔
/*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)