
اس حکمت عملی کا بنیادی خیال یہ ہے کہ قیمت کے رجحانات کو تلاش کرنے کے لئے ایک ہموار اوسط اوسط کا حساب لگانے کے لئے ہموار حرکت پذیر اوسط کا استعمال کریں اور جب قیمت اور ہموار اوسط اوسط کے ساتھ گولڈ فورک ہوتا ہے تو زیادہ کریں ، اور جب ڈائی فورک ہوتا ہے تو خالی کریں۔
اس حکمت عملی میں سب سے پہلے ایک فنکشن smoothedMovingAvg کا تعین کیا گیا ہے جو ایک ہموار حرکت پذیر اوسط کا حساب لگاتا ہے۔ اس فنکشن میں پچھلے دور کی حرکت پذیر اوسط اور تازہ ترین قیمتوں کو لے کر موجودہ دور کی ہموار حرکت پذیر اوسط کا حساب لگانے کے لئے ایک خاص وزن استعمال کیا جاتا ہے۔
اس کے بعد ایک فنکشن getHAClose کی وضاحت کی گئی ہے جس میں اوپن ، ہائی ، لمیٹ اور کلوزنگ قیمتوں کی بنیاد پر کلوزنگ قیمتوں کا حساب لگانے کے لئے کلوزنگ قیمتوں کا حساب لگایا جاتا ہے۔
مرکزی حکمت عملی کے منطق میں ، پہلے مختلف ادوار کی اصل قیمتیں حاصل کی گئیں ، پھر ہموار چلتی اوسط کا حساب کتاب کرنے کے لئے smoothedMovingAvg فنکشن کا استعمال کیا گیا ، اور پھر ہموار شروع ہونے والی اختتامی قیمت کا حساب کتاب کرنے کے لئے getHAClose فنکشن کا استعمال کیا گیا۔
آخر میں ، جب قیمت اوپر سے ہموار ہوتی ہے تو بند ہونے والی قیمت پر زیادہ کام کریں ، نیچے سے ہموار ہو جائیں۔ جب قیمت نیچے سے ہموار ہوتی ہے تو بند ہونے والی قیمت پر خالی ہوجائیں ، اوپر سے ہموار ہوجائیں۔
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ ہموار چلتی اوسط کا استعمال کرتے ہوئے ہموار روشن اوسط کا حساب لگایا جاسکتا ہے ، جس سے قیمت کے رجحان کا زیادہ درست اندازہ لگایا جاسکتا ہے ، اور کچھ شور کو فلٹر کیا جاسکتا ہے ، تاکہ ہلچل میں غلط سگنل پیدا نہ ہو۔ اس کے علاوہ ، روشن اوسط خود ہی نمایاں رجحانات کی خوبی رکھتا ہے ، اور قیمت کے ساتھ مل کر استعمال کیا جاسکتا ہے ، جس سے اس کی درستگی میں مزید اضافہ ہوسکتا ہے۔
اس حکمت عملی میں مندرجہ ذیل خطرات شامل ہیں:
مندرجہ بالا خطرات کے لئے ، ہم ہموار پیرامیٹرز کو ایڈجسٹ کرکے ، اسٹاپ نقصان کے طریقہ کار کو متعارف کرانے ، اور انفرادی تجارت کی پوزیشنوں کو کم کرنے جیسے طریقوں سے خطرے کو کم کرسکتے ہیں اور حکمت عملی کی استحکام کو بڑھا سکتے ہیں۔
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
مندرجہ بالا نکات کو بہتر بنانے سے ، حکمت عملی کے منحنی خطرے کو مزید کم کیا جاسکتا ہے ، اور حکمت عملی کی موافقت اور استحکام کو بہتر بنایا جاسکتا ہے۔
اس حکمت عملی کا مجموعی نظریہ واضح اور سمجھنے میں آسان ہے ، قیمت کے رجحانات کا اندازہ لگانے کے لئے ہموار روشنی کی اوسط لائن کا حساب لگائیں ، اور اس کے مطابق طویل اور مختصر طریقہ کار کریں۔ اس کا سب سے بڑا فائدہ یہ ہے کہ کچھ شور کو فلٹر کیا جاسکتا ہے ، سگنل کے فیصلے کی درستگی کو بہتر بنایا جاسکتا ہے۔ لیکن اس میں کچھ پیرامیٹرز کو بہتر بنانے میں دشواری بھی موجود ہے اور تیزی سے الٹ جانے کا خطرہ بھی ہوسکتا ہے۔ خود کو اپنانے کے طریقہ کار کو متعارف کرانے ، اشارے کے مجموعے کو وسعت دینے وغیرہ کے ذریعہ مزید اصلاح کی جاسکتی ہے ، اور اس کے بارے میں گہری تحقیق کے قابل ہے۔
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Smoothed Heiken Ashi Strategy", overlay=true)
// Inputs
g_TimeframeSettings = 'Display & Timeframe Settings'
time_frame = input.timeframe(title='Timeframe for HA candle calculation', defval='', group=g_TimeframeSettings)
g_SmoothedHASettings = 'Smoothed HA Settings'
smoothedHALength = input.int(title='HA Price Input Smoothing Length', minval=1, maxval=500, step=1, defval=10, group=g_SmoothedHASettings)
// Define a function for calculating the smoothed moving average
smoothedMovingAvg(src, len) =>
smma = 0.0
smma := na(smma[1]) ? ta.sma(src, len) : (smma[1] * (len - 1) + src) / len
smma
// Function to get Heiken Ashi close
getHAClose(o, h, l, c) =>
((o + h + l + c) / 4)
// Calculate smoothed HA candles
smoothedHAOpen = request.security(syminfo.tickerid, time_frame, open)
smoothedMA1close = smoothedMovingAvg(request.security(syminfo.tickerid, time_frame, close), smoothedHALength)
smoothedHAClose = getHAClose(smoothedHAOpen, smoothedHAOpen, smoothedHAOpen, smoothedMA1close)
// Plot Smoothed Heiken Ashi candles
plotcandle(open=smoothedHAOpen, high=smoothedHAOpen, low=smoothedHAOpen, close=smoothedHAClose, color=color.new(color.blue, 0), wickcolor=color.new(color.blue, 0))
// Strategy logic
longCondition = close > smoothedHAClose
shortCondition = close < smoothedHAClose
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.close("Buy", when=shortCondition)
plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)