وسائل لوڈ ہو رہے ہیں... لوڈنگ...

بٹ کوائن مومنٹم ٹریلنگ اسٹاپ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-03-08 16:20:16
ٹیگز:

img

حکمت عملی کا جائزہ

بٹ کوائن مومنٹم ٹریلنگ اسٹاپ حکمت عملی ایک لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی لمبی

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

  1. بٹ کوائن کی موجودہ قیمت اعلی ٹائم فریم ای ایم اے (20 ہفتہ ای ایم اے) سے اوپر ٹریڈنگ ہونی چاہئے۔
  2. بٹ کوائن کو احتیاط کی حالت میں نہیں ہونا چاہیے، جس کی وضاحت حالیہ سوئنگ ہائی سے کم موجودہ بار کی کم سے کم 1.5 گنا اے ٹی آر سے زیادہ ہونے کے طور پر کی جاتی ہے، یا روزانہ بند ہونے والے روزانہ 20 ای ایم اے سے کم ہونے کے طور پر کی جاتی ہے۔
  3. اسٹاپ نقصان کو حالیہ سوئنگ ہائی میں مائنس 1 اے ٹی آر یا مائنس 20٪ اے ٹی آر (یعنی 0.2 اے ٹی آر) پر مقرر کیا جاتا ہے اگر احتیاط کی حالت میں ہو۔
  4. اگلی بار پر باہر نکلیں کھل جاتا ہے جب قیمت سٹاپ نقصان سے نیچے بند ہو جاتی ہے۔

اس حکمت عملی میں ہفتہ وار چارٹ اور 20 ہفتوں کا ای ایم اے کو رجحان فلٹر کے طور پر استعمال کیا جاتا ہے ، صرف اس وقت داخل ہوتا ہے جب قیمت 20 ہفتوں کے ای ایم اے سے اوپر ہوتی ہے۔ 5 پیریڈ اے ٹی آر کا استعمال ٹریلنگ اسٹاپ کے فاصلے کو متحرک طور پر ایڈجسٹ کرنے کے لئے کیا جاتا ہے ، جو احتیاط کی حالت میں سخت ہوجاتا ہے۔ احتیاط کی حالت دو شرائط سے بیان کی جاتی ہے: حالیہ سوئنگ ہائی سے موجودہ کم سے زیادہ فاصلہ اے ٹی آر سے 1.5 گنا زیادہ ہے ، یا روزانہ بند ہونا روزانہ 20 ای ایم اے سے نیچے ہے۔ یہ متحرک اسٹاپ-نقصان ایڈجسٹمنٹ نقطہ نظر جب رجحان مضبوط ہوتا ہے تو زیادہ پل بیک روم کی اجازت دیتا ہے اور جب رجحان کمزور ہوجاتا ہے تو تیزی سے منافع میں مقفل ہوجاتا ہے۔

حکمت عملی کے فوائد

  1. سادگی اور افادیت: حکمت عملی کا منطق آسان ، واضح ، سمجھنے اور لاگو کرنے میں آسان ہے ، جبکہ بٹ کوائن کے بڑے اپ ٹرینڈز کو مؤثر طریقے سے پکڑتا ہے۔

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

  3. رجحان فلٹرنگ: اعلی سطح کے چلتے ہوئے اوسط (20 ہفتوں کے ای ایم اے) کے ساتھ فلٹرنگ کرکے ، حکمت عملی صرف واضح اپ ٹرینڈز کے دوران داخل ہوتی ہے ، جس سے حکمت عملی کی جیت کی شرح اور خطرہ انعام کا تناسب بہت بہتر ہوتا ہے۔

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

  5. وسیع اطلاق: اسٹریٹجی منطق کو آسانی سے دیگر اثاثوں اور بازاروں میں منتقل کیا جاسکتا ہے ، جس میں اچھی عمومی صلاحیت ہے۔

حکمت عملی کے خطرات

  1. پیرامیٹر کی قابل اطلاق: حکمت عملی کے پیرامیٹرز کو بٹ کوائن مارکیٹ کی خصوصیات کی بنیاد پر طے کیا جاتا ہے ، اور دیگر مارکیٹوں پر ان کی قابل اطلاقیت کی توثیق کرنے کی ضرورت ہے اور مختلف اثاثوں کے لئے پیرامیٹر کی اصلاح کی ضرورت پڑسکتی ہے۔

  2. رجحان کی نشاندہی: حکمت عملی بنیادی طور پر رجحانات کا اندازہ کرنے کے لئے اعلی سطح کے ای ایم اے اور اے ٹی آر جیسے تکنیکی اشارے پر انحصار کرتی ہے ، جو مارکیٹ کے حالات کو سمجھنے میں بنیادی تجزیہ کی طرح جامع نہیں ہے اور مارکیٹ کے موڑ کے مقامات پر غلطیوں کا شکار ہے۔

  3. اسٹاپ نقصان کا خطرہ: اگرچہ متحرک اسٹاپ نقصانات خطرے کو ایک خاص حد تک کنٹرول کرسکتے ہیں ، لیکن شدید مارکیٹ کے حالات (جیسے تیز گرنے یا تیزی سے گہری اتار چڑھاؤ) میں اب بھی اہم ڈراؤونگ ہوسکتے ہیں۔ مزید برآں ، اسٹاپ نقصان کی پوزیشن نسبتا tight تنگ ہے ، جس کی وجہ سے متضاد مارکیٹوں میں کثرت سے اسٹاپ آؤٹ ہوسکتے ہیں۔

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

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

اصلاح کی ہدایات

  1. رجحان کا تعین: رجحان کی نشاندہی کی درستگی اور وشوسنییتا کو بہتر بنانے کے لئے زیادہ اعلی سطح کے چلنے والے اوسط ، اتار چڑھاؤ کے اشارے ، یا بنیادی اعداد و شمار کو متعارف کرانے پر غور کریں۔

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

  3. پوزیشن کا سائز: رجحان کی طاقت اور اتار چڑھاؤ جیسے اشارے کی بنیاد پر پوزیشن کے سائز کو متحرک طور پر ایڈجسٹ کریں ، جب رجحان مضبوط ہو تو پوزیشن کا سائز بڑھائیں اور اعلی اتار چڑھاؤ کے دوران پوزیشن کا سائز کم کریں تاکہ رسک ریٹرن ریشو کو بہتر بنایا جاسکے۔

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

  5. حکمت عملی کا امتزاج: اس حکمت عملی کو دیگر حکمت عملیوں (جیسے اوسط ریورس) کے ساتھ جوڑیں تاکہ ایک دوسرے کی طاقتوں کو مکمل کریں اور حکمت عملی کے استحکام اور منافع کو بہتر بنائیں۔

حکمت عملی کا خلاصہ

بٹ کوائن مومنٹم ٹریلنگ اسٹاپ حکمت عملی ایک سادہ اور موثر رفتار کی حکمت عملی ہے جو متحرک طور پر ایڈجسٹ اسٹاپ نقصانات کے ذریعہ نیچے کی طرف کے خطرے کو کنٹرول کرتے ہوئے اعلی سطح کے حرکت پذیر اوسط اور اے ٹی آر اشارے کا استعمال کرتے ہوئے بٹ کوائن کے مضبوط اپ ٹرینڈز کو پکڑتی ہے۔ حکمت عملی کا منطق واضح ، لاگو اور بہتر بنانے میں آسان ہے ، اور مستحکم واپسی کی تلاش میں درمیانے اور طویل مدتی سرمایہ کاروں کے لئے موزوں ہے۔ تاہم ، یہ محدود مجموعی منافع کی صلاحیت کے ساتھ رینج باؤنڈ مارکیٹوں میں اوسطا کارکردگی کا مظاہرہ کرتا ہے۔ یہ حکمت عملی ایک بنیادی ٹیمپلیٹ کی حیثیت سے کام کرسکتی ہے ، اور سرمایہ کار رجحان کے تعین ، پیرامیٹر کی اصلاح ، پوزیشن مینجمنٹ ، اور طویل / مختصر میکانزم جیسے شعبوں میں اپنی ضروریات اور تجربے کی بنیاد پر اسے مزید بہتر بنا سکتے ہیں ، یا اسے اعلی رسک-انعام تناسب کے حصول کے ل 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")

مزید