Momentum Filtered Moving Average Strategy


تخلیق کی تاریخ: 2023-12-12 12:35:05 آخر میں ترمیم کریں: 2023-12-12 12:35:05
کاپی: 0 کلکس کی تعداد: 412
1
پر توجہ دیں
1212
پیروکار

Momentum Filtered Moving Average Strategy

جائزہ

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

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

اس حکمت عملی کا بنیادی اشارے متحرک فلٹرڈ چانڈے متحرک اتار چڑھاؤ اشارے (CMO) ہے۔ چانڈے متحرک اتار چڑھاؤ اشارے متحرک اشارے کی ایک قسم ہے ، جس میں فاریکس ٹریڈنگ کے فوائد اور نقصانات کے مابین فرق کے تناسب کے حساب سے فاریکس ٹریڈنگ کے فوائد اور نقصانات کے تناسب کا حساب لگایا جاتا ہے۔ اس حکمت عملی میں اس میں بہتری لائی گئی ہے ، جس میں قیمتوں میں تبدیلی کی کم سے کم حد سے تجاوز کرنے والے پیرامیٹر فلٹر کو ترتیب دیا گیا ہے ، اور صرف اس وقت CMO کے حساب میں حصہ لیا جاتا ہے جب قیمت میں تبدیلی اس حد سے تجاوز کرتی ہے۔ اس سے مارکیٹ میں بہت سارے چھوٹے اتار چڑھاؤ کو فلٹر کیا جاتا ہے ، جس سے اشارے کو زیادہ مستحکم اور قابل اعتماد بنایا جاتا ہے۔

اشارے کے حساب کتاب کی بنیاد پر ، اس نے اوپر کی ٹاپ بینڈ اور نیچے کی لائیو بینڈ ترتیب دی ہے ، اور جب اشارے ان دونوں لائنوں سے تجاوز کرتے ہیں تو ایک تجارتی سگنل پیدا ہوتا ہے۔ آخر میں ، ریورس ان پٹ پیرامیٹر ریورس اصل سگنل کو الٹ کر ریورس آپریشن کو لاگو کرسکتا ہے۔

طاقت کا تجزیہ

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

خطرے کا تجزیہ

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

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

اصلاح کی سمت

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

  1. فلٹر پیرامیٹرز کی قدر کو بہتر بنائیں تاکہ مارکیٹ کے شور کو فلٹر کیا جاسکے اور اس بات کو یقینی بنایا جاسکے کہ ٹرانزیکشن کی فریکوئنسی کم نہ ہو۔

  2. ٹاپ بینڈ اور لو بینڈ کے پیرامیٹرز کی حد کو بہتر بنائیں تاکہ یہ مارکیٹ میں اتار چڑھاؤ کی شدت سے مل سکے اور غلط سگنل کو روک سکے۔

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

  4. نقصان کو روکنے کے لئے معقول رکاوٹ کا تعین کرنے کے لئے اسٹاپ نقصان کی روک تھام کی منطق شامل کریں۔

  5. دوسرے اشارے کے ساتھ مل کر ، جیسے MACD ، KD ، وغیرہ ، غیر رجحان کی مارکیٹ میں غلط تجارت سے بچنے کے لئے۔

خلاصہ کریں۔

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

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 02/03/2017
// This indicator plots a CMO which ignores price changes which are less 
// than a threshold value. CMO was developed by Tushar Chande. A scientist, 
// an inventor, and a respected trading system developer, Mr. Chande developed 
// the CMO to capture what he calls "pure momentum". For more definitive 
// information on the CMO and other indicators we recommend the book The New 
// Technical Trader by Tushar Chande and Stanley Kroll.
// The CMO is closely related to, yet unique from, other momentum oriented 
// indicators such as Relative Strength Index, Stochastic, Rate-of-Change, etc. 
// It is most closely related to Welles Wilder`s RSI, yet it differs in several ways:
// - It uses data for both up days and down days in the numerator, thereby directly 
// measuring momentum;
// - The calculations are applied on unsmoothed data. Therefore, short-term extreme 
// movements in price are not hidden. Once calculated, smoothing can be applied to the 
// CMO, if desired;
// - The scale is bounded between +100 and -100, thereby allowing you to clearly see 
// changes in net momentum using the 0 level. The bounded scale also allows you to 
// conveniently compare values across different securities.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
fFilter(xSeriesSum, xSeriesV, Filter) =>
    iff(xSeriesV > Filter, xSeriesSum, 0)

strategy(title="CMOfilt", shorttitle="CMOfilt")
Length = input(9, minval=1)
Filter = input(3, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xMom = close - close[1]
xMomAbs = abs(close - close[1])
xMomFilter = fFilter(xMom, xMomAbs, Filter)
xMomAbsFilter = fFilter(xMomAbs,xMomAbs, Filter)
nSum = sum(xMomFilter, Length)
nAbsSum = sum(xMomAbsFilter, Length)
nRes =   100 * nSum / nAbsSum
pos = iff(nRes > TopBand, 1,
	     iff(nRes < LowBand, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1 )
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=blue, title="CMOfilt")