
Z-based Trend Tracking Strategy Z-value کی بنیاد پر رجحان ٹریکنگ حکمت عملی رجحان سازی کے مواقع پر قبضہ کرنے کے لئے ایک اعداد و شمار کے اشارے کا استعمال کرتی ہے جس میں قیمتوں کی قیمتوں میں منتقل ہونے والی اوسط سے انحراف کی پیمائش کی جاتی ہے ، اور معیاری فرق کو یکساں پیمانے کے طور پر استعمال کیا جاتا ہے۔ یہ حکمت عملی خاص طور پر ان مارکیٹوں کے لئے مشہور ہے جہاں قیمتوں کی نقل و حرکت اکثر اوسط کی طرف لوٹ جاتی ہے۔ متعدد اشارے پر انحصار کرنے والے پیچیدہ نظاموں کے برعکس ، Z-value Trend Strategy واضح ، اعداد و شمار کے لحاظ سے نمایاں قیمت میں تبدیلی پر توجہ مرکوز کرتی ہے ، جو ان لوگوں کے لئے موزوں ہے جو سادہ ، ڈیٹا سے چلنے والے طریقہ کار کو ترجیح دیتے ہیں۔
اس حکمت عملی کا مرکز Z کی قیمت کا حساب لگانا ہے۔ Z کی قیمت موجودہ قیمت اور صارف کی وضاحت کی لمبائی کی قیمتوں کے اشاریہ کے متحرک اوسط ((EMA) کے فرق کا حساب لگانے کے بعد تقسیم کی جاتی ہے ، پھر اسی لمبائی کی قیمتوں کے معیار سے فرق:
z = (x - μ) / σ
اس میں، x موجودہ قیمت، μ EMA اوسط، اور σ معیاری فرق ہے.
ٹریڈنگ سگنل Z کی حد سے تجاوز کرنے پر مبنی ہے:
مذکورہ بالا خطرات کو مسلسل مارکیٹ تجزیہ ، پیرامیٹرز کی اصلاح اور بیک اپ کی بنیاد پر احتیاط سے نافذ کیا جاسکتا ہے ، جس سے کنٹرول اور تخفیف ہوسکتی ہے۔
“Z-value پر مبنی رجحان ٹریکنگ حکمت عملی” اس کی سادہ ، مستحکم اور لچکدار خصوصیات کے ساتھ ، رجحان سازی کے مواقع پر قبضہ کرنے کے لئے ایک منفرد نقطہ نظر فراہم کرتی ہے۔ معقول پیرامیٹرز کی ترتیب ، محتاط خطرے کے انتظام اور مسلسل اصلاح کے ذریعہ ، اس حکمت عملی کو متوقع طور پر قابل قدر تاجروں کی مدد کرنے کے لئے تیار کیا گیا ہے۔
/*backtest
start: 2023-04-23 00:00:00
end: 2024-04-28 00:00:00
period: 1d
basePeriod: 1h
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/
// © PresentTrading
// This strategy employs a statistical approach by using a Z-score, which measures the deviation of the price from its moving average normalized by the standard deviation.
// Very simple and effective approach
//@version=5
strategy('Price Based Z-Trend - strategy [presentTrading]',shorttitle = 'Price Based Z-Trend - strategy [presentTrading]', overlay=false, precision=3,
commission_value=0.1, commission_type=strategy.commission.percent, slippage=1,
currency=currency.USD, default_qty_type=strategy.percent_of_equity, default_qty_value=10, initial_capital=10000)
// User-definable parameters for the Z-score calculation and bar coloring
tradeDirection = input.string("Both", "Trading Direction", options=["Long", "Short", "Both"]) // User selects trading direction
priceDeviationLength = input.int(100, "Standard Deviation Length", step=1) // Length for standard deviation calculation
priceAverageLength = input.int(100, "Average Length", step=1) // Length for moving average calculation
Threshold = input.float(1, "Threshold", step=0.1) // Number of standard deviations for Z-score threshold
priceBar = input(title='Bar Color', defval=true) // Toggle for coloring price bars based on Z-score
// Z-score calculation based on user input for the price source (typically the closing price)
priceSource = input(close, title="Source")
priceZScore = (priceSource - ta.ema(priceSource, priceAverageLength)) / ta.stdev(priceSource, priceDeviationLength) // Z-score calculation
// Conditions for entering and exiting trades based on Z-score crossovers
priceLongCondition = ta.crossover(priceZScore, Threshold) // Condition to enter long positions
priceExitLongCondition = ta.crossunder(priceZScore, -Threshold) // Condition to exit long positions
longEntryCondition = ta.crossover(priceZScore, Threshold)
longExitCondition = ta.crossunder(priceZScore, -Threshold)
shortEntryCondition = ta.crossunder(priceZScore, -Threshold)
shortExitCondition = ta.crossover(priceZScore, Threshold)
// Strategy conditions and execution based on Z-score crossovers and trading direction
if (tradeDirection == "Long" or tradeDirection == "Both") and longEntryCondition
strategy.entry("Long", strategy.long) // Enter a long position
if (tradeDirection == "Long" or tradeDirection == "Both") and longExitCondition
strategy.close("Long") // Close the long position
if (tradeDirection == "Short" or tradeDirection == "Both") and shortEntryCondition
strategy.entry("Short", strategy.short) // Enter a short position
if (tradeDirection == "Short" or tradeDirection == "Both") and shortExitCondition
strategy.close("Short") // Close the short position
// Dynamic Thresholds Visualization using 'plot'
plot(Threshold, "Dynamic Entry Threshold", color=color.new(color.green, 50))
plot(-Threshold, "Dynamic Short Entry Threshold", color=color.new(color.red, 50))
// Color-coding Z-Score
priceZScoreColor = priceZScore > Threshold ? color.green :
priceZScore < -Threshold ? color.red : color.blue
plot(priceZScore, "Z-Score", color=priceZScoreColor)
// Lines
hline(0, color=color.rgb(255, 255, 255, 50), linestyle=hline.style_dotted)
// Bar Color
priceBarColor = priceZScore > Threshold ? color.green :
priceZScore > 0 ? color.lime :
priceZScore < Threshold ? color.maroon :
priceZScore < 0 ? color.red : color.black
barcolor(priceBar ? priceBarColor : na)