
جائزہ
اس حکمت عملی میں اے ٹی آر (Average True Range) اشارے اور ایس ایم اے (Simple Moving Average) اشارے کا امتزاج کیا گیا ہے ، جس میں ایک متحرک اسٹاپ نقصان کا سراغ لگانے والا ایک تجارتی نظام ہے۔ جب قیمت ایس ایم اے سے اوپر ہوتی ہے تو ایک سے زیادہ آرڈر کھلتے ہیں ، جبکہ اے ٹی آر پر مبنی متحرک اسٹاپ نقصان بھی قائم کیا جاتا ہے ، قیمت بڑھنے کے ساتھ ساتھ اسٹاپ نقصان کی قیمت میں اضافہ ہوتا رہتا ہے۔ جب قیمت متحرک اسٹاپ نقصان کی قیمت سے ٹوٹ جاتی ہے تو اس کی قیمت برابر ہوجاتی ہے۔ اس حکمت عملی کا بنیادی خیال یہ ہے کہ رجحان کے حالات میں ، متحرک اسٹاپ نقصان کا استعمال منافع کو روکنے اور واپسی کو کم کرنے کے لئے کیا جاتا ہے۔
حکمت عملی کا اصول
- 50 دن کے SMA کا حساب لگائیں ، جب اختتامی قیمت 50 دن کے SMA سے زیادہ ہو تو زیادہ آرڈر لگائیں۔
- اے ٹی آر اشارے کا حساب لگائیں ، اے ٹی آر کا دورانیہ 10 ہے ، ایک اہم قدر ((ڈیفالٹ 3) کے ساتھ ضرب کریں تاکہ روکنے کی حد nLoss حاصل ہو۔
- متحرک اسٹاپ قیمت xATRTrailingStop کا حساب لگائیں ، ابتدائی قیمت 0 ہے۔
- جب اختتامی قیمت اور پچھلی اختتامی قیمت دونوں پچھلی اسٹاپ لاس قیمت سے زیادہ ہوں تو ، نئی اسٹاپ لاس قیمت پچھلی اسٹاپ لاس قیمت اور [اختتامی قیمت - nLoss] میں سے بڑی ہے۔
- جب اختتامی قیمت اور پچھلی اختتامی قیمت دونوں پچھلی اسٹاپ لاس قیمت سے کم ہوں تو ، نئی اسٹاپ لاس قیمت پچھلی اسٹاپ لاس قیمت اور ((اختتامی قیمت + nLoss) میں سے کم ہے۔
- دوسری صورتوں میں، نئی سٹاپ نقصان کی قیمت ہے: ((قیمت اختتامیہ - nLoss) یا ((قیمت اختتامیہ + nLoss) )
- جب بند ہونے والی قیمت متحرک اسٹاپ نقصان کی قیمت سے نیچے آجائے تو اس کی صف بندی کریں۔
- سٹاپ نقصان مختلف رنگوں میں نشان لگا دیا گیا ہے، کثیر سر سٹاپ نقصان سبز ہے، خالی سر سٹاپ نقصان سرخ ہے، دیگر حالات میں نیلے رنگ میں ہے.
طاقت کا تجزیہ
- متحرک اسٹاپ میکانیزم رجحان کے حالات میں منافع کی حفاظت اور واپسی کے خطرے کو کم کرسکتا ہے۔ متحرک اسٹاپ فکسڈ اسٹاپ کے مقابلے میں زیادہ لچکدار ہے اور مارکیٹ کی مختلف حالتوں کے مطابق ڈھال سکتا ہے۔
- اسٹاپ نقصان کی حد اے ٹی آر اشارے پر مبنی ہے ، اے ٹی آر مارکیٹ کی اتار چڑھاؤ کی مقدار کی اچھی طرح سے عکاسی کرسکتا ہے ، لہذا اسٹاپ نقصان کا فاصلہ خود بخود حالیہ حالات کے اتار چڑھاؤ کی شرح کے مطابق ایڈجسٹ ہوجائے گا ، اتار چڑھاؤ بڑھنے پر اسٹاپ نقصان کی گنجائش کو بڑھا دے گا ، اتار چڑھاؤ کم ہونے پر اسٹاپ نقصان کی گنجائش کو کم کرے گا۔
- ایس ایم اے کو رجحان کے فیصلے کی بنیاد کے طور پر استعمال کرتے ہوئے ، نسبتا clear واضح رجحان کی صورتحال کو پکڑنے کے قابل ہے۔ ایس ایم اے کے اوپر زیادہ آرڈر کھولنے سے ، رجحان کے آغاز میں مداخلت کی جاسکتی ہے ، اور زیادہ منافع کی گنجائش حاصل کی جاسکتی ہے۔
- صارفین کو اے ٹی آر کی مدت اور اہم اقدار کے پیرامیٹرز کو ترتیب دینے کی اجازت دیتا ہے ، جس سے پالیسی کے پیرامیٹرز کو مختلف اقسام اور ادوار کی خصوصیات کے مطابق لچکدار بنایا جاسکتا ہے۔
خطرے کا تجزیہ
- غیر واضح رجحانات یا اتار چڑھاؤ کے حالات میں ، اس حکمت عملی میں اکثر کم پوزیشنیں ہوسکتی ہیں ، جس سے تجارت کی لاگت میں اضافہ اور منافع میں کمی واقع ہوتی ہے۔
- اس حکمت عملی میں صرف زیادہ منطق ہے ، اور نیچے کی طرف جانے والے رجحان میں منافع حاصل نہیں کیا جاسکتا ہے ، جس میں ایک طرفہ مارکیٹ کا خطرہ ہوتا ہے۔ آپ کو دو طرفہ تجارت کے ل make ڈراپ شیٹ منطق کو شامل کرنے پر غور کرنا چاہئے۔
- اسٹاپ نقصان نقطہ اے ٹی آر پر مبنی ہے ، مارکیٹ میں شدید اتار چڑھاؤ کے دوران ، اسٹاپ نقصان کی گنجائش بہت زیادہ ہوسکتی ہے ، جس سے خطرہ بڑھ جاتا ہے۔ ایک زیادہ سے زیادہ نقصان کی حد طے کرنے پر غور کیا جاسکتا ہے ، جو ایک ہی تجارت میں زیادہ سے زیادہ نقصان کو کنٹرول کرتا ہے۔
- پیرامیٹرز کا غلط انتخاب حکمت عملی کی ناکامی کا سبب بن سکتا ہے۔ مثال کے طور پر ، اے ٹی آر کا دورانیہ بہت چھوٹا ہے ، اس کی وجہ یہ ہوسکتی ہے کہ اسٹاپ نقصان بہت حساس اور کثرت سے ٹرگر ہوتا ہے۔ زیادہ سے زیادہ وقت میں اسٹاپ نقصان کو روکنے میں ناکام ہوسکتا ہے ، اور نقصان کو بڑھا سکتا ہے۔
اصلاح کی سمت
- کم کرنے کے منطق کو شامل کریں ، نیچے کی سمت میں بھی منافع بخش ہوسکتے ہیں ، حکمت عملی کی موافقت کو بہتر بناتے ہیں۔ جب قیمت SMA سے نیچے آجاتی ہے تو آپ خالی آرڈر کھول سکتے ہیں ، اسی طرح متحرک اسٹاپ نقصان کی منطق کو بھی اپناتے ہیں۔
- ایک سے زیادہ خالی پوزیشن مینجمنٹ متعارف کروانا ، رجحان کی طاقت کے مطابق پوزیشن کا سائز ایڈجسٹ کریں۔ جب رجحان مضبوط ہوتا ہے تو پوزیشن میں اضافہ ، منافع میں اضافہ؛ جب رجحان کمزور ہوتا ہے تو پوزیشن کو کم کرنا ، خطرے پر قابو پانا۔
- اسٹاپ نقصان کی منطق کو بہتر بنائیں ، ایک زیادہ سے زیادہ اسٹاپ نقصان کی حد طے کریں ، تاکہ انتہائی حالات میں زیادہ سے زیادہ نقصان سے بچ سکے۔ اس کے علاوہ ، ایک اسٹاپ پوائنٹ طے کرنے پر بھی غور کیا جاسکتا ہے ، جس میں متوقع منافع حاصل ہونے پر فعال طور پر صفائی کی جاتی ہے ، اس کے بجائے نقصان تک اس کا انعقاد کیا جائے۔
- پیرامیٹرز کو بہتر بنانے کے لئے ، مختلف پیرامیٹرز کے مجموعے کو تلاش کرکے بہترین پیرامیٹرز کی ترتیب تلاش کریں۔ آپ جینیاتی الگورتھم جیسے ذہین اصلاح کے طریقوں کو استعمال کرسکتے ہیں ، جس سے اصلاح کی کارکردگی میں اضافہ ہوتا ہے۔
- رجحانات اور خطرات کا بہتر اندازہ لگانے اور سگنل کی وشوسنییتا کو بہتر بنانے کے لئے زیادہ فلٹرنگ شرائط شامل کرنے پر غور کریں ، جیسے تجارت کا حجم ، اتار چڑھاؤ کی شرح وغیرہ۔
خلاصہ کریں۔
یہ حکمت عملی اے ٹی آر اور ایس ایم اے اشارے پر مبنی ایک متحرک اسٹاپ نقصان سے باخبر رہنے والے تجارتی نظام کو انجام دیتی ہے ، جو رجحان کی صورت حال میں خود بخود اسٹاپ نقصان کی پوزیشن کو ایڈجسٹ کرنے ، منافع کی حفاظت اور خطرے پر قابو پانے کا کردار ادا کرتی ہے۔ حکمت عملی کی منطق واضح ہے ، اس کے فوائد واضح ہیں ، لیکن اس میں کچھ حدود اور خطرات بھی موجود ہیں۔ مناسب اصلاحات اور بہتری کے ذریعہ ، جیسے کہ خالی کرنے کی منطق شامل کرنا ، پوزیشن مینجمنٹ کو بہتر بنانا ، زیادہ سے زیادہ نقصان کی روک تھام کرنا وغیرہ ، حکمت عملی کی استحکام اور منافع بخش صلاحیت کو مزید بڑھا سکتا ہے۔ عملی طور پر ، حکمت عملی کے پیرامیٹرز کو مختلف قسم کے تجارت اور دورانیے کے مطابق لچکدار انداز میں ایڈجسٹ کرنے اور خطرے پر سخت قابو پانے کی ضرورت ہے۔
حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Trailingstop", overlay=true)
if close > sma(close, 50)
strategy.entry("long", strategy.long)
// Trailing stop loss for long positions
Trailperc = 0.20
price_stop_long = 0.0
if (strategy.position_size > 0)
stopValue = close * (1 - Trailperc)
price_stop_long := max(stopValue, price_stop_long[1])
else
price_stop_long := 0
if (strategy.position_size > 0)
strategy.exit(id="stoploss_long", stop=price_stop_long)
// Trailing stop loss for short positions
Trailperc_short = 0.20
price_stop_short = 0.0
if (strategy.position_size < 0)
stopValue_short = close * (1 + Trailperc_short)
price_stop_short := min(stopValue_short, price_stop_short[1])
else
price_stop_short := 0
if (strategy.position_size < 0)
strategy.exit(id="stoploss_short", stop=price_stop_short)
// ATR Trailing Stop for visualization
keyvalue = input(3, title="Key Value. 'This changes the sensitivity'", step=0.5)
atrperiod = input(10, title="ATR Period")
xATR = atr(atrperiod)
nLoss = keyvalue * xATR
xATRTrailingStop = 0.0
xATRTrailingStop := iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss),
iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss),
iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))
pos = 0
pos := iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0)))
xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue
plot(xATRTrailingStop, color = xcolor, title = "Trailing Stop")