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

کوانٹیٹیو ٹریڈنگ سگنل ٹریکنگ اور ملٹی ایگزٹ حکمت عملی کی اصلاح کا نظام

مصنف:چاؤ ژانگ، تاریخ: 2024-12-13 11:39:06
ٹیگز:

img

جائزہ

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

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

بنیادی منطق میں مندرجہ ذیل اہم اجزاء شامل ہیں:

  1. انٹری سگنل سسٹم: اپنی مرضی کے مطابق LuxAlgo® الرٹ حالات کے ذریعے طویل انٹری سگنل کو متحرک کرتا ہے۔
  2. پوزیشن اسکیلنگ: موجودہ ہولڈنگز پر پوزیشنوں کو بڑھانے کے لئے اختیاری اسکیلنگ کی فعالیت۔
  3. کثیر پرت کے باہر نکلنے کا طریقہ کار:
    • سمارٹ ٹریلنگ اسٹاپ: سمارٹ ٹریلنگ لائن کے ساتھ قیمت کے تعلقات کی نگرانی کرتا ہے
    • ٹرینڈ کی تصدیق سے باہر نکلنا: بنیادی اور بڑھے ہوئے bearish تصدیق کے سگنل شامل ہیں
    • بلٹ ان آؤٹ سگنل: اشارے کے اندر اندر متعدد باہر نکلنے کی حالتوں کا استعمال کرتا ہے
    • روایتی سٹاپ نقصان: فیصد کی بنیاد پر فکسڈ سٹاپ نقصان کی ترتیبات کی حمایت کرتا ہے
  4. ٹائم ونڈو مینجمنٹ: لچکدار بیک ٹیسٹنگ کی تاریخ کی حد کی ترتیبات فراہم کرتا ہے۔

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

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

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

  1. سگنل انحصار کا خطرہ: حکمت عملی LuxAlgo® اشارے سگنل کے معیار پر بہت زیادہ انحصار کرتی ہے۔
  2. مارکیٹ کے ماحول میں موافقت کا خطرہ: حکمت عملی کی کارکردگی مختلف مارکیٹ کے حالات میں نمایاں طور پر مختلف ہوسکتی ہے۔
  3. پیرامیٹر حساسیت کا خطرہ: متعدد باہر نکلنے کی حالت کے مجموعے سے قبل ہی باہر نکلنے یا کھوئے ہوئے مواقع پیدا ہوسکتے ہیں۔
  4. لیکویڈیٹی کا خطرہ: مارکیٹ لیکویڈیٹی کے مسائل اندراج اور باہر نکلنے کے عمل کی تاثیر کو متاثر کرسکتے ہیں۔
  5. تکنیکی نفاذ کا خطرہ: تکنیکی خرابیوں سے بچنے کے لئے اشارے اور حکمت عملی کے مستحکم کام کو یقینی بنانے کی ضرورت ہے۔

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

  1. سگنل سسٹم کی اصلاح:
    • سگنل کی تصدیق کے لئے مزید تکنیکی اشارے متعارف کروائیں
    • موافقت پذیر سگنل کی حد کو ایڈجسٹ کرنے کے میکانزم تیار کریں
  2. خطرے کے کنٹرول میں اضافہ:
    • اتار چڑھاؤ کے مطابق سٹاپ نقصان کے طریقہ کار کو شامل کریں
    • متحرک پوزیشن مینجمنٹ سسٹم تیار کریں
  3. کارکردگی کی اصلاح:
    • وسائل کی کھپت کو کم کرنے کے لئے حساب کتاب کی کارکردگی کو بہتر بنائیں
    • تاخیر کو کم کرنے کے لئے سگنل پروسیسنگ منطق کو بہتر بنائیں
  4. فعالیت کی توسیع:
    • مارکیٹ ماحول تجزیہ کے مزید اوزار شامل کریں
    • زیادہ لچکدار پیرامیٹر کی اصلاح کے فریم ورک تیار کریں

خلاصہ

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


/*backtest
start: 2024-11-12 00:00:00
end: 2024-12-11 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Chart0bserver
// This strategy is NOT from the LuxAlgo® developers.  We created this to compliment their hard work.  No association with LuxAlgo® is intended nor implied.

// Please visit https://chart.observer to test your Tradingview Strategies in our paper-trading sandbox environment. Webhook your alerts to our API.
// Past performance does not ensure future results.  This strategy provided with absolutely no warranty and is for educational purposes only

// The goal of this strategy is to enter a long position using the Custom Alert condition feature of LuxAlgo® Signals & Overlays™ indicator
// To trigger an exit from the long position, use one or more of the common exit signals which the Signals & Overlays™ indicator provides.
// You will need to connect those signals to this strategy in the dialog box.  
// We're calling this a "piggyback" strategy because the LuxAlgo® Signals & Overlays indicator must be present, and remain on the chart.
// The Signals and Overlays™ indicator is invite-only, and requires a paid subscription from LuxAlgo® - https://luxalgo.com/?rfsn=8404759.b37a73

//@version=6
strategy("Simple Backtester for LuxAlgo® Signals & Overlays™", "Simple Backtester for LuxAlgo® S&O ", true, pyramiding=3, default_qty_type = 'percent_of_equity', calc_on_every_tick = true, process_orders_on_close=false, calc_on_order_fills=true, default_qty_value = 33, initial_capital = 10000, currency = currency.USD, commission_type = format.percent, commission_value = 0.10 )

// Initialize a flag to track order placement
var bool order_placed = false

// Reset the flag at the start of each new bar
if (not na(bar_index) and bar_index != bar_index[1])
    order_placed := false

// === Inputs which the user needs to change in the configuration dialog to point to the corresponding LuxAlgo alerts === //
// === The Signals & Overlays indicator must be present on the chart in order for this to work === //
la_EntryAlert = input.source(close, "LuxAlgo® Custom Alert signal", "Replace 'close' with your LuxAlgo® entry signal. For example, try using their Custom Alert.", display=display.none, group="Enter Long Position")
useAddOnTrades = input.bool(false, "Add to your long position on LuxAlgo® signals", display=display.none, group="Add-On Trade Signal for Longs")
la_AddOnAlert = input.source(close, "Add to open longs with this signal", "Replace 'close' with your desired Add-On Trade Signal", display=display.none, group="Add-On Trade Signal for Longs")
la_SmartTrail = input.source(close, "LuxAlgo® Smart Trail", "Replace close with LuxAlgo® Smart Trail", display=display.none, group="LuxAlgo® Signals & Overlays™ Alerts")
la_BearishConfirm = input.source(close, "LuxAlgo® Any Bearish Confirmation", "Replace close with LuxAlgo® Any Bearish Confirmation", display=display.none, group="LuxAlgo® Signals & Overlays™ Alerts")
la_BearishConfirmPlus = input.source(close, "LuxAlgo® Bearish Confirmation+", "Replace close with LuxAlgo® Bearish Confirmation+", display=display.none, group="LuxAlgo® Signals & Overlays™ Alerts")
la_BuiltInExits = input.source(close, "LuxAlgo® Bullish Exit", "Replace close with LuxAlgo® Bullish Exit", display=display.none, group="LuxAlgo® Signals & Overlays™ Alerts")
la_TrendCatcherDn = input.source(close, "LuxAlgo® Trend Catcher Down", "Replace close with LuxAlgo® Trend Catcher Down", display=display.none, group="LuxAlgo® Signals & Overlays™ Alerts")

// === Check boxes alowing the user to select exit criteria from th long position === //
exitOnSmartTrail = input.bool(true, "Exit long trade on Smart Trail Switch Bearish", group="Exit Long Conditions")
exitOnBearishConf = input.bool(false, "Exit on Any Bearish Confirmation", group="Exit Long Conditions")
exitOnBearishConfPlus = input.bool(true, "Exit on Bearish Confirmation+", group="Exit Long Conditions")
exitOnBuiltInExits = input.bool(false, "Exit on Bullish Exits", group="Exit Long Conditions")
exitOnTrendCatcher = input.bool(false, "Exit on Trend Catcher Down", group="Exit Long Conditions")

// === Optional Stop Loss ===//
useStopLoss = input.bool(false, "Use a Stop Loss", group="Optional Stop Loss")
stopLossPercent = input.float(0.25, "Stop Loss %", minval=0.25, step=0.25, group="Optional Stop Loss")

// Use Lux Algo's signals as part of your strategy logic
buyCondition = la_EntryAlert > 0 

if useAddOnTrades and la_AddOnAlert > 0 and strategy.opentrades > 0 and not buyCondition
    buyCondition := true

sellCondition = false
sellComment = ""

if exitOnSmartTrail and ta.crossunder(close, la_SmartTrail)
    sellCondition := true
    sellComment := "Smart Trail"

if exitOnBearishConf and la_BearishConfirm == 1
    sellCondition := true
    sellComment := "Bearish"

if exitOnBearishConfPlus and la_BearishConfirmPlus == 1
    sellCondition := true
    sellComment := "Bearish+"

if exitOnBuiltInExits and la_BuiltInExits == 1
    sellCondition := true
    sellComment := "Bullish Exit"

if exitOnTrendCatcher and la_TrendCatcherDn == 1
    sellCondition := true
    sellComment := "Trnd Over"

// Stop Loss Calculation
stopLossMultiplyer = 1 - (stopLossPercent / 100)
float stopLossPrice = na
if strategy.position_size > 0
    stopLossPrice := strategy.position_avg_price * stopLossMultiplyer

// -----------------------------------------------------------------------------------------------------------//
// Back-testing Date Range code  ----------------------------------------------------------------------------//
// ---------------------------------------------------------------------------------------------------------//
fromMonth = input.int(defval=1, title='From Month', minval=1, maxval=12, group='Back-Testing Date Range')
fromDay = input.int(defval=1, title='From Day', minval=1, maxval=31, group='Back-Testing Date Range')
fromYear = input.int(defval=2024, title='From Year', minval=1970, group='Back-Testing Date Range')
thruMonth = 1 
thruDay = 1 
thruYear = 2112 

// === START/FINISH FUNCTION ===
start = timestamp(fromYear, fromMonth, fromDay, 00, 00)  // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59)  // backtest finish window
window() =>  // create function "within window of time
    time >= start and time <= finish ? true : false
// End Date range code -----//

if buyCondition and window() and not order_placed
    strategy.entry("Long", strategy.long)
    order_placed := true

if sellCondition and window() and not order_placed
    strategy.close("Long", comment=sellComment)
    order_placed := true

if useStopLoss and window()
    strategy.exit("Stop", "Long", stop=stopLossPrice)

مزید