
یہ حکمت عملی اہم قیمتوں کے رجحانات کی نشاندہی اور تجارت کرنے کے لئے فاریکس ٹریڈنگ کے فوائد کی بنیاد پر فاریکس ٹریڈنگ کے فوائد پر مبنی ہے۔ یہ مخصوص پوائنٹس کی حد ، ٹریڈنگ ٹائم ونڈوز اور روزانہ تجارت کی تعداد کی حد مقرر کرکے عین مطابق کنٹرول حاصل کرتا ہے۔ یہ حکمت عملی خاص طور پر فیوچر مارکیٹوں کے لئے بہتر ہے ، جو اعلی لیکویڈیٹی کے اوقات میں نمایاں قیمت میں تبدیلی کو پکڑ سکتی ہے۔
اس حکمت عملی کا بنیادی منطق یہ ہے کہ ہر اسٹیل لائن کے اعلی اور کم فرق کا حساب لگایا جائے (پوائنٹس کی تعداد میں) اور اس کا موازنہ پہلے سے طے شدہ حد سے کیا جائے۔ جب اسٹیل لائن کا سائز حد سے زیادہ ہوتا ہے اور مخصوص ٹریڈنگ ٹائم ونڈو کے اندر ہوتا ہے (ڈیفالٹ امریکی وقت 7: 00-9: 15) ، تو سسٹم اسٹیل لائن کی سمت کے مطابق کثیر فضائی تجارتی سگنل کو متحرک کرتا ہے۔ خطرے کو کنٹرول کرنے کے ل the ، حکمت عملی کو دن میں صرف ایک ہی تجارت پر پابندی عائد کردی گئی ہے ، اور اسٹاپ نقصان کی پوزیشن طے کی گئی ہے۔
یہ حکمت عملی مستقبل کے کاروبار کے لئے ایک قابل اعتماد تجارتی نظام مہیا کرتی ہے جس میں عین مطابق پوائنٹس کنٹرول اور سخت ٹائم فلٹرنگ ہوتی ہے۔ اس کا فائدہ اس کی کارکردگی کی درستگی اور خطرے کے کنٹرول میں ہے ، لیکن اس میں تاجروں کو مخصوص قسم اور مارکیٹ کی صورتحال کے مطابق پیرامیٹرز کو بہتر بنانے کی بھی ضرورت ہوتی ہے۔ تجویز کردہ اصلاح کی سمت کے ذریعہ ، حکمت عملی اس کی موافقت اور استحکام کو مزید بڑھا سکتی ہے۔
/*backtest
start: 2025-02-15 01:00:00
end: 2025-02-20 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © omnipadme
//@version=5
strategy("Futures Candle Size Strategy (Start Trading on Jan 1, 2025)", overlay=true)
// Input for candle size threshold in ticks
candleSizeThresholdTicks = input.float(25, title="Candle Size Threshold (Ticks)", minval=1)
// Input for take profit and stop loss in ticks
takeProfitTicks = input.float(50, title="Take Profit (Ticks)", minval=1)
stopLossTicks = input.float(40, title="Stop Loss (Ticks)", minval=1)
// Time filter for trading (e.g., 7:00 AM to 9:15 AM CST)
startHour = input.int(7, title="Start Hour (CST)", minval=0, maxval=23)
startMinute = input.int(0, title="Start Minute (CST)", minval=0, maxval=59)
endHour = input.int(9, title="End Hour (CST)", minval=0, maxval=23)
endMinute = input.int(15, title="End Minute (CST)", minval=0, maxval=59)
// Tick size of the instrument (e.g., ES = 0.25)
tickSize = syminfo.mintick
// Convert tick inputs to price levels
candleSizeThreshold = candleSizeThresholdTicks * tickSize
takeProfit = takeProfitTicks * tickSize
stopLoss = stopLossTicks * tickSize
// Time range calculation
startTime = timestamp("GMT-6", year(timenow), month(timenow), dayofmonth(timenow), startHour, startMinute)
endTime = timestamp("GMT-6", year(timenow), month(timenow), dayofmonth(timenow), endHour, endMinute)
inTimeRange = (time >= startTime and time <= endTime)
// Filter to start trading only from January 1, 2025
startTradingDate = timestamp("GMT-6", 2025, 1, 1, 0, 0)
isValidStartDate = time >= startTradingDate
// Calculate the candle size for the current candle
candleSize = math.abs(high - low)
// Track whether a trade has been executed for the day
var hasTradedToday = false
isNewDay = dayofweek != dayofweek[1] // Detect new day
// Reset `hasTradedToday` at the start of a new day
if isNewDay
hasTradedToday := false
// Trigger condition for futures trading (only if no trade has been executed today)
triggerCondition = isValidStartDate and inTimeRange and candleSize >= candleSizeThreshold and not hasTradedToday
// Entry logic: If condition is met, enter a trade
if triggerCondition
hasTradedToday := true // Mark as traded for the day
if close > open // Bullish candle
strategy.entry("Buy", strategy.long)
if close < open // Bearish candle
strategy.entry("Sell", strategy.short)
// Set take profit and stop loss
strategy.exit("Exit Long", from_entry="Buy", limit=close + takeProfit, stop=close - stopLoss)
strategy.exit("Exit Short", from_entry="Sell", limit=close - takeProfit, stop=close + stopLoss)
// Alerts for triggered condition
if triggerCondition
alert("Candle size is " + str.tostring(candleSizeThresholdTicks) + " ticks or greater. Trade initiated.", alert.freq_once_per_bar)
// Color the alert candle white
barcolor(triggerCondition ? color.white : na)
// Visual aids for backtesting
bgcolor(isValidStartDate and inTimeRange ? color.new(color.green, 90) : na, title="Time and Date Range Highlight")