حکمت عملی کے بعد ملٹی انڈیکیٹر بریک آؤٹ ٹرینڈ

ATR SL N1 N2 波动率过滤 风险管理 多周期 趋势跟踪 海龟交易
تخلیق کی تاریخ: 2025-07-03 10:14:35 آخر میں ترمیم کریں: 2025-07-03 10:14:35
کاپی: 6 کلکس کی تعداد: 265
2
پر توجہ دیں
319
پیروکار

حکمت عملی کے بعد ملٹی انڈیکیٹر بریک آؤٹ ٹرینڈ حکمت عملی کے بعد ملٹی انڈیکیٹر بریک آؤٹ ٹرینڈ

جائزہ

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

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

اس حکمت عملی کا بنیادی اصول یہ ہے کہ قیمتوں میں تاریخی اونچائیوں یا نچلی سطحوں کو توڑنے کی شناخت کرکے ممکنہ رجحان کی نقل و حرکت کو پکڑنا ہے۔

  1. داخلے کا طریقہ کارحکمت عملی: N1 سائیکل (ڈیفالٹ 20 سائیکل) کی تاریخی اعلی ترین اور کم ترین قیمتوں کو توڑنے کے حوالہ کے طور پر استعمال کرتی ہے۔ جب قیمت اوپر کی طرف سے پچھلے N1 سائیکل کی اعلی ترین قیمت کو توڑتی ہے تو ، ایک کثیر سرخی داخلہ سگنل پیدا کرتی ہے۔ جب قیمت نیچے کی طرف سے پچھلے N1 سائیکل کی کم ترین قیمت کو توڑتی ہے تو ، ایک خالی سرخی داخلہ سگنل پیدا کرتی ہے۔

  2. باہر نکلنے کا طریقہ کارٹورنامنٹ میں دو کھلاڑیوں کو مدعو کرنے کی حکمت عملی:

    • اسٹاپ نقصان کا آغاز: اے ٹی آر کی بنیاد پر متحرک اسٹاپ نقصان کی سطح ، جو پہلے سے طے شدہ داخلے کی قیمت کو کم کرتی ہے ((کثیر سر) یا اس کے علاوہ ((خالی سر) اے ٹی آر کی قیمت کا 2 گنا۔
    • رجحان کا رخ موڑنے کا کھیل: جب قیمت N2 سائیکل (ڈیفالٹ 10 سائیکل) کی کم ترین قیمت سے نیچے آجاتی ہے تو ، صفائی کا مقام زیادہ ہوتا ہے۔ جب قیمت N2 سائیکل کی اعلی ترین قیمت کو توڑتی ہے تو ، صفائی کا مقام خالی ہوتا ہے۔
  3. پوزیشن مینجمنٹ: حکمت عملی اتار چڑھاؤ کی شرح ((ATR) اور خطرے کے تناسب پر مبنی ہے جو ٹریڈنگ یونٹ کی مقدار کا حساب لگاتا ہے ، اس بات کو یقینی بناتا ہے کہ ہر تجارت کا خطرہ اکاؤنٹ میں فنڈز کے مقررہ تناسب ((پہلے سے طے شدہ 1٪) کے اندر کنٹرول کیا جاتا ہے۔ حساب کتاب کا فارمولا:

   交易单位 = 风险金额 / (ATR * 每点价值)

جس میں خطرے کی رقم ابتدائی فنڈ سے ضرب خطرے کا تناسب ہے۔

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

اسٹریٹجک فوائد

  1. رجحانات کا سراغ لگانااسٹریٹجک ڈیزائن بڑے رجحانات کو پکڑنے پر توجہ مرکوز کرتا ہے ، ممکنہ رجحانات کے آغاز کی نشاندہی کرنے والے اشاروں کو توڑتا ہے ، اور مارکیٹ میں رجحان سازی کے رجحانات کو موثر انداز میں استعمال کرتا ہے۔

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

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

  4. پیرامیٹرز ایڈجسٹ: حکمت عملی ایک سے زیادہ اہم پیرامیٹرز (N1، N2، ATR سائیکل، خطرے کے تناسب، وغیرہ) کے لئے ایڈجسٹ انٹرفیس فراہم کرتا ہے، صارف کو مختلف مارکیٹ کے حالات اور ذاتی خطرے کی ترجیحات کے مطابق بہتر بنانے کے لئے.

  5. سسٹم ٹریڈنگ: مکمل طور پر منظم تجارتی قواعد جذباتی مداخلت کو ختم کرتے ہیں ، پہلے سے طے شدہ داخلے ، باہر نکلنے اور فنڈ مینجمنٹ کے قواعد پر سختی سے عمل کرتے ہیں ، تجارتی نظم و ضبط کو بہتر بناتے ہیں۔

اسٹریٹجک رسک

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

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

  3. پیرامیٹر کی حساسیت: حکمت عملی کی کارکردگی N1، N2 پیرامیٹرز کی ترتیب کے لئے زیادہ حساس ہے، مختلف مارکیٹوں اور وقت کے فریموں کے تحت زیادہ سے زیادہ پیرامیٹرز مختلف ہوسکتے ہیں. یہ تجویز کی جاتی ہے کہ تاریخ کی واپسی کے ذریعہ پیرامیٹرز کا ایک مضبوط مجموعہ تلاش کیا جائے تاکہ زیادہ سے زیادہ اصلاح کی وجہ سے منحنی فٹ ہونے سے بچ سکے۔

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

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

اصلاح کی سمت

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

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

  3. سگنل کی توثیق کا طریقہ کار: توڑ کی تصدیق کے طریقہ کار کو شامل کریں ، جیسے سگنل کی تصدیق کے لئے قیمت کو توڑنے کے بعد کچھ وقت یا شدت برقرار رکھنے کی ضرورت ہوتی ہے ، تاکہ جعلی توڑ سے ہونے والے نقصان کو کم کیا جاسکے۔

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

  5. رجحان کی طاقت کا جائزہ: رجحان کی طاقت کے اشارے (جیسے ADX ، لکیری واپسی کا تناسب ، وغیرہ) کے ساتھ مل کر موجودہ رجحان کی طاقت کا اندازہ لگائیں ، رجحان کی طاقت کو صرف ایک خاص حد تک پہنچنے پر ہی داخلہ پر غور کریں ، جس سے رجحان کی گرفت کی درستگی میں اضافہ ہوگا۔

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

خلاصہ کریں۔

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

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

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-07-03 00:00:00
end: 2025-07-01 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/

//@version=5
strategy("Turtle Trading Strategy (Simplified)", overlay=true, initial_capital=10000, default_qty_type=strategy.cash, default_qty_value=1000, commission_type=strategy.commission.cash_per_order, commission_value=1)

// --- Strategy Inputs ---
n1_entry_period = input.int(20, title="Entry Lookback Period (N1)", minval=1)
n2_exit_period = input.int(10, title="Exit Lookback Period (N2)", minval=1)
atr_period = input.int(20, title="ATR Period", minval=1)
atr_multiplier = input.float(2.0, title="ATR Stop Multiplier", minval=0.1)
risk_per_trade_percent = input.float(1.0, title="Risk Per Trade (%)", minval=0.1, maxval=10.0)

// --- Calculate Channels ---
highest_high_n1 = ta.highest(high, n1_entry_period)
lowest_low_n1 = ta.lowest(low, n1_entry_period)

highest_high_n2 = ta.highest(high, n2_exit_period)
lowest_low_n2 = ta.lowest(low, n2_exit_period)

// --- Calculate ATR (Average True Range) ---
atr_value = ta.atr(atr_period)

// --- Position Sizing (Simplified) ---
// This aims to calculate units based on a fixed percentage risk per trade.
// 1 Unit = 1 ATR worth of movement. Risk 1% of equity per trade.
risk_amount = strategy.initial_capital * (risk_per_trade_percent / 100)
dollar_per_point = syminfo.mintick // Or your instrument's specific dollar per point value
unit_size = atr_value * dollar_per_point > 0 ? math.round(risk_amount / (atr_value * dollar_per_point)) : 0

// Ensure unit_size is at least 1 if risk allows, and cap it for realism
if unit_size == 0 and risk_amount > 0
    unit_size := 1 // Minimum 1 unit if risk allows any trade
if unit_size > 10000 // Cap unit size to prevent excessively large positions in backtesting
    unit_size := 10000

// --- Entry Logic ---
long_condition = ta.crossover(close, highest_high_n1[1]) // Break above previous N1 high
short_condition = ta.crossunder(close, lowest_low_n1[1]) // Break below previous N1 low

// Variables to store entry information only for the *current* bar
var float current_entry_price = na
var int current_entry_type = 0 // 1 for long, -1 for short, 0 for no entry

if long_condition and strategy.opentrades == 0 // Only enter if no open positions
    strategy.entry("Long", strategy.long, qty=unit_size, comment="Turtle Long Entry")
    // Store entry details for the current bar
    current_entry_price := close // Or strategy.opentrades[0].entry_price if you prefer but close on entry bar is often same
    current_entry_type := 1

if short_condition and strategy.opentrades == 0 // Only enter if no open positions
    strategy.entry("Short", strategy.short, qty=unit_size, comment="Turtle Short Entry")
    // Store entry details for the current bar
    current_entry_price := close // Or strategy.opentrades[0].entry_price
    current_entry_type := -1

// --- Exit Logic ---

// Declare persistent variables to store stop prices
var float long_stop_price = na
var float short_stop_price = na

// Calculate and store stop price on the bar *after* an entry
if current_entry_type[1] == 1 // If a long entry occurred on the previous bar
    long_stop_price := current_entry_price[1] - (atr_value[1] * atr_multiplier) // Use values from previous bar
    short_stop_price := na // Reset short stop

if current_entry_type[1] == -1 // If a short entry occurred on the previous bar
    short_stop_price := current_entry_price[1] + (atr_value[1] * atr_multiplier) // Use values from previous bar
    long_stop_price := na // Reset long stop

// Stop Loss for Long Positions
if strategy.position_size > 0 // We have a long position
    strategy.exit("Long Exit SL", from_entry="Long", stop=long_stop_price, comment="Long Stop Loss")

// Stop Loss for Short Positions
if strategy.position_size < 0 // We have a short position
    strategy.exit("Short Exit SL", from_entry="Short", stop=short_stop_price, comment="Short Stop Loss")

// N2 Exit for Long Positions
if strategy.position_size > 0 and ta.crossunder(close, lowest_low_n2[1])
    strategy.close("Long", comment="Turtle Long N2 Exit")

// N2 Exit for Short Positions
if strategy.position_size < 0 and ta.crossover(close, highest_high_n2[1])
    strategy.close("Short", comment="Turtle Short N2 Exit")

// --- Plotting for Visualization ---
plot(highest_high_n1, "N1 High", color=color.green, linewidth=2, style=plot.style_linebr)
plot(lowest_low_n1, "N1 Low", color=color.red, linewidth=2, style=plot.style_linebr)
plot(highest_high_n2, "N2 High (Exit)", color=color.blue, linewidth=1, style=plot.style_linebr)
plot(lowest_low_n2, "N2 Low (Exit)", color=color.orange, linewidth=1, style=plot.style_linebr)