
یہ حکمت عملی ایک رجحان توڑنے والی تجارتی نظام ہے جو تکنیکی تجزیہ میں نیچے کی کنگلی کی شکل پر مبنی ہے۔ یہ قیمتوں میں اعلی اور کم کی متحرک شناخت کے ذریعہ ایک اوپر اور نیچے کی رجحان لائن بناتا ہے ، اور جب قیمت ٹرینڈ لائن کو توڑتی ہے تو کثیر پوزیشن میں داخل ہوتا ہے۔ حکمت عملی خطرے کو کنٹرول کرنے اور منافع کو مقفل کرنے کے لئے متحرک اسٹاپ نقصان کا طریقہ کار استعمال کرتی ہے۔ یہ ایک کلاسک تکنیکی تجزیہ ٹریڈنگ طریقہ کار کا ایک طریقہ کار ہے ، خاص طور پر مناسب ہے جب نیچے کی رجحان ختم ہونے والی ہے تو اس میں الٹ موقع پر قبضہ کرنا۔
اس حکمت عملی کی بنیادی منطق میں درج ذیل اہم اقدامات شامل ہیں:
یہ ایک مناسب ڈیزائن کردہ رجحان ٹریڈنگ حکمت عملی ہے ، جو روایتی تکنیکی تجزیہ کے طریقوں کو پروگرام کے ذریعہ نافذ کرتی ہے۔ حکمت عملی کی طاقت مارکیٹ کی ساخت کی خود کار طریقے سے شناخت کرنے اور ممکنہ رجحان الٹ مواقع کو پکڑنے میں ہے۔ لیکن اس کے ساتھ ساتھ جعلی توڑ اور پیرامیٹرز کی اصلاح جیسے مسائل پر بھی توجہ دینے کی ضرورت ہے۔ مزید اصلاح اور بہتری کے ساتھ ، اس حکمت عملی کو حقیقی تجارت میں بہتر کارکردگی کا مظاہرہ کرنے کی امید ہے۔
/*backtest
start: 2025-04-11 00:00:00
end: 2025-07-10 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Binance","currency":"BTC_USDT","balance":200000}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
//@version=6
strategy("Falling Wedge Strategy by Nitin", overlay=true)
// Input parameters
leftBars = input.int(5, "Left Bars for Pivot", minval=1, maxval=20)
rightBars = input.int(5, "Right Bars for Pivot", minval=1, maxval=20)
takeProfitPercent = input.float(6, "Take Profit %", minval=0.1, maxval=100)/100
stopLossPercent = input.float(2, "Stop Loss %", minval=0.1, maxval=100)/100
// Global variables
var float buyPrice = na
// Detect pivot highs and lows
ph = ta.pivothigh(leftBars, rightBars)
pl = ta.pivotlow(leftBars, rightBars)
// Track last two pivot highs
var float[] highs = array.new_float()
var int[] highIndices = array.new_int()
if not na(ph)
array.unshift(highs, ph)
array.unshift(highIndices, bar_index[rightBars])
if array.size(highs) > 2
array.pop(highs)
array.pop(highIndices)
// Track last two pivot lows
var float[] lows = array.new_float()
var int[] lowIndices = array.new_int()
if not na(pl)
array.unshift(lows, pl)
array.unshift(lowIndices, bar_index[rightBars])
if array.size(lows) > 2
array.pop(lows)
array.pop(lowIndices)
// Calculate trendlines and detect falling wedge pattern
isFallingWedge = false
var float currentUpper = na
var float currentLower = na
if array.size(highs) >= 2 and array.size(lows) >= 2
h1 = array.get(highs, 0)
h2 = array.get(highs, 1)
i1 = array.get(highIndices, 0)
i2 = array.get(highIndices, 1)
l1 = array.get(lows, 0)
l2 = array.get(lows, 1)
j1 = array.get(lowIndices, 0)
j2 = array.get(lowIndices, 1)
m_upper = (h1 - h2) / (i1 - i2)
m_lower = (l1 - l2) / (j1 - j2)
currentUpper := h2 + m_upper * (bar_index - i2)
currentLower := l2 + m_lower * (bar_index - j2)
// Falling wedge pattern condition
isFallingWedge := h1 < h2 and l1 < l2 and m_upper < m_lower and m_upper < 0 and m_lower < 0
// Trading strategy execution
if isFallingWedge and ta.crossover(close, currentUpper) and strategy.position_size == 0
strategy.entry("Buy", strategy.long)
buyPrice := close
strategy.exit("Take Profit/Stop Loss", "Buy", stop=buyPrice * (1 - stopLossPercent), limit=buyPrice * (1 + takeProfitPercent))
// Plotting
plot(strategy.position_size > 0 ? buyPrice * (1 - stopLossPercent) : na, "Stop Loss", color=color.red, linewidth=2)
plot(strategy.position_size > 0 ? buyPrice * (1 + takeProfitPercent) : na, "Take Profit", color=color.green, linewidth=2)