یہ ایک موافقت پذیر رجحان کی پیروی کرنے والی حکمت عملی ہے جو اتار چڑھاؤ اور ولیمز فیصد رینج اشارے کو جوڑتی ہے۔ حکمت عملی قیمت کی حد اور کسٹم کاؤنٹرز کا حساب لگاکر رجحان کے تعین کی حساسیت کو ایڈجسٹ کرتی ہے ، جس سے مارکیٹ کے مختلف حالات میں بہتر موافقت حاصل ہوتی ہے۔ بنیادی طریقہ کار میں قیمت کی اتار چڑھاؤ کی بنیاد پر ولیمز اشارے کے پیرامیٹرز کو متحرک طور پر ایڈجسٹ کرنا شامل ہے تاکہ مارکیٹ کے رجحان کی منتقلی کے نکات کو زیادہ درست طریقے سے حاصل کیا جاسکے۔
حکمت عملی کا آغاز ایک مدت کے اندر اندر قیمت کی حد اور اس کے چلتے ہوئے اوسط (AvgRange) کا حساب لگاتے ہوئے ہوتا ہے۔ اوسط اتار چڑھاؤ کی حد کے ساتھ حقیقی وقت کی قیمت کی تبدیلیوں کا موازنہ کرکے ، یہ دو کاؤنٹرز (ٹرو کاؤنٹ اور ٹرو کاؤنٹ 2) قائم کرتا ہے تاکہ اتار چڑھاؤ کی اہم تعدد کو ریکارڈ کیا جاسکے۔ یہ کاؤنٹرز ولیمز اشارے کے حساب کے پیرامیٹرز کو متحرک طور پر ایڈجسٹ کرنے کے لئے استعمال ہوتے ہیں ، جس سے حکمت عملی کو مارکیٹ کی اتار چڑھاؤ کی حالتوں کی بنیاد پر اپنی حساسیت کو خود بخود ایڈجسٹ کرنے کی اجازت ملتی ہے۔ جب ایڈجسٹ شدہ ولیمز اشارے کی اقدار پہلے سے طے شدہ حدوں کو توڑ دیتی ہے تو خرید یا فروخت کے سگنل تیار کیے جاتے ہیں۔
یہ جدید حکمت عملی اتار چڑھاؤ تجزیہ اور رجحان کی پیروی کو یکجا کرتی ہے ، جس سے موافقت پذیر میکانزم کے ذریعہ حکمت عملی کے استحکام اور وشوسنییتا میں بہتری آتی ہے۔ اگرچہ اندرونی خطرات موجود ہیں ، حکمت عملی پیرامیٹر کی مناسب ترتیبات اور اصلاح کے نفاذ کے ذریعہ مختلف مارکیٹ کے حالات میں مستحکم کارکردگی برقرار رکھ سکتی ہے۔ حکمت عملی کا فریم ورک مزید توسیع اور اصلاح کی اجازت دیتا ہے ، جس سے ترقی کی اچھی صلاحیت ظاہر ہوتی ہے۔
/*backtest start: 2024-10-28 00:00:00 end: 2024-11-27 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("ASCTrend", shorttitle="ASCTrend", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) eternalfg = input(false, title="eternal 確定") eternal = eternalfg ? 1 : 0 ASClength = input.int(title="ASC Length", minval=4, defval=10) RISK = input.int(title="RISK", minval=0, defval=3) // Custom sum function customSum(source, length) => sum = 0.0 for i = 0 to length - 1 sum := sum + source[i] sum x1 = 67 + RISK x2 = 33 - RISK Range = ta.highest(ASClength) - ta.lowest(ASClength) AvgRange = ta.sma(Range, ASClength) CountFg = math.abs(open - close) >= AvgRange * 2.0 ? 1 : 0 TrueCount = customSum(CountFg, ASClength) CountFg2 = math.abs(close[3] - close) >= AvgRange * 4.6 ? 1 : 0 TrueCount2 = customSum(CountFg2, ASClength - 3) wpr3RR = ta.wpr(3 + RISK + RISK) wpr3 = ta.wpr(3) wpr4 = ta.wpr(4) WprAbs = 100 + (TrueCount2 > 0 ? wpr4 : TrueCount > 0 ? wpr3 : wpr3RR) ASC_Trend = 0 ASC_Trend := WprAbs[eternal] < x2[eternal] ? -1 : WprAbs[eternal] > x1[eternal] ? 1 : ASC_Trend[1] if (ta.crossover(ASC_Trend, 0)) strategy.entry("Long", strategy.long) if (ta.crossunder(ASC_Trend, 0)) strategy.entry("Short", strategy.short) plotshape(ta.crossover(ASC_Trend, 0), location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small, text="B", textcolor=color.white) plotshape(ta.crossunder(ASC_Trend, 0), location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small, text="S", textcolor=color.white) alertcondition(ta.crossover(ASC_Trend, 0), title="ASC_Trend UP", message="ASC_Trend UP") alertcondition(ta.crossunder(ASC_Trend, 0), title="ASC_Trend Down", message="ASC_Trend Down")