
یہ حکمت عملی ہین ایشی میڈین لائن پر ٹریڈنگ سگنل کی تخلیق پر مبنی ہے۔ اس میں خرید و فروخت کے سگنل کی تخلیق میں ہین ایشی کی اختتامی قیمت کے 75 فیصد قیمت کی سطح کے ساتھ کراسنگ اور ہین ایشی کی اختتامی قیمت کی حرکت پذیری اوسط سے زیادہ دونوں عوامل کو مدنظر رکھا گیا ہے۔
اس حکمت عملی کا تجزیہ عام K لائنوں کے بجائے ہین ایشی اوسط لائنوں کے ذریعہ کیا جاتا ہے ، جو مارکیٹ کے شور کو فلٹر کرتی ہے ، جو رجحانات اور الٹ کے اشارے کو تلاش کرنے کے لئے زیادہ موزوں ہے۔ خاص طور پر ، یہ حکمت عملی ٹریڈنگ سگنل پیدا کرنے کے لئے فیصد چینلز اور چلتی اوسط کے ساتھ ملتی ہے:
اس کے علاوہ ، اس حکمت عملی میں ایک طرفہ خطرے کو کنٹرول کرنے کے لئے اسٹاپ نقصان کا فاصلہ اور اسٹاپ نقصان کا سراغ لگانا شامل ہے۔
مذکورہ بالا خطرات کو کم کرنے کے لئے ، موزوں طور پر چلتی اوسط کی مدت کو ایڈجسٹ کیا جاسکتا ہے یا اسٹاپ نقصان کا تناسب ایڈجسٹ کیا جاسکتا ہے۔
اس حکمت عملی میں ہین ایش میڈین ، فیصد چینل اور منتقل اوسط کے متعدد اشارے شامل ہیں ، جس سے ٹریڈنگ سسٹم تشکیل دیا گیا ہے۔ یہ سسٹم رجحان کی سمت کو مؤثر طریقے سے پہچان سکتا ہے ، اور خطرے کو کنٹرول کرنے کے لئے اسٹاپ نقصانات کا تعین کرسکتا ہے۔ یہ ایک قابل غور مقداری تجارتی حکمت عملی ہے۔ پیرامیٹرز کو بہتر بنانے اور دیگر معاون اشارے شامل کرنے سے ، نظام کی استحکام کو مزید بڑھانے کی امید ہے۔
/*backtest
start: 2023-12-17 00:00:00
end: 2023-12-24 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("HK Percentile Interpolation One",shorttitle = "HKPIO", overlay=false, default_qty_type = strategy.cash, default_qty_value = 5000, calc_on_order_fills = true, calc_on_every_tick = true)
// Input parameters
stopLossPercentage = input(3, title="Stop Loss (%)") // User can set Stop Loss as a percentage
trailStopPercentage = input(1.5, title="Trailing Stop (%)") // User can set Trailing Stop as a percentage
lookback = input.int(14, title="Lookback Period", minval=1) // User can set the lookback period for percentile calculation
yellowLine_length = input.int(5, "Yellow", minval=1) // User can set the length for Yellow EMA
purplLine_length = input.int(10, "Purple", minval=1) // User can set the length for Purple EMA
holdPeriod = input.int(200, title="Minimum Holding Period", minval=10) // User can set the minimum holding period
startDate = timestamp("2021 01 01") // User can set the start date for the strategy
// Calculate Heikin Ashi values
haClose = ohlc4
var float haOpen = na
haOpen := na(haOpen[1]) ? (open + close) / 2 : (haOpen[1] + haClose[1]) / 2
haHigh = math.max(nz(haOpen, high), nz(haClose, high), high)
haLow = math.min(nz(haOpen, low), nz(haClose, low), low)
// Calculate Moving Averages
yellowLine = ta.ema(haClose, yellowLine_length)
purplLine = ta.ema(haClose, purplLine_length)
// Calculate 25th and 75th percentiles
p25 = ta.percentile_linear_interpolation(haClose, lookback, 28)
p75 = ta.percentile_linear_interpolation(haClose, lookback, 78)
// Generate buy/sell signals
longSignal = ta.crossover(haClose, p75) and haClose > yellowLine
sellSignal = ta.crossunder(haClose, yellowLine)
longSignal1 = ta.crossover(haClose, p75) and haClose > purplLine
sellSignal1 = ta.crossunder(haClose, purplLine)
// Set start time and trade conditions
if(time >= startDate)
// When longSignal is true, enter a long trade and set stop loss and trailing stop conditions
if (longSignal)
strategy.entry("Long", strategy.long, 1)
strategy.exit("Sell", "Long", stop=close*(1-stopLossPercentage/100), trail_points=close*trailStopPercentage/100, trail_offset=close*trailStopPercentage/100)
// When sellSignal is true, close the long trade
if (sellSignal)
strategy.close("Long")
// When sellSignal1 is true, enter a short trade
if (sellSignal1)
strategy.entry("Short", strategy.short, 1)
// When longSignal1 is true, close the short trade
if (longSignal1)
strategy.close("Short")
// Plot Heikin Ashi candles
plotcandle(haOpen, haHigh, haLow, haClose, title="Heikin Ashi", color=(haClose >= haOpen ? color.rgb(1, 168, 6) : color.rgb(176, 0, 0)))
// Plot 25th and 75th percentile levels
plot(p25, title="25th Percentile", color=color.green, linewidth=1, style=plot.style_circles)
plot(p75, title="75th Percentile", color=color.red, linewidth=1, style=plot.style_circles)
// Plot Moving Averages
plot(yellowLine, color = color.rgb(254, 242, 73, 2), linewidth = 2, style = plot.style_stepline)
plot(purplLine, color = color.rgb(255, 77, 234, 2), linewidth = 2, style = plot.style_stepline)