اعلی درجے کی مقداری تجارتی حکمت عملی: انٹرا ڈے مومینٹم اور رسک مینجمنٹ پر مبنی خودکار عملدرآمد کا نظام

DOJI SL TP ATR momentum
تخلیق کی تاریخ: 2025-02-21 14:25:50 آخر میں ترمیم کریں: 2025-02-27 16:57:06
کاپی: 2 کلکس کی تعداد: 446
2
پر توجہ دیں
319
پیروکار

اعلی درجے کی مقداری تجارتی حکمت عملی: انٹرا ڈے مومینٹم اور رسک مینجمنٹ پر مبنی خودکار عملدرآمد کا نظام اعلی درجے کی مقداری تجارتی حکمت عملی: انٹرا ڈے مومینٹم اور رسک مینجمنٹ پر مبنی خودکار عملدرآمد کا نظام

جائزہ

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

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

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

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

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2025-01-21 00:00:00
end: 2025-02-08 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("Trading Strategy for XAUUSD (Gold) – Automated Execution Plan", overlay=true, initial_capital=10000, currency=currency.USD)

//────────────────────────────
// 1. RISK MANAGEMENT & POSITION SIZING
//────────────────────────────
// Configurable inputs for Stop Loss and Take Profit
sl = input.float(title="Stop Loss ($)", defval=5, step=0.1)
tp = input.float(title="Take Profit ($)", defval=15, step=0.1)

// Volume: 0.01 lots per $100 of equity → lotSize = equity / 10000
lotSize = strategy.equity / strategy.initial_capital

//────────────────────────────
// 2. TRADING HOURS (London Time)
//────────────────────────────
// Get the current bar's timestamp in London time.
londonTime   = time(timeframe.period, "", "Europe/London")
londonHour   = hour(londonTime)
tradingAllowed = (londonHour != 0) and (londonHour < 19)

//────────────────────────────
// 3. DOJI CANDLE DEFINITION
//────────────────────────────
// A candle is considered a doji if the sum of its upper and lower shadows is greater than its body.
upperShadow = high - math.max(open, close)
lowerShadow = math.min(open, close) - low
bodySize    = math.abs(close - open)
isDoji      = (upperShadow + lowerShadow) > bodySize

//────────────────────────────
// 4. ENTRY CONDITIONS
//────────────────────────────
// Buy Signal:
//   • Current candle’s high > previous candle’s high.
//   • Current candle’s low is not below previous candle’s low.
//   • Bullish candle (close > open) and not a doji.
//   • Skip if previous candle already qualified.
buyRaw    = (high > high[1]) and (low >= low[1]) and (close > open) and (not isDoji)
buySignal = buyRaw and not (buyRaw[1] ? true : false)

// Sell Signal:
//   • Current candle’s low < previous candle’s low.
//   • Current candle’s high is not above previous candle’s high.
//   • Bearish candle (close < open) and not a doji.
//   • Skip if previous candle already qualified.
sellRaw    = (low < low[1]) and (high <= high[1]) and (close < open) and (not isDoji)
sellSignal = sellRaw and not (sellRaw[1] ? true : false)

//────────────────────────────
// 5. DAILY TAKE PROFIT (TP) RULE
//────────────────────────────
// Create a day-string (year-month-day) using London time.
// This flag will block new trades for the rest of the day if a TP is hit.
var string lastDay = ""
currentDay = str.tostring(year(londonTime)) + "-" + str.tostring(month(londonTime)) + "-" + str.tostring(dayofmonth(londonTime))
var bool dailyTPHit = false
if lastDay != currentDay
    dailyTPHit := false
    lastDay := currentDay

//────────────────────────────
// 6. TRACK TRADE ENTRY & EXIT FOR TP DETECTION
//────────────────────────────
// We record the TP target when a new trade is entered.
// Then, when a trade closes, if the bar’s high (for long) or low (for short) reached the TP target,
// we assume the TP was hit and block new trades for the day.
var float currentTP = na
var int currentTradeType = 0   // 1 for long, -1 for short

// Detect a new trade entry (transition from no position to a position).
tradeEntered = (strategy.position_size != 0 and strategy.position_size[1] == 0)
if tradeEntered
    if strategy.position_size > 0
        currentTP := strategy.position_avg_price + tp
        currentTradeType := 1
    else if strategy.position_size < 0
        currentTP := strategy.position_avg_price - tp
        currentTradeType := -1

// Detect trade closure (transition from position to flat).
tradeClosed = (strategy.position_size == 0 and strategy.position_size[1] != 0)
if tradeClosed and not na(currentTP)
    // For a long trade, if the bar's high reached the TP target;
    // for a short trade, if the bar's low reached the TP target,
    // mark the daily TP flag.
    if (currentTradeType == 1 and high >= currentTP) or (currentTradeType == -1 and low <= currentTP)
        dailyTPHit := true
    currentTP := na
    currentTradeType := 0

//────────────────────────────
// 7. ORDER EXECUTION
//────────────────────────────
// Only open a new position if no position is open, trading is allowed, and daily TP rule is not active.
if (strategy.position_size == 0) and tradingAllowed and (not dailyTPHit)
    if buySignal
        strategy.entry("Long", strategy.long, qty=lotSize)
    if sellSignal
        strategy.entry("Short", strategy.short, qty=lotSize)

//────────────────────────────
// 8. EXIT ORDERS (Risk Management)
//────────────────────────────
// For long positions: SL = entry price - Stop Loss, TP = entry price + Take Profit.
// For short positions: SL = entry price + Stop Loss, TP = entry price - Take Profit.
if strategy.position_size > 0
    longSL = strategy.position_avg_price - sl
    longTP = strategy.position_avg_price + tp
    strategy.exit("Exit Long", from_entry="Long", stop=longSL, limit=longTP)
if strategy.position_size < 0
    shortSL = strategy.position_avg_price + sl
    shortTP = strategy.position_avg_price - tp
    strategy.exit("Exit Short", from_entry="Short", stop=shortSL, limit=shortTP)

//────────────────────────────
// 9. VISUALIZATION
//────────────────────────────
plotshape(buySignal and tradingAllowed and (not dailyTPHit) and (strategy.position_size == 0), title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(sellSignal and tradingAllowed and (not dailyTPHit) and (strategy.position_size == 0), title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")