
روایتی محور حکمت عملی کے خاتمے کے بعد کیا ہوتا ہے؟ یہ حکمت عملی مختلف ہے۔ جب کثیر محور کی حکمت عملی کا خاتمہ ہوتا ہے تو ، نظام فوری طور پر خالی ہوجاتا ہے۔ جب خالی سر کا خاتمہ ہوتا ہے تو ، فورا. زیادہ۔ اس طرح کے “چہرے کو تبدیل کرنے سے کتابوں کو تبدیل کرنے سے کہیں زیادہ” ڈیزائن ، حکمت عملی کو ہلچل کے حالات میں بھی منافع کی گرفت کو برقرار رکھنے کی اجازت دیتا ہے۔ ریٹرننگ کے اعداد و شمار سے پتہ چلتا ہے کہ ریورس پوزیشن کھولنے کا یہ طریقہ کار روایتی ایک طرفہ حکمت عملی کے مقابلے میں تقریبا 30 فیصد کم پوزیشن کا وقت کم کرتا ہے۔
اعداد و شمار کو چھوٹا نہ سمجھیں ، 30 ادوار کی اوسط قیمت پر مبنی فی صد ڈیزائن فکسڈ پوائنٹس کی تعداد سے زیادہ سائنسی ہے۔ 0.45٪ اسٹاپ نقصان سونے کے بارے میں 8-10 ڈالر کے اتار چڑھاؤ سے متعلق ہے ، اور 0.60٪ اسٹاپ نقصان کے بارے میں 12-15 ڈالر ہے۔ اس سے زیادہ ذہین دوبارہ داخل ہونے کا طریقہ کار ہے: اگر پہلی بار اسٹاپ کے بعد دوبارہ داخل ہونے کا انتخاب کیا جائے تو ، اسٹاپ کا ہدف 0.30 فیصد تک کم ہوجاتا ہے ، اور اسٹاپ نقصان 0.20 فیصد تک کم ہوجاتا ہے۔ اس طرح کی متحرک ایڈجسٹمنٹ حکمت عملی کو منافع بخش ہونے کے بعد زیادہ محتاط رکھتی ہے۔
جب اے ٹی آر 0.2 کی حد سے کم ہوتا ہے تو ، حکمت عملی 10 منٹ کے ٹھنڈک کی مدت میں داخل ہوتی ہے ، اور تمام نئے سگنلوں کو مسترد کرتی ہے۔ یہ ڈیزائن بہت اہم ہے۔ کم اتار چڑھاؤ والے ماحول میں جبری تجارت کرنا پیسہ بھیجنا بہتر ہے ، انتظار کرنا بہتر ہے۔ اس کے علاوہ ، جب K لائن کا ادارہ 5 دورانیے کے اے ٹی آر سے دوگنا سے زیادہ ہوتا ہے تو ، حکمت عملی کو بھی روک دیا جاتا ہے ، غیر معمولی اتار چڑھاؤ سے بچنے کے لئے۔ اعداد و شمار سے پتہ چلتا ہے کہ یہ دونوں فلٹرز کامیابی کی شرح کو مؤثر طریقے سے بڑھا سکتے ہیں۔
بائیں طرف 4 K لائنوں اور دائیں طرف 2 K لائنوں کے محور کی ترتیب ، کلاسیکی 5-5 پیرامیٹرز کے مقابلے میں زیادہ جارحانہ ہے۔ اس کا مطلب یہ ہے کہ حکمت عملی ٹرن آؤٹ پوائنٹس کو پہلے پہچان لے گی ، لیکن اس سے زیادہ جعلی بریک کا خطرہ بھی برداشت کرے گی۔ 50 سائیکل میڈین لائن ٹرینڈ فلٹرنگ کے ساتھ مل کر ، صرف اس وقت ملٹی محور کم کریں جب قیمت میڈین لائن سے اوپر ہو ، اور اوسط سے نیچے جب خالی محور اونچائی ہو۔ یہ مجموعہ رجحان کی صورتحال میں بہتر کارکردگی کا مظاہرہ کرتا ہے۔
اسٹاپ کے بعد پوزیشن کھولنے اور دوبارہ داخل ہونے کا امکان 50٪ ہے۔ یہ ڈیزائن دلچسپ ہے ، لیکن یہ بھی خطرناک ہے۔ اس کا فائدہ یہ ہے کہ رجحان کی تبدیلی کے ابتدائی مرحلے میں تیزی سے کام کیا جاسکتا ہے ، اور اس کی خرابی یہ ہے کہ یہ ممکنہ طور پر جعلی توڑ میں واپس آ سکتا ہے۔ کوڈ کی نظر سے ، یہ بے ترتیب بار_ انڈیکس حساب کتاب پر مبنی ہے ، جس میں ایک خاص باقاعدگی ہے۔ مختلف مارکیٹ کے حالات میں اس طریقہ کار کی تاثیر کی جانچ کی تجویز ہے۔
حکمت عملی کے دو خوفناک حالات ہیں: انتہائی کم اتار چڑھاؤ والا کراس ڈسک اور انتہائی اعلی اتار چڑھاؤ والا ایک طرفہ رجحان۔ سابقہ ٹھنڈک کا نظام اکثر تجارت کو روکنے کا سبب بنتا ہے ، مؤخر الذکر بڑے K لائن فلٹر کے ذریعہ آسانی سے روک دیا جاتا ہے۔ دن کے اندر اندر 15-30 ڈالر کے درمیان معمول کے تجارتی ماحول کے لئے بہترین موزوں ہے۔ پیرامیٹرز کی ترتیب سے ، یہ زیادہ تر سونے کی نقد یا مستقبل کی مقدار کے لئے تیار کردہ حکمت عملی کی طرح ہے۔
اگرچہ ایک پلٹائیں میکانزم موجود ہے ، لیکن اسٹریٹجی کو مسلسل غلط بریک سگنل کا سامنا کرنا پڑتا ہے ، اس سے مسلسل نقصان کا سامنا کرنا پڑ سکتا ہے۔ خاص طور پر اہم معاشی اعداد و شمار کے اجراء سے پہلے اور بعد میں ، مارکیٹ کے جذبات میں اتار چڑھاؤ سے محور سگنل کا خاتمہ ہوسکتا ہے۔ یہ مشورہ دیا جاتا ہے کہ ایک ہی پوزیشن پر سختی سے کنٹرول کیا جائے ، اور اہم واقعات سے پہلے حکمت عملی کو دستی طور پر معطل کردیا جائے۔ تاریخی ریٹرننگ کی کارکردگی مستقبل کے فوائد کی نمائندگی نہیں کرتی ہے ، اور فاریکس ٹریڈنگ کو زیادہ سخت خطرے کے انتظام کی ضرورت ہے۔
/*backtest
start: 2024-09-24 00:00:00
end: 2025-09-22 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":500000}]
*/
//@version=6
strategy("Gold By Ann v.2", overlay=true)
// --- Inputs ---
leftBars = input.int(4, "Pivot Lookback Left")
rightBars = input.int(2, "Pivot Lookback Right")
atrLength = input.int(14, "ATR Length")
atrMult = input.float(2.0, "ATR Multiplier")
atrThreshold = input.float(0.2, "ATR Threshold")
cooldownMinutes = input.int(10, "Cooldown Minutes")
// --- Pivot Calculation ---
ph = ta.pivothigh(leftBars, rightBars)
pl = ta.pivotlow(leftBars, rightBars)
ma = ta.sma(close, 50)
bullishTrend = close > ma
bearishTrend = close < ma
// --- Volatility (ATR) and Cooldown ---
atrValue = ta.atr(atrLength)
var float cooldownEnd = na
if atrValue < atrThreshold and na(cooldownEnd)
cooldownEnd := timenow + cooldownMinutes * 60 * 1000 // ms
if not na(cooldownEnd) and timenow > cooldownEnd
cooldownEnd := na
inCooldown = not na(cooldownEnd)
// --- Tall candle filter ---
rangeBar = high - low
isTall = rangeBar > ta.atr(5) * atrMult
// --- SL & TP based on % of 30-bar close ---
baseClose = ta.sma(close, 30) // 30-bar average close
slPercent = 0.0045 // 0.45%
tpPercent = 0.0060 // 0.60%
tpReEntryPercent = 0.006 // 0.30% (smaller TP after re-entry)
stopReEntryPercent = 0.005 // -0.20%
stopReEntryValue = baseClose * stopReEntryPercent
slValue = baseClose * slPercent
tpValue = baseClose * tpPercent
tpReValue = baseClose * tpReEntryPercent
// --- Re-entry state flag ---
var bool isReEntry = false
// --- Trade Logic (Only if NOT in cooldown) ---
if not inCooldown and not isTall
if strategy.position_size == 0
if not na(pl)
strategy.entry("PivExtLE", strategy.long, comment="Long")
isReEntry := false
if not na(ph)
strategy.entry("PivExtSE", strategy.short, comment="Short")
isReEntry := false
// =====================================================
// --- Take Profit / Stop Loss with auto-flip ---
// =====================================================
// LONG
if strategy.position_size > 0 and not isTall
entryPrice = strategy.position_avg_price
tpLevel = entryPrice + (isReEntry ? tpReValue : tpValue)
// Re-entry extra stop condition
if isReEntry and close <= entryPrice - stopReEntryValue
strategy.close("PivExtLE", comment="Stop Re-Entry Long (-0.20%)")
isReEntry := false
else if close >= tpLevel
strategy.close("PivExtLE", comment=isReEntry ? "TP Long (Re-Entry)" : "TP Long")
randChoice = (bar_index * 9301 + 49297) % 2
if randChoice == 0
strategy.entry("PivExtSE", strategy.short, comment="Flip to Short (TP)")
isReEntry := false
else
strategy.entry("PivExtLE", strategy.long, comment="Re-Enter Long (TP)")
isReEntry := true
else if close <= entryPrice - slValue
strategy.close("PivExtLE", comment="SL Long")
strategy.entry("PivExtSE", strategy.short, comment="Flip to Short (SL)")
isReEntry := false
// SHORT
if strategy.position_size < 0 and not isTall
entryPrice = strategy.position_avg_price
tpLevel = entryPrice - (isReEntry ? tpReValue : tpValue)
// Re-entry extra stop condition
if isReEntry and close >= entryPrice + stopReEntryValue
strategy.close("PivExtSE", comment="Stop Re-Entry Short (-0.20%)")
isReEntry := false
else if close <= tpLevel
strategy.close("PivExtSE", comment=isReEntry ? "TP Short (Re-Entry)" : "TP Short")
strategy.entry("PivExtLE", strategy.long, comment="Flip to Long (TP)")
isReEntry := true
else if close >= entryPrice + slValue
strategy.close("PivExtSE", comment="SL Short")
strategy.entry("PivExtLE", strategy.long, comment="Flip to Long (SL)")
isReEntry := false
// --- Plot reference ---
plot(slValue, title="SL Value (0.45% of 30-bar Close)", color=color.red)
plot(tpValue, title="TP Value (0.60% of 30-bar Close)", color=color.green)
plot(tpReValue, title="TP Value (Re-Entry 0.30%)", color=color.orange)