یہ حکمت عملی تجارتی حجم کے چلتے ہوئے اوسط اور معیاری انحراف کا استعمال کرتے ہوئے تجارتی حجم کا ایک ماڈل بناتی ہے ، اور جب حجم نارمل ہوتا ہے تو تجارتی سگنل پیدا کرنے کے لئے قیمت کے چلتے ہوئے اوسط کے ساتھ رجحان کی سمت کا تعین کرتی ہے۔ جب حجم غیر معمولی ہوتا ہے تو غلط سگنل سے بچنے کے لئے یہ تجارتی حجم کی اوپری اور نچلی حدود بھی طے کرتا ہے۔
بنیادی منطق ٹریڈنگ حجم ماڈل کی تعمیر اور قیمت رجحان کا فیصلہ کرنا ہے.
یہ حکمت عملی تجارتی حجم ماڈل اور قیمت کے رجحان کو یکجا کرتی ہے تاکہ حجم غیر معمولی ہونے پر قیمت کے رجحانات کا پیچھا کرنے سے بچ سکے ، جس سے کچھ غلط سگنل فلٹر ہوسکتے ہیں۔
حل:
اس حکمت عملی کا مجموعی منطق واضح ہے ، غلط رجحانات کا پیچھا کرنے سے بچنے کے لئے حجم کا استعمال کرتے ہوئے اور انٹری سگنل نسبتا reliable قابل اعتماد ہیں۔ لیکن حکمت عملی خود توسیع کے لئے بڑی گنجائش کے ساتھ آسان ہے۔ مزید اشارے ، مشین لرننگ ، اسٹاپ نقصان اور دیگر ماڈیولز کو شامل کرکے ، اس میں استحکام اور رجحانات کو پکڑنے کی صلاحیت کو مزید بہتر بنایا جاسکتا ہے۔ یہ ایک عام رجحان کا پیچھا کرنے کی حکمت عملی ہے۔ اصلاح کے بعد ، یہ ایک بہت ہی عملی مقداری حکمت عملی بن سکتی ہے۔
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-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/ // © dongyun //@version=4 strategy("交易量底部标准差系统", overlay=true) options = input(1,'') length = input(40,'') nlow = input(5,'') factor = input(1.0,'') vavg = 0.0 vavgn = 0.0 vsd = 0.0 lowlimit = 0.0 uplimit = 0.0 mavg = 0.0 aror = 0.0 adjvol = 0.0 savevol = 0.0 //Find average volume, replacing bad values adjvol := volume if (volume != 0) savevol := volume else savevol := savevol[1] adjvol := savevol // Replace high volume days because they distort standard deviation if (adjvol > 2 * factor * nz(vsd[1])) adjvol := savevol else adjvol := adjvol[1] vavg := sma(adjvol,length) vsd := stdev(adjvol,length) vavgn := sma(adjvol,nlow) // Extreme volume limits lowlimit := vavg - factor * vsd uplimit := vavg + 2 * factor * vsd // System rules based on moving average trend mavg := sma(close,length/2) // Only enter on new trend signals if (options == 2) if (mavg > mavg[1] and mavg[1] <= mavg[2]) strategy.entry("Long", strategy.long) if (mavg<mavg[1] and mavg[1]>=mavg[2]) strategy.entry("Short", strategy.short) else if (mavg > mavg[1] and vavgn > lowlimit) strategy.entry("Long", strategy.long) if (mavg < mavg[1] and vavgn > lowlimit) strategy.entry("Short", strategy.short) // Exit on low volume if (options != 1) if (mavg<mavg[1] or (strategy.position_size > 0 and vavgn<= lowlimit)) strategy.close("Long") if (mavg>mavg[1] or (strategy.position_size > 0 and vavgn<= lowlimit)) strategy.close("Short") else if (mavg < mavg[1]) strategy.close("Long") if (mavg > mavg[1]) strategy.close("Short")