بٹ کوائن مومنٹم ٹریلنگ اسٹاپ حکمت عملی ایک لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی
اس حکمت عملی میں ہفتہ وار چارٹ اور 20 ہفتوں کا ای ایم اے کو رجحان فلٹر کے طور پر استعمال کیا جاتا ہے ، صرف اس وقت داخل ہوتا ہے جب قیمت 20 ہفتوں کے ای ایم اے سے اوپر ہوتی ہے۔ 5 پیریڈ اے ٹی آر کا استعمال ٹریلنگ اسٹاپ کے فاصلے کو متحرک طور پر ایڈجسٹ کرنے کے لئے کیا جاتا ہے ، جو احتیاط کی حالت میں سخت ہوجاتا ہے۔ احتیاط کی حالت دو شرائط سے بیان کی جاتی ہے: حالیہ سوئنگ ہائی سے موجودہ کم سے زیادہ فاصلہ اے ٹی آر سے 1.5 گنا زیادہ ہے ، یا روزانہ بند ہونا روزانہ 20 ای ایم اے سے نیچے ہے۔ یہ متحرک اسٹاپ-نقصان ایڈجسٹمنٹ نقطہ نظر جب رجحان مضبوط ہوتا ہے تو زیادہ پل بیک روم کی اجازت دیتا ہے اور جب رجحان کمزور ہوجاتا ہے تو تیزی سے منافع میں مقفل ہوجاتا ہے۔
سادگی اور افادیت: حکمت عملی کا منطق آسان ، واضح ، سمجھنے اور لاگو کرنے میں آسان ہے ، جبکہ بٹ کوائن کے بڑے اپ ٹرینڈز کو مؤثر طریقے سے پکڑتا ہے۔
متحرک اسٹاپ نقصان: اسٹاپ نقصان کی پوزیشن کو مارکیٹ کی اتار چڑھاؤ کی حالتوں کی بنیاد پر متحرک طور پر ایڈجسٹ کیا جاتا ہے ، منافع کو چلانے کے ساتھ ساتھ ڈراؤونگ کو کنٹرول کیا جاتا ہے ، جو اسٹاپ نقصان کے انتظام کا نسبتا متوازن اور مضبوط نقطہ نظر ہے۔
رجحان فلٹرنگ: اعلی سطح کے چلتے ہوئے اوسط (20 ہفتوں کے ای ایم اے) کے ساتھ فلٹرنگ کرکے ، حکمت عملی صرف واضح اپ ٹرینڈز کے دوران داخل ہوتی ہے ، جس سے حکمت عملی کی جیت کی شرح اور خطرہ انعام کا تناسب بہت بہتر ہوتا ہے۔
پوزیشن سائزنگ: ڈیفالٹ مکمل پوزیشن کے ساتھ تجارت کرنا ہے ، جس سے سرمایہ کا زیادہ سے زیادہ استعمال اور سرمایہ کی کارکردگی میں بہتری آتی ہے۔ پوزیشن کا سائز بھی لچکدار طریقے سے ایڈجسٹ کیا جاسکتا ہے۔
وسیع اطلاق: اسٹریٹجی منطق کو آسانی سے دیگر اثاثوں اور بازاروں میں منتقل کیا جاسکتا ہے ، جس میں اچھی عمومی صلاحیت ہے۔
پیرامیٹر کی قابل اطلاق: حکمت عملی کے پیرامیٹرز کو بٹ کوائن مارکیٹ کی خصوصیات کی بنیاد پر طے کیا جاتا ہے ، اور دیگر مارکیٹوں پر ان کی قابل اطلاقیت کی توثیق کرنے کی ضرورت ہے اور مختلف اثاثوں کے لئے پیرامیٹر کی اصلاح کی ضرورت پڑسکتی ہے۔
رجحان کی نشاندہی: حکمت عملی بنیادی طور پر رجحانات کا اندازہ کرنے کے لئے اعلی سطح کے ای ایم اے اور اے ٹی آر جیسے تکنیکی اشارے پر انحصار کرتی ہے ، جو مارکیٹ کے حالات کو سمجھنے میں بنیادی تجزیہ کی طرح جامع نہیں ہے اور مارکیٹ کے موڑ کے مقامات پر غلطیوں کا شکار ہے۔
اسٹاپ نقصان کا خطرہ: اگرچہ متحرک اسٹاپ نقصانات خطرے کو ایک خاص حد تک کنٹرول کرسکتے ہیں ، لیکن شدید مارکیٹ کے حالات (جیسے تیز گرنے یا تیزی سے گہری اتار چڑھاؤ) میں اب بھی اہم ڈراؤونگ ہوسکتے ہیں۔ مزید برآں ، اسٹاپ نقصان کی پوزیشن نسبتا tight تنگ ہے ، جس کی وجہ سے متضاد مارکیٹوں میں کثرت سے اسٹاپ آؤٹ ہوسکتے ہیں۔
منافع کی صلاحیت: یہ حکمت عملی یکطرفہ اپ ٹرینڈز میں اچھی کارکردگی کا مظاہرہ کرتی ہے لیکن اس سے زیادہ امکان ہے کہ وہ رینج بائنڈ مارکیٹوں میں بار بار اسٹاپ نقصانات کے مسئلے میں پڑ جائے گی ، جس سے مجموعی منافع کی صلاحیت کو محدود کیا جاسکتا ہے۔
براہ راست کارکردگی: اگرچہ حکمت عملی بیک ٹسٹنگ میں اچھی کارکردگی کا مظاہرہ کرتی ہے ، لیکن براہ راست تجارت پر سلائڈ اور کمیشن جیسے عوامل کا اثر پڑتا ہے ، اور اصل نتائج نظریاتی واپسی سے مختلف ہوسکتے ہیں ، جس کے لئے محتاط تشخیص کی ضرورت ہوتی ہے۔
رجحان کا تعین: رجحان کی نشاندہی کی درستگی اور وشوسنییتا کو بہتر بنانے کے لئے زیادہ اعلی سطح کے چلنے والے اوسط ، اتار چڑھاؤ کے اشارے ، یا بنیادی اعداد و شمار کو متعارف کرانے پر غور کریں۔
متحرک پیرامیٹرز: سٹاپ نقصان کی پوزیشنوں اور اے ٹی آر پیرامیٹرز کو مارکیٹ کی مختلف حالتوں کے مطابق ڈائنامک ایڈجسٹمنٹ میکانزم متعارف کرانے سے مزید بہتر بنایا جاسکتا ہے۔
پوزیشن کا سائز: رجحان کی طاقت اور اتار چڑھاؤ جیسے اشارے کی بنیاد پر پوزیشن کے سائز کو متحرک طور پر ایڈجسٹ کریں ، جب رجحان مضبوط ہو تو پوزیشن کا سائز بڑھائیں اور اعلی اتار چڑھاؤ کے دوران پوزیشن کا سائز کم کریں تاکہ رسک ریٹرن ریشو کو بہتر بنایا جاسکے۔
لانگ/شارٹ میکانزم: اس حکمت عملی کی قابل اطلاق اور ممکنہ منافع کو بڑھانے کے لئے ریز مارکیٹوں میں شارٹ سیلز کا میکانزم متعارف کرایا جائے۔ تاہم ، اندراج اور اسٹاپ نقصان کے قواعد کو دوبارہ ڈیزائن کرنے کی ضرورت ہے۔
حکمت عملی کا امتزاج: اس حکمت عملی کو دیگر حکمت عملیوں (جیسے اوسط ریورس) کے ساتھ جوڑیں تاکہ ایک دوسرے کی طاقتوں کو مکمل کریں اور حکمت عملی کے استحکام اور منافع کو بہتر بنائیں۔
بٹ کوائن مومنٹم ٹریلنگ اسٹاپ حکمت عملی ایک سادہ اور موثر رفتار کی حکمت عملی ہے جو متحرک طور پر ایڈجسٹ اسٹاپ نقصانات کے ذریعہ نیچے کی طرف کے خطرے کو کنٹرول کرتے ہوئے اعلی سطح کے حرکت پذیر اوسط اور اے ٹی آر اشارے کا استعمال کرتے ہوئے بٹ کوائن کے مضبوط اپ ٹرینڈز کو پکڑتی ہے۔ حکمت عملی کا منطق واضح ، لاگو اور بہتر بنانے میں آسان ہے ، اور مستحکم واپسی کی تلاش میں درمیانے اور طویل مدتی سرمایہ کاروں کے لئے موزوں ہے۔ تاہم ، یہ محدود مجموعی منافع کی صلاحیت کے ساتھ رینج باؤنڈ مارکیٹوں میں اوسطا کارکردگی کا مظاہرہ کرتا ہے۔ یہ حکمت عملی ایک بنیادی ٹیمپلیٹ کی حیثیت سے کام کرسکتی ہے ، اور سرمایہ کار رجحان کے تعین ، پیرامیٹر کی اصلاح ، پوزیشن مینجمنٹ ، اور طویل / مختصر میکانزم جیسے شعبوں میں اپنی ضروریات اور تجربے کی بنیاد پر اسے مزید بہتر بنا سکتے ہیں ، یا اسے اعلی رسک-انعام تناسب کے حصول کے ل other دوسری حکمت عملیوں کے ساتھ جوڑ سکتے ہیں۔ تاہم ، یہ نوٹ کیا جانا چاہئے کہ حکمت عملی کی براہ راست کارکردگی بیک ٹسٹنگ کے نتائج سے مختلف ہوسکتی ہے ، جس کے لئے احتیاط سے رسک تشخیص اور کنٹرول کی ضرورت ہوتی ہے۔ کسی بھی حکمت عملی کو تاریخی اعداد و شمار پر مکمل بیک ٹسٹ کیا جانا چاہئے اور استعمال سے پہلے متحرک طور پر جانچ پڑتال کی جانی چاہئے ، اور مارکیٹ میں ہونے والی تبدیلیوں کی بنیاد پر متحرک طور پر ایڈجسٹ کیا جانا چاہئے۔
/*backtest start: 2023-03-08 00:00:00 end: 2024-03-07 00:00:00 period: 1d basePeriod: 1h 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/ // © ZenAndTheArtOfTrading // ------------------------------------------------------------------------------------------------------ // System Concept: Capture as much Bitcoin upside volatility as possible while side-stepping downside volatility. // Entry Rule #1: Bitcoin must be trading above higher-timeframe EMA (Weekly 20 EMA) // Entry Rule #2: Bitcoin must not be in 'caution' condition // -> Caution: True if BTC's recent swing high minus its current low is > 1.5x ATR OR close < Daily EMA // Trailing Stop: Stop is trailed 1 ATR from recent swing high, OR 20% of ATR if in caution condition // ------------------------------------------------------------------------------------------------------ // @version=5 strategy("Bitcoin Momentum Strategy", overlay=true) // Get user input var const string G_STRATEGY = "Strategy Entry Settings" var const string G_EXIT = "Strategy Exit Settings" var const string G_FILTER = "Strategy Filters" i_HigherTimeframe = input.timeframe("W", "Higher Timeframe", group=G_STRATEGY, tooltip="Higher timeframe MA reference") i_EmaLength = input.int(20, "EMA Length", group=G_STRATEGY, tooltip="Moving average period length") i_AtrLength = input.int(5, "ATR Length", group=G_STRATEGY, tooltip="ATR period length") i_TrailStopSource = input.source(low, "Trail Stop Source", group=G_EXIT, tooltip="Lowest price source for trailing stop") i_TrailStopLookback = input.int(7, "Trail Stop Lookback", group=G_EXIT, tooltip="How many bars to look back for trailing price source") i_TrailStopMulti = input.float(0.2, "Trailing Stop Ratchet Multiplier", group=G_EXIT, tooltip="When momentum is yellow (caution), shrink ATR distance for TS by this much") i_StartTime = input(timestamp("01 Jan 2000 13:30 +0000"), "Start Filter", group=G_FILTER, tooltip="Start date & time to begin searching for setups") i_EndTime = input(timestamp("1 Jan 2099 19:30 +0000"), "End Filter", group=G_FILTER, tooltip="End date & time to stop searching for setups") // Define custom security function which does not repaint RequestSecurity_NonRP(_market, _res, _exp) => request.security(_market, _res, _exp[barstate.isrealtime ? 1 : 0])[barstate.isrealtime ? 0 : 1] // Define date filter check DateFilter(int start, int end) => time >= start and time <= end // Get indicator values float atrValue = ta.atr(i_AtrLength) float emaValue = ta.ema(close, i_EmaLength) float htfEmaValue = RequestSecurity_NonRP(syminfo.tickerid, i_HigherTimeframe, emaValue) float marketPrice = close // Check for bullishness / bearish volatility caution bool isBullish = marketPrice > htfEmaValue bool isCaution = isBullish and (ta.highest(high, 7) - low > (atrValue * 1.5) or marketPrice < emaValue) // Set momentum color color bgCol = color.red if isBullish[1] bgCol := color.green if isCaution[1] bgCol := color.orange // Handle strategy entry, and reset trailing stop var float trailStop = na if isBullish and strategy.position_size == 0 and not isCaution strategy.entry(id="Buy", direction=strategy.long) trailStop := na // Update trailing stop float temp_trailStop = ta.highest(i_TrailStopSource, i_TrailStopLookback) - (isCaution[1] ? atrValue * i_TrailStopMulti : atrValue) if strategy.position_size > 0 if temp_trailStop > trailStop or na(trailStop) trailStop := temp_trailStop // Handle strategy exit if (close < trailStop or close < htfEmaValue) and barstate.isconfirmed strategy.close("Buy", comment="Sell") // Draw trailing stop, HTF EMA and color-coded momentum indicator plotshape(true, color=bgCol, style=shape.square, location=location.bottom, size=size.auto, title="Momentum Strength") plot(htfEmaValue, color=close > htfEmaValue ? color.green : color.red, linewidth=2, title="HTF EMA") plot(emaValue, color=close > emaValue ? color.green : color.red, linewidth=1, title="CTF EMA") plot(strategy.position_size[1] > 0 ? trailStop : na, style=plot.style_linebr, color=color.red, title="Stop Loss")