
اس حکمت عملی میں متحرک ٹریلنگ اسٹاپ کی سوچ کو اپنایا گیا ہے ، جس میں اے ٹی آر اور قیمت کی حد کی بنیاد پر طویل اور مختصر پوزیشنوں کی روک تھام کی لائن کا حساب لگایا گیا ہے۔ چانڈیلیئر ایگزٹ کے نظریات کے ساتھ مل کر ، اسٹاپ لائن کی سمت پر مبنی طویل اور مختصر پوزیشنوں کی سمت کا فیصلہ کریں۔ جب اسٹاپ لائن اوپر کی طرف سے ٹوٹ جاتی ہے تو اس کا فیصلہ بیزاری کے طور پر کیا جاتا ہے ، اور جب اسٹاپ لائن نیچے کی طرف سے ٹوٹ جاتی ہے تو اس کا فیصلہ بیزاری کے طور پر کیا جاتا ہے۔
اس حکمت عملی میں اسٹاپ نقصان اور انٹری سگنل کے فیصلے کی دوہری افادیت ہے۔
اس حکمت عملی میں مندرجہ ذیل اجزاء شامل ہیں:
صارف کے مقرر کردہ اے ٹی آر کی مدت کی لمبائی اور ضرب ملٹ کی بنیاد پر ، اے ٹی آر کا حقیقی وقت میں حساب لگائیں۔ پھر اے ٹی آر اور قیمت کی چوٹی کی بنیاد پر لمبی اور مختصر پوزیشن کی روک تھام کی لائن کا حساب لگائیں:
longStop = 最高价 - ATR
shortStop = 最低价 + ATR
پچھلی K لائن کی اسٹاپ لائن اور موجودہ K لائن کی اسٹاپ لائن کا موازنہ کریں۔ اگر موجودہ K لائن کی اسٹاپ لائن ٹوٹ جاتی ہے تو ، تجارتی سگنل جاری کیا جاتا ہے:
长仓止损线上方突破,做多
短仓止损线下方突破,做空
صارف کے ذریعہ مقرر کردہ رسک ریٹرن سے زیادہ رسک ریوارڈ تناسب کے مطابق ، اے ٹی آر سے اسٹاپ نقصان کا فاصلہ اور اسٹاپ اسٹاپ فاصلہ کا حساب لگائیں۔ اور پوزیشن کھولتے وقت اسٹاپ نقصان اور اسٹاپ آرڈر ترتیب دیں۔
یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:
اس حکمت عملی میں اسٹاپ لائنوں کی متحرک ٹریکنگ کا استعمال کیا گیا ہے ، جس سے بروقت اسٹاپ نقصان اور گرنے کے خطرے پر قابو پایا جاسکتا ہے۔
اسٹریٹجک اسٹاپ نقصان کی لائن نے حکمت عملی کی منطق کو آسان بنا دیا ہے ، جبکہ داخلے کے فیصلے کی شرط کے طور پر۔
زیادہ منافع کے حصول کے لئے مناسب طور پر مقرر کردہ رسک ریٹرنشن کے مطابق۔
اس حکمت عملی کا ڈھانچہ سادہ ہے اور اسے سمجھنے اور بہتر بنانے میں آسانی ہے۔
اس حکمت عملی کے کچھ خطرات بھی ہیں:
اس حکمت عملی کو دو طرفہ تجارت کی حکمت عملی کہا جاتا ہے، جس میں ایک ہی وقت میں زیادہ اور کم کرنے کا خطرہ ہوتا ہے۔
اے ٹی آر پیرامیٹرز کی ترتیبات براہ راست اسٹاپ نقصان کی لائن اور تجارتی تعدد کو متاثر کرتی ہیں۔ غلط ترتیب سے اسٹاپ نقصان بہت زیادہ نرمی یا تجارتی تعدد کا سبب بن سکتا ہے۔
اس حکمت عملی کو زیادہ تر اوسط لائن کے بعد توڑنے کے لئے استعمال کیا جاتا ہے، نہ کہ بہت زیادہ رجحانات کے ساتھ.
مندرجہ بالا خطرات کے لئے آپ کو مندرجہ ذیل طریقوں سے بہتر بنانے کی ضرورت ہے:
ایم اے جیسے رجحان اشارے کے ساتھ مل کر ، مارکیٹ کے رجحانات کا اندازہ لگائیں ، اور منفی تجارت سے بچیں۔
اے ٹی آر پیرامیٹرز اور رسک ریٹرن تناسب پیرامیٹرز کو بہتر بنائیں تاکہ اسٹاپ نقصان اور اسٹاپ کو زیادہ معقول بنایا جاسکے۔
حجم یا اتار چڑھاؤ کے اشارے کو فلٹر کرنے کی شرائط کو بڑھانا تاکہ معیار کو یقینی بنایا جاسکے۔
اس حکمت عملی میں مزید اصلاحات کی گنجائش موجود ہے:
مشین لرننگ ماڈل کا استعمال کرتے ہوئے قیمتوں کے رجحانات کی پیش گوئی کرنے کے لئے ، داخلے کی درستگی میں اضافہ کریں۔
آپشنز کی قیمتوں میں اتار چڑھاؤ کی شرح کو استعمال کرتے ہوئے ، خطرے سے پاک بیعانہ پورٹ فولیو کی تعمیر کریں۔
مختلف مارکیٹوں اور مختلف اقسام کے درمیان اعداد و شمار کے ارگٹائزنگ کے ذریعے ، مستحکم الفا حاصل کریں۔
الگورتھم ٹریڈنگ انجن کے ذریعے موثر حکمت عملی کی واپسی اور ریئل ٹائم ٹریڈنگ۔
اس مضمون میں متحرک ٹریکنگ اسٹاپ پر مبنی ایک مقداری تجارتی حکمت عملی کا گہرائی سے تجزیہ کیا گیا ہے۔ اس حکمت عملی میں اسٹاپ مینجمنٹ اور ٹریڈنگ سگنل فیصلے کی خصوصیات ہیں ، جو خطرے کو مؤثر طریقے سے کنٹرول کرسکتی ہیں۔ ہم اس حکمت عملی کے فوائد ، ممکنہ خطرات اور اس کے بعد کے اصلاح کے خیالات کا بھی تجزیہ کرتے ہیں۔ یہ ایک بہت ہی عملی تجارتی حکمت عملی ہے ، جو مزید تحقیق اور اطلاق کے قابل ہے۔
/*backtest
start: 2023-12-29 00:00:00
end: 2024-01-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Chandelier Exit with 1-to-1 Risk-Reward", shorttitle='CE', overlay=true)
// Chandelier Exit Logic
length = input.int(title='ATR Period', defval=22)
mult = input.float(title='ATR Multiplier', step=0.1, defval=3.0)
useClose = input.bool(title='Use Close Price for Extremums', defval=true)
atr = mult * ta.atr(length)
longStop = (useClose ? ta.highest(close, length) : ta.highest(length)) - atr
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? math.max(longStop, longStopPrev) : longStop
shortStop = (useClose ? ta.lowest(close, length) : ta.lowest(length)) + atr
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := close[1] < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop
var int dir = 1
dir := close > shortStopPrev ? 1 : close < longStopPrev ? -1 : dir
// Risk-Reward Ratio
riskRewardRatio = input.int(1, title="Risk-Reward Ratio", minval=1, maxval=10, step=1)
// Calculate Take Profit and Stop Loss Levels
takeProfitLevel = atr * riskRewardRatio
stopLossLevel = atr
// Entry Conditions
longCondition = dir == 1 and dir[1] == -1
shortCondition = dir == -1 and dir[1] == 1
// Entry Signals
if (longCondition)
strategy.entry("Long", strategy.long, stop=close - stopLossLevel, limit=close + takeProfitLevel)
if (shortCondition)
strategy.entry("Short", strategy.short, stop=close + stopLossLevel, limit=close - takeProfitLevel)
longStopPlot = plot(dir == 1 ? longStop : na, title='Long Stop', style=plot.style_linebr, linewidth=2, color=color.green)
shortStopPlot = plot(dir == 1 ? na : shortStop, title='Short Stop', style=plot.style_linebr, linewidth=2, color=color.red)
midPricePlot = plot(ohlc4, title='', style=plot.style_circles, linewidth=0, display=display.none, editable=false)
fill(midPricePlot, longStopPlot, color=color.new(color.green, 90), title='Long State Filling')
fill(midPricePlot, shortStopPlot, color=color.new(color.red, 90), title='Short State Filling')
// Alerts
if (dir != dir[1])
strategy.entry("Direction Change", strategy.long, comment="Chandelier Exit has changed direction!")
if (longCondition)
strategy.entry("Buy Signal", strategy.long, comment="Chandelier Exit Buy!")
if (shortCondition)
strategy.entry("Sell Signal", strategy.short, comment="Chandelier Exit Sell!")