ووس فلٹر اور رجحان اشارے پر مبنی مقداری تجارتی حکمت عملی


تخلیق کی تاریخ: 2023-09-19 16:59:10 آخر میں ترمیم کریں: 2023-09-19 16:59:10
کاپی: 2 کلکس کی تعداد: 900
1
پر توجہ دیں
1617
پیروکار

جائزہ

اس حکمت عملی میں ووس کی پیش گوئی کرنے والے فلٹر اور ایہلرز کے لمحاتی ٹرینڈ لائن اشارے کا استعمال کیا گیا ہے تاکہ مارکیٹ کے دورانیہ کے موڑ کی نشاندہی کی جاسکے ، تاکہ اس کی مقدار کی تجارت کی جاسکے۔ ووس فلٹر خرید / فروخت کے سگنل کو پہلے سے بھیج سکتا ہے ، جبکہ لمحاتی ٹرینڈ لائن اشارے مجموعی طور پر رجحان کی سمت کا تعین کرنے کے لئے استعمال کیا جاتا ہے ، جس سے رجحان میں مارکیٹ میں ووس فلٹر کی غلطی کو کم کیا جاسکتا ہے۔ یہ حکمت عملی زیادہ واضح طور پر دورانیہ والی اقسام جیسے بٹ کوائن کے لئے استعمال کی جاسکتی ہے ، جو بیک اپ میں بہتر کارکردگی کا مظاہرہ کرتی ہے۔

حکمت عملی کا اصول

Voss پیش گوئی فلٹر

ووس نے فلٹر کی پیش گوئی جان ایف ایلس کے مضمون A Peek Into The Future سے کی ہے۔ اس فلٹر کا حساب کتاب مندرجہ ذیل ہے:

_filt = 0.5 * _s3 * _x1 + _f1 * _s2 * _filt[1] - _s1 * _filt[2]
_voss = _x2 * _filt - _sumC

اس میں،_X1 قیمت میں ایک درجہ کا فرق ہے؛_x2 ہموار عنصر ہے؛_s1、_s2、_s3 فلٹرنگ پیرامیٹرز؛_f1 دورانیہ پیرامیٹر ہے؛_filt فلٹر کا نتیجہ ہے؛_voss کے لئے حتمی آؤٹ پٹ

اس فلٹر کو ایک ہموار فلٹر کے طور پر دیکھا جاسکتا ہے ، جو موجودہ اور پچھلے کچھ ادوار کی معلومات پر زور دیتا ہے ، اس طرح خرید / فروخت کے اشارے پیشگی طور پر جاری کردیئے جاتے ہیں۔ اندرونی گروپ کی تاخیر کی وجہ سے ، یہ دوسرے اشارے سے پہلے پیش گوئی کرنے والے اشارے جاری کرسکتا ہے ، جیسے کہ انڈے مستقبل کے انڈے کو دیکھتا ہے۔

فوری رجحان لائن اشارے

لمحاتی رجحان لائن اشارے کا حساب مندرجہ ذیل فارمولے سے لگایا جاتا ہے:

_it = (_a-((_a*_a)/4.0))*_src+0.5*_a*_a*_src[1]-(_a-0.75*_a*_a)*_src[2]+2*(1-_a)*nz(_it[1])+-(1-_a)*(1-_a)*nz(_it[2])

یہ اشارے قیمتوں کے ساتھ بہترین مطابقت رکھنے والی ایک رجحان لائن کو حقیقی وقت میں ڈرا دیتا ہے ، جس سے رجحان کی سمت اور طاقت کا درست اندازہ لگایا جاسکتا ہے۔

حکمت عملی کی منطق

جب Voss منفی ٹرانسمیشن اور فلٹر کے نتیجے میں خریدنے کا اشارہ پیدا ہوتا ہے.

جب Voss مثبت سے منفی کی طرف سے، اور نیچے کے ذریعے فلٹر کے نتیجے میں فروخت سگنل پیدا کرتا ہے.

اس کے علاوہ ، صرف اس وقت ٹریڈنگ سگنل جاری کیا جاتا ہے جب لمحاتی رجحان لائن اشارے رجحان کی سمت کی تصدیق کرتے ہیں۔ اس سے ووئس فلٹرز کے ذریعہ رجحان کی منڈی میں غلط سگنل کو فلٹر کیا جاسکتا ہے۔

اسٹریٹجک فوائد

  • Voss فلٹرز پیشگی پیش گوئی سگنل بھیجتے ہیں اور دورانیہ کی تبدیلی کو پکڑتے ہیں
  • لمحاتی رجحان لائن اشارے رجحان کی سمت کا درست اندازہ لگاتا ہے ، فلٹر کے پہلے سے بھیجے گئے غلط سگنل سے بچتا ہے
  • مختلف سائیکل اور مارکیٹ کے حالات کے لئے مرضی کے مطابق ترتیب کے پیرامیٹرز
  • اضافی سٹاپ نقصان کی حکمت عملی کنٹرول خطرہ

اسٹریٹجک خطرات اور حل

  • یہ حکمت عملی فلٹرز پر انحصار کرتی ہے جو پہلے سے سگنل دیتے ہیں اور ممکنہ طور پر کچھ رجحانات کو چھوڑ دیتے ہیں۔
  • مضبوط رجحان کے تحت ، ممکنہ طور پر نقصان کے ساتھ رد عمل کے تجارتی اشارے پیدا ہوسکتے ہیں

مندرجہ ذیل طریقوں سے خطرے کو کم کیا جا سکتا ہے:

  • مختلف نسلوں کی دورانیہ سے ملنے کے لئے سائیکل پیرامیٹرز کو بہتر بنائیں
  • بینڈوڈتھ پیرامیٹرز کو ایڈجسٹ کریں ، فلٹر کی طاقت کو کم کریں ، اور گمراہ کن سگنل کو کم کریں
  • ٹرینڈ فلٹرز کو بڑھانا تاکہ مضبوط رجحانات کے غلط سگنل سے بچا جا سکے
  • اسٹاپ نقصان کی حکمت عملی کا تعین کریں اور انفرادی نقصان کو کنٹرول کریں

حکمت عملی کی اصلاح کی سمت

یہ حکمت عملی مندرجہ ذیل پہلوؤں سے بہتر بنائی جا سکتی ہے۔

  • مختلف قیمتوں کے ذرائع جیسے اختتامی قیمت ، اوسط وغیرہ کو آزمائیں تاکہ بہتر ان پٹ حاصل کیا جاسکے
  • فلٹر کے دورانیہ کے پیرامیٹرز کو ایڈجسٹ کریں تاکہ وہ مخصوص نسلوں کے ساتھ مطابقت پذیر ہوں
  • رجحانات کے اشارے کے پیرامیٹرز کو بہتر بنانے کے لئے ، زیادہ درست رجحانات کا فیصلہ کریں
  • مختلف رجحانات کے اشارے آزمائیں اور زیادہ مناسب مجموعہ تلاش کریں
  • اضافی سٹاپ، ٹریلنگ اسٹاپ حکمت عملی، بہتر خطرے کا کنٹرول
  • پیرامیٹرز کو بہتر بنانے کے لئے، بہترین پیرامیٹرز کا مجموعہ تلاش کریں

خلاصہ کریں۔

اس حکمت عملی میں وس فلٹر اور ٹرینڈ اشارے شامل ہیں ، جو مارکیٹ میں دورانیہ کی تبدیلی کی موثر شناخت کرسکتے ہیں۔ پیرامیٹرز کو بہتر بنانے ، خطرے پر قابو پانے کے ذریعہ ، اس حکمت عملی سے مستحکم مقداری تجارتی نظام حاصل کیا جاسکتا ہے۔ یہ واضح طور پر دورانیہ والی نسلوں میں وسیع پیمانے پر لاگو کیا جاسکتا ہے ، جس نے بیک اپ میں اچھی تجارتی کارکردگی کا مظاہرہ کیا ہے۔ مجموعی طور پر ، اس حکمت عملی میں ایک منفرد پیش گوئی کی صلاحیت ہے ، اور اس کو متعدد پہلوؤں سے بہتر بنایا جاسکتا ہے ، جس میں وسیع پیمانے پر اطلاق کے امکانات ہیں۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// A Peek Into the Future
// John F. Ehlers
// TASC Aug 2019

// Created by e2e4mfck for tradingview.com
// Modified by © Bitduke

//@version=4
//strategy("Voss Strategy (Filter + IT)", overlay=false, calc_on_every_tick=false,pyramiding=0, default_qty_type=strategy.cash,default_qty_value=1000, currency=currency.USD, initial_capital=1000,commission_type=strategy.commission.percent, commission_value=0.075)

// voss filter

source = input(close, type = input.source)
period = input(20, type = input.integer)
predict = input(4, type = input.integer)
bandwidth = input(0.25, type = input.float)

// it trendline

src = input(hl2, title="Source IT")
a = input(0.07, title="Alpha", step=0.01) 
fr = input(false, title="Fill Trend Region")
ebc = input(false, title="Enable barcolors")
hr = input(false, title="Hide Ribbon")


voss_filter (_period, _predict, _bandwidth, _source) =>
	float _filt = 0, float _sumC = 0, float _voss = 0
	_PI		= 2 * asin(1)
	_order	= 3 * _predict
	_f1		= cos(2 * _PI / _period)
	_g1		= cos(_bandwidth * 2 * _PI / _period)
	_s1		= 1 / _g1 - sqrt(1 / (_g1 * _g1) - 1)
	_s2		= 1 + _s1
	_s3		= 1 - _s1
	_x1		= _source - _source[2]
	_x2		= (3 + _order) / 2

	for _i = 0 to (_order - 1)
		_sumC := _sumC + ((_i + 1) / _order) * _voss[_order - _i]

	if bar_index <= _order
		_filt := 0		
		_voss := 0		
	else			
		_filt := 0.5 * _s3 * _x1 + _f1 * _s2 * _filt[1] - _s1 * _filt[2]
		_voss := _x2 * _filt - _sumC

	[_voss, _filt]


[Voss, Filt] = voss_filter(period, predict, bandwidth, source)


instantaneous_trendline (_src, _a, _freq, _ebc, _hr) =>
    _it = 0.0
    _it := (_a-((_a*_a)/4.0))*_src+0.5*_a*_a*_src[1]-(_a-0.75*_a*_a)*_src[2]+2*(1-_a )*nz(_it[1], ((_src+2*_src[1]+_src[2])/4.0))-(1-_a)*(1-_a)*nz(_it[2], ((_src+2*_src[1]+_src[2])/4.0))
    _lag = 2.0*_it-nz(_it[2])
    
    [_it, _lag]

[it, lag] = instantaneous_trendline(src, a, fr, ebc, hr)

// - - - - -  - - - - - //

plot(Filt, title = "Filter", style = plot.style_line, color = color.red, linewidth = 2)
plot(Voss, title = "Voss", style = plot.style_line, color = color.blue,	linewidth = 2)
hline(0.0, title = "Zero", linestyle = hline.style_dashed, color = color.black,	linewidth = 1)
plot(hr? na:it, title="IT Trend", color= fr? color.gray : color.red, linewidth=1)
plot(hr? na:lag, title="IT Trigger", color=fr? color.gray : color.blue, linewidth=1)


// Strategy Logic
longCondition =  lag < it  and crossover(Voss,Filt) 
shortCondition = it > lag and crossover(Filt,Voss) 

strategy.entry("Voss_Short", strategy.short, when=shortCondition)
strategy.entry("Voss_Long", strategy.long, when=longCondition)


// === Backtesting Dates === thanks to Trost

testPeriodSwitch = input(true, "Custom Backtesting Dates")
testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, 0)
testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(2, "Backtest Stop Month")
testStopDay = input(29, "Backtest Stop Day")
testStopHour = input(0, "Backtest Stop Hour")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, testStopHour, 0)
testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false
testPeriod_1 = testPeriod()
isPeriod = true
// === /END

if not isPeriod
    strategy.cancel_all()
    strategy.close_all()