
یہ حکمت عملی آدھی رات کے بچھڑے کے رنگ پر مبنی تجارت کرتی ہے جس میں ایک گھنٹہ کی تاخیر ہوتی ہے ، اور اگلے دن 1 بجے کی تجارت کی سمت کا فیصلہ کرنے کے لئے آدھی رات کے 0 بجے کے بچھڑے کے رنگ کا تجزیہ کیا جاتا ہے۔ جب 0 بجے کا بچھڑا سبز ہوتا ہے تو زیادہ کام کریں ، اور جب سرخ ہوتا ہے تو خالی ہوجائیں۔ ایک ہی وقت میں اسٹاپ نقصان اور اسٹاپ پوزیشن قائم کریں۔
اس حکمت عملی کی بنیادی منطق مارکیٹ کے وسط اور آدھی رات کے جادو کے اثر پر مبنی ہے ، یعنی پچھلے دن کی آدھی رات 0 بجے کا رنگ اس دن کی مجموعی مارکیٹ کی فضا کی نمائندگی کرتا ہے ، جس کا استعمال اگلے دن کے آغاز کے بعد مارکیٹ کی سمت کا تعین کرنے کے لئے کیا جاسکتا ہے۔
خاص طور پر ، حکمت عملی سب سے پہلے یہ فیصلہ کرتی ہے کہ آیا موجودہ K لائن 0 پوائنٹس کی طرف سے کھڑی ہے یا نہیں ، اگر ایسا ہے تو ، اس کی بندش کی قیمت کو کھولنے کی قیمت سے زیادہ سبز اور دوسری صورت میں سرخ رنگ میں ریکارڈ کیا جاتا ہے۔ اگلے بار پر ، یعنی 1 پوائنٹ کی لائن پر ، پچھلے دن کی 0 پوائنٹس کی طرف سے رنگ کے مطابق ، اسی سمت میں زیادہ جگہ بنائیں ، اور اسٹاپ نقصان کی پوزیشن طے کریں۔
اس طرح کی پوزیشن کھولنے میں تاخیر سے ، 0 بجے کے شدید اتار چڑھاؤ کے داخلے پر اثر پڑنے سے بچا جاسکتا ہے۔
اس حکمت عملی کا مجموعی نظریہ واضح اور آسان ہے ، جو اگلے دن کی سمت کا تعین کرنے کے لئے 0 پوائنٹس کی رنگت کا تعین کرتا ہے ، اور اسٹاپ نقصان کو روکنے کے لئے اسٹاپ کنٹرول کا خطرہ طے کرتا ہے۔ یہ ایک ابتدائی شارٹ لائن حکمت عملی ہے جو نئے آنے والوں کے لئے موزوں ہے۔ لیکن اس میں کچھ غیر یقینی صورتحال بھی موجود ہے ، جس کو عملی جنگ میں شامل کرنے کے لئے مستقل طور پر اصلاح اور توثیق کی ضرورت ہے۔
/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Midnight Candle Color Strategy with 1-Hour Delay and SL/TP", shorttitle="12AM +1H SL/TP Strat", overlay=true)
// Adjust for New York time (UTC-5 or UTC-4 for Daylight Saving Time)
// Assuming UTC-5 for now; adjust as necessary for Daylight Saving Time
nyHour(hour) => (hour - 5) % 24
// Function to check if the current bar is the 12:00 AM New York time bar
isMidnightBar() =>
nyHour(hour) == 0 and minute == 0
// Function to check if the current bar is the 1:00 AM New York time bar (1 hour after midnight)
is1AMBar() =>
nyHour(hour) == 1 and minute == 0
// Variable to store the color of the previous day's midnight candle
var color midnightCandleColorPrevDay = na
// Determine the color of the previous day's midnight candle
if isMidnightBar()
midnightCandleColorPrevDay := close[1] > open[1] ? color.green : color.red
// Strategy execution at 1:00 AM based on the color of the previous day's midnight candle
if is1AMBar()
if midnightCandleColorPrevDay == color.green
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit", "Long", limit=close + 57 * syminfo.mintick, stop=close - 200 * syminfo.mintick)
if midnightCandleColorPrevDay == color.red
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit", "Short", limit=close - 50 * syminfo.mintick, stop=close + 200 * syminfo.mintick)
// Optional: Plot a marker for visualization
plotshape(series=isMidnightBar(), style=shape.triangleup, location=location.belowbar, color=color.new(midnightCandleColorPrevDay, 90), size=size.small)
plotshape(series=is1AMBar(), style=shape.triangledown, location=location.abovebar, color=color.blue, size=size.small)