مومنٹم بارز (Mo_Bars) (نسبتی) مومنٹم کو دیکھنے کا ایک مختلف طریقہ پیش کرتا ہے - اور کچھ آسان ٹی اے تصورات کا استعمال کرتا ہے تاکہ ہم مومنٹم تبدیلیوں کو کس طرح پڑھیں اور اسے اپنی تجارت میں شامل کریں اس میں مختلف نقطہ نظر فراہم کریں۔
یہاں کا خیال (اور اسکرپٹ خود) واقعی بہت آسان ہے ، اور یہ (بہت ہی آزادانہ طور پر) ایلڈر کے امپلس سسٹم (ای آئی ایس) سے متاثر ہے - پھر کچھ دوسرے تصورات کو فائدہ اٹھانے کے لئے تیار ہوا ، اور کم گندا اور
بیس تصور میں 3 حرکت پذیر اوسط لائنوں کا استعمال کیا جاتا ہے: پہلی لائن ایک نسبتا تیز رفتار ایم اے ہے جس کی لمبائی مختصر ہے - اہم قیمت ٹریکنگ لائن کے طور پر کام کرتا ہے
دوسری لائن مین لائن سے قدرے سست ہے - 2 سے 3 بار لمبی لمبائی - اور بطور ڈیفالٹ اوپن ویلیو کو بطور ماخذ استعمال کرے گی - یہ اس وقت کی نشاندہی کرنے کے لئے بہتر کام کرتی ہے جب اختتامی قیمت اوپن سے زیادہ تیزی سے حرکت کرنا شروع کردیتی ہے (جیسے ، بار زیادہ کثرت سے کھلنے سے زیادہ بند ہوجاتے ہیں) - یہ لائن سگنل لائن کی حیثیت سے کام کرتی ہے - اضافی تاخیر کے لئے ایک اضافی ترتیب ہے جو باقاعدگی سے WMA ہموار کا استعمال کرتی ہے - تاخیر 2 ایم اے کے مابین نسبتا displacement نقل مکانی کو بڑھانے کے لئے کام کرتی ہے۔
ان دونوں MA
تیسری لائن بہت سست ایم اے ہے (لمبائی 5 سے 6 گنا تیز لائن) - اور فلٹر یا بیس لائن کی حیثیت سے کام کرتی ہے۔ جب ہم اس لائن سے اوپر ہیں تو ہمیں لمبی پوزیشنوں کا حق ہونا چاہئے - ہم بیل علاقے میں ہیں۔ جب ہم اس لائن سے نیچے ہیں تو ہم مختصر پوزیشنوں کا حق رکھتے ہیں ، اور ہم ریچھ علاقے میں ہیں۔ اس لائن کو ایڈجسٹ کریں کیونکہ یہ آپ کے تجارتی انداز اور وقت کے فریم کے مطابق ہے۔ (میں نے فلٹر لائن کے لئے ایم اے کی قسم کے طور پر ڈبلیو ایم اے کا استعمال کرنے کا انتخاب کیا ہے... اور اس کی ایک اچھی وجہ ہے - جو میں اب کے لئے چھوڑ دوں گا - لیکن مستقبل کے ورژن میں ، ہم دیگر منتخب شدہ ایم اے کی اقسام کو شامل کرسکتے ہیں۔)
ایک بہت وسیع سطح پر، ہم ایک MACD استعمال کرتے ہیں کہ کس طرح کی طرح Mo_Bars استعمال کر سکتے ہیں - دونوں مرکز اور غیر محدود oscillators ہیں - فرق یہ ہے کہ Mo_Bars 2 کے بجائے 3 MA
Mo_Bar بار کی لمبائی اہم MA اور سگنل MA کے درمیان فاصلے کی عکاسی کرتا ہے - بیس لائن (فلٹر لائن) کے سلسلے میں پلاٹ کیا - اس کا مطلب یہ ہے کہ بار کی لمبائی 2 MA
مندرجہ بالا چارٹ میں، میں نے چند مثالوں کو نوٹ کیا کہ کس طرح رشتہ دار رفتار کو اس طرح سے ظاہر کرنے کے علاقے کو ظاہر کرتا ہے (مو_بارز صفر سے اوپر ہیں لیکن سرخ میں ہیں یا نیچے کی طرف بڑھ رہے ہیں، یا جب مو_بارز صفر سے نیچے اور سبز ہیں یا اوپر کی طرف بڑھ رہے ہیں) - قیمت کے ساتھ تبادلہ / اختلاف - اور یہ کس طرح قیمت کی کارروائی یا رجحان میں ممکنہ تبدیلیوں کے امکان کو ظاہر کرنے کے لئے کام کرسکتا ہے.
اس سیٹ اپ کے ساتھ کھیلنے کے لئے بہت کچھ ہے - اور شاید اگر کافی دلچسپی ہو تو مستقبل میں اس کا استعمال کرنے یا یہاں تک کہ اسے مزید تیار کرنے کے بارے میں مخصوص پوسٹس ہوسکتی ہیں - یہاں بہت ساری صلاحیتیں ہیں ، مزید فلٹرز (شاید حجم پر مبنی) شامل کرنے کے لئے ، انتباہات ، سگنل... وغیرہ - تو آئیے دلچسپی دیکھیں 🙂
یہاں تفصیلی (اوپر چارٹ) سیٹ اپ ہے کہ Mo_Bars پر مبنی ہے
بیک ٹسٹ
/*backtest start: 2022-05-10 00:00:00 end: 2022-05-16 23:59:00 period: 3m basePeriod: 1m 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/ // © RedKTrader //@version=5 indicator('[dev]RedK Momentum Bars', shorttitle='RedK MoBars v3.0', explicit_plot_zorder = true, timeframe='', timeframe_gaps=false) // A trading system composed of 2 short Lazy Lines (preferably one open and one close - 2-3 bars apart) and a WMA long filter // loosely inspired by Edler Impulse // v2.0 cleaned up code and added MA options to be able to mix and match, and experiment with various setups // default values (my personal preference) remain the same as in v1.0 // for example, some traders will consider "bear territory" only below SMA50, others will use EMA30 .. and so on. // --------------------------------------------------------------------------------------------------------------- // MoBars v3.0: // updated defaults to match the most common 3x MA cross-over set-up of SMA (10, 20, 50) // updated visuals to push the 0 line to the background of the plot (using the explcit_plot_zorder param) // and added alerts for crossing up, down and swing around the 0 line (the Bullish/Bearish Filter MA) //============================================================================== f_LazyLine(_data, _length) => w1 = 0, w2 = 0, w3 = 0 L1 = 0.0, L2 = 0.0, L3 = 0.0 w = _length / 3 if _length > 2 w2 := math.round(w) w1 := math.round((_length - w2) / 2) w3 := int((_length - w2) / 2) L1 := ta.wma(_data, w1) L2 := ta.wma(L1, w2) L3 := ta.wma(L2, w3) else L3 := _data L3 //============================================================================== // ============================================================================= f_getMA(source, length, type) => type == "SMA" ? ta.sma(source, length) : type == "EMA" ? ta.ema(source, length) : type == "WMA" ? ta.wma(source, length) : type == "HMA" ? ta.hma(source, length) : f_LazyLine(source, length) // ============================================================================= // ------------------------------------------------------------------------------------------------ // Inputs // Note, in v3.0, changed default lengths to 10, 20 and 50 -- and all MA types to SMA. // ------------------------------------------------------------------------------------------------ Fast_Src = input.source(close, title='Fast MA Source', inline = 'Fast') Fast_Length = input.int(10, title = 'Length', minval = 1, inline = 'Fast') Fast_Type = input.string('SMA', title = 'Type', inline = 'Fast', options = ['RSS_WMA', 'WMA', 'EMA', 'SMA', 'HMA']) Slow_Src = input.source(close, title='Slow MA Source', inline = 'Slow') Slow_Length = input.int(20, title='Length', minval = 1, inline = 'Slow') Slow_Type = input.string('SMA', title = 'Type', inline = 'Slow', options = ['RSS_WMA', 'WMA', 'EMA', 'SMA', 'HMA']) Slow_Delay = input.int(3, title='Delay (1 = None)', minval = 1) Fil_Length = input.int(50, title='Filter MA Length', minval = 1, inline = 'Filter') Fil_Type = input.string('SMA', title = 'Type', inline = 'Filter', options = ['RSS_WMA', 'WMA', 'EMA', 'SMA', 'HMA']) // ------------------------------------------------------------------------------------------------ // Calculation // ------------------------------------------------------------------------------------------------ Fast = f_getMA(Fast_Src, Fast_Length, Fast_Type) Slow = f_getMA(Slow_Src, Slow_Length, Slow_Type) Filter = f_getMA(close, Fil_Length, Fil_Type) Fast_M = Fast - Filter Slow_M = Slow - Filter Rel_M = ta.wma(Slow_M, Slow_Delay) // prep the Momentum bars o = Rel_M c = Fast_M h = math.max(o, c) l = math.min(o, c) rising = ta.change(c) > 0 // ------------------------------------------------------------------------------------------------ // Colors & Plots // ------------------------------------------------------------------------------------------------ hline(0, title = 'Zero Line', color = color.blue, linestyle = hline.style_solid) c_barup = #11ff20ff c_bardn = #ff1111ff c_bardj = #ffffffff c_barupb = #1b5e20ff c_bardnb = #981919ff c_bardjb = #9598a1ff barcolor = c > o and rising ? c_barup : c < o and not rising ? c_bardn : c_bardj borcolor = c > o and rising ? c_barupb : c < o and not rising ? c_bardnb : c_bardjb //plotcandle(o, h, l, c, 'MoBars', barcolor, barcolor, bordercolor = borcolor) // =========================================================================================================== // v3.0 adding alerts // these alerts will trigger as soon as the Momentum Bar touches above the filter line // this approach can lead to "false signals" but also has an advantage (of alerting to a possible mood/mode change) // another option - maybe in an updated version - could be to trigger alerts *only* when the full Momentum Bar completely clears the filter line (above or below) // and it's easy to make that a user choice in the study inputs // =========================================================================================================== Alert_up = ta.crossover(h,0) Alert_dn = ta.crossunder(l,0) Alert_swing = Alert_up or Alert_dn // "." in alert title for the alerts to show in the right order up/down/swing alertcondition(Alert_up, ". MoBars Crossing 0 Up", "MoBars Up - Bullish Mode Detected!") alertcondition(Alert_dn, ".. MoBars Crossing 0 Down", "MoBars Down - Bearish Mode Detected!") alertcondition(Alert_swing, "... MoBars Crossing 0", "Mobars Swing - Possible Reversal Detected!") if Alert_up strategy.entry("Enter Long", strategy.long) else if Alert_dn strategy.entry("Enter Short", strategy.short)