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