وسائل لوڈ ہو رہے ہیں... لوڈنگ...

سٹاپ نقصان کی نگرانی کی حکمت عملی منتقل کرنا

مصنف:چاؤ ژانگ، تاریخ: 2024-01-03 16:15:29
ٹیگز:

img

جائزہ

یہ حکمت عملی اسٹاک اشارے کو انٹری سگنل پیدا کرنے کے لئے استعمال کرتی ہے۔ پوزیشن میں داخل ہونے کے بعد ، یہ اسٹاپ نقصان کو متحرک طور پر ایڈجسٹ کرنے کے لئے حقیقی وقت میں نئی اونچائیوں یا نچلی سطحوں کا سراغ لگائے گا۔ اسی وقت ، حکمت عملی حقیقی تجارت میں پوزیشنوں کو ایڈجسٹ کرنے کے لئے انتباہی فنکشن کے ذریعے ایم ٹی 4 / ایم ٹی 5 کو اسٹاپ نقصان میں ترمیم کی معلومات بھی بھیجے گی۔

حکمت عملی کا اصول

  1. حکمت عملی اسٹاک اشارے کی بنیاد پر خرید و فروخت کے سگنل پیدا کرتی ہے۔ جب اسٹاک K لائن نیچے سے D لائن کے اوپر سے گزرتی ہے تو ، خرید کا سگنل پیدا ہوتا ہے۔ جب K لائن اوپر سے D لائن کے نیچے سے گزرتی ہے تو ، فروخت کا سگنل پیدا ہوتا ہے۔

  2. کسی پوزیشن میں داخل ہونے کے بعد ، حکمت عملی حقیقی وقت میں سب سے کم قیمت کی تازہ ترین کم اور سب سے زیادہ قیمت کی تازہ ترین اعلی کو متحرک اسٹاپ نقصان کی سطح کے طور پر ٹریک کرتی ہے۔ خاص طور پر ، لمبی پوزیشنوں کے ل the ، سب سے کم قیمت کا تازہ ترین کم نقطہ اسٹاپ نقصان کی سطح کے طور پر ٹریک کیا جاتا ہے۔ مختصر پوزیشنوں کے ل the ، سب سے زیادہ قیمت کا تازہ ترین اعلی نقطہ اسٹاپ نقصان کی سطح کے طور پر ٹریک کیا جاتا ہے۔

  3. جب اسٹاپ نقصان کی سطح میں تبدیلی کا پتہ چلتا ہے تو ، حکمت عملی انتباہی فنکشن کے ذریعہ اسٹاپ نقصان کو تبدیل کرنے کا آرڈر تیار کرتی ہے اور اسے حقیقی وقت میں اصل تجارت کی اسٹاپ نقصان کی سطح کو ایڈجسٹ کرنے کے لئے MT4 / MT5 پر بھیجتی ہے۔ اسٹاپ نقصان کی تبدیلیوں کی بدیہی نمائش کے لئے گرافک تشریحات بھی پیش کی گئیں۔

  4. یہ حکمت عملی دستی طور پر کنٹرول کرنے کی حمایت کرتی ہے کہ آیا متحرک اسٹاپ نقصان کے طریقہ کار کو چالو کیا جائے۔ جب چالو کیا جاتا ہے تو ، مارکیٹ میں اتار چڑھاؤ کے مطابق اسٹاپ نقصان کو حقیقی وقت میں ایڈجسٹ کیا جاسکتا ہے۔

فوائد کا تجزیہ

  1. متحرک ٹریلنگ اسٹاپ نقصان کا طریقہ کار مؤثر طریقے سے خطرات کو کنٹرول کرنے کے لئے مارکیٹ کے اتار چڑھاؤ کے مطابق اسٹاپ نقصان کی سطح کو لچکدار طریقے سے ایڈجسٹ کرسکتا ہے۔

  2. انتباہی فنکشن دستی مداخلت کے بغیر خودکار انتظام کے لئے MT4 / MT5 کو اسٹاپ نقصان ایڈجسٹمنٹ کی معلومات کو حقیقی وقت میں بھیجنے کے قابل بناتا ہے۔

  3. چارٹ پر سٹاپ نقصان کی ایڈجسٹمنٹ کی بصری تشریحات ٹرائل سٹاپ نقصان کے اثرات کو دیکھنے اور اس کی تصدیق کرنے میں آسانی پیدا کرتی ہیں۔

  4. سٹاپ نقصان ٹیلنگ میکانزم کو دستی طور پر کنٹرول کرنے کی حمایت مختلف مارکیٹ کے حالات میں لچکدار موافقت کی اجازت دیتی ہے۔

  5. موقع کا تعین کرنے کے لئے اسٹاک اشارے کے ساتھ مل کر ، حکمت عملی مؤثر طریقے سے جھوٹے بریک آؤٹ کو فلٹر کرسکتی ہے اور استحکام کو بہتر بناسکتی ہے۔

خطرے کا تجزیہ

  1. اسٹوک اشارے سے کثرت سے کراس اوور سگنل پیدا ہوسکتے ہیں ، جس سے زیادہ غیر موثر آپریشن کا خطرہ پیدا ہوتا ہے۔ پیرامیٹرز کو فلٹر سگنلز کے مطابق ایڈجسٹ کیا جاسکتا ہے۔

  2. انتہائی مارکیٹ کے حالات میں ، اسٹاپ نقصانات کو عبور کیا جاسکتا ہے ، بڑے نقصانات سے مکمل طور پر بچنے کے قابل نہیں ہے۔ پوزیشنوں کے خطرات کی بروقت نگرانی کی جانی چاہئے۔

  3. الرٹ کنکشن کے مسائل جیسے مداخلت اور تاخیر ہوسکتی ہے ، جو ایڈجسٹمنٹ کی حقیقی وقت کی رائے کو روکتی ہے۔ مناسب غلطی برداشت کرنے کے اقدامات کی ضرورت ہے۔

  4. متحرک ٹریلنگ اسٹاپ نقصان میں نسبتا frequent کثرت سے ایڈجسٹمنٹ کی ضرورت ہوتی ہے ، جس سے ممکنہ طور پر زیادہ تجارتی اخراجات پیدا ہوتے ہیں۔ ایڈجسٹمنٹ کی حد کو لاگت کے ساتھ متوازن ہونا چاہئے۔

اصلاح کی ہدایات

  1. سگنل کی بہتر معیار اور حکمت عملی کی کارکردگی کے لئے اسٹوک اشارے کو بہتر بنانے کے لئے مختلف پیرامیٹر مجموعوں کی جانچ کی جاسکتی ہے۔

  2. دیگر اشارے کو سگنل فلٹر کرنے یا حکمت عملی کے استحکام کو بہتر بنانے کے لئے ایڈجسٹمنٹ کی حدوں کا تعین کرنے کے لئے ملایا جا سکتا ہے.

  3. سٹاپ نقصان کے اثرات کو یقینی بناتے ہوئے ایڈجسٹمنٹ کی تعدد کو کم کرنے کے لئے مختلف ٹریکنگ الگورتھم کا مطالعہ کیا جاسکتا ہے۔

  4. MT4/MT5 کے ساتھ رابطے کے طریقوں کو بہتر بنایا جاسکتا ہے تاکہ بروقت اور موثر انتباہات کو یقینی بنایا جاسکے اور تاخیر کو کم سے کم کیا جاسکے۔

  5. خودکار اور دستی سٹاپ نقصان کے طریقوں کو مختلف مارکیٹ کے حالات میں مختلف میکانزم استعمال کرنے کے لئے متعارف کرایا جا سکتا ہے.

خلاصہ

یہ حکمت عملی پہلے اسٹاک اشارے کی بنیاد پر تجارتی مواقع کا تعین کرتی ہے ، پھر اسٹاپ نقصانات کو متحرک طور پر ایڈجسٹ کرنے کے لئے پوزیشنوں کے دوران قیمتوں میں اتار چڑھاؤ کا سراغ لگاتی ہے اور انتباہی احکامات کے ذریعہ خود بخود ایڈجسٹمنٹ کی معلومات جاری کرتی ہے۔ اس طرح کا متحرک طریقہ کار کم دستی مداخلت کے ساتھ مارکیٹ میں ہونے والی تبدیلیوں کے مطابق پوزیشن رسک کا فعال انتظام کرنے کے قابل بناتا ہے۔ دریں اثنا ، بدیہی اسٹاپ نقصان کے تشریحات بھی نگرانی کو آسان بناتے ہیں۔ سگنل فلٹرنگ اور ٹریلنگ الگورتھم پر مزید اصلاحات سے منافع میں بہتری آسکتی ہے۔ مجموعی طور پر ، متحرک ٹریلنگ اسٹاپ نقصان کی حکمت عملی اتار چڑھاؤ والی منڈیوں اور خودکار پوزیشن رسک مینجمنٹ کو ٹریک کرنے کے لئے موزوں ہے۔


/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Peter_O

//@version=4
strategy(title="Moving Stop-Loss mechanism", overlay=true)

// This script was created for educational purposes only and it is a spin-off of my previous script:
// https://www.tradingview.com/script/9MJO3AgE-TradingView-Alerts-to-MT4-MT5-dynamic-variables-NON-REPAINTING/
// This spin-off adds very often requested Moving Stop-Loss Mechanism - the logic here moves the stop-loss each time 
// a new pivot is detected.
//
// Last lines of the script include alert() function calls, with a syntax compatible with TradingConnector
// for execution in Forex/indices/commodities/crypto markets via MetaTrader.
// Please note that "tradeid=" variable must be passed with each alert, so that MetaTrader knows which
// trade to modify.

TakeProfitLevel=input(400)

// **** Entries logic, based on Stoch **** {
periodK = 13 //input(13, title="K", minval=1)
periodD = 3 //input(3, title="D", minval=1)
smoothK = 4 //input(4, title="Smooth", minval=1)
k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)

GoLong=crossover(k,d) and k<80
GoShort=crossunder(k,d) and k>20
// } End of entries logic

// **** Pivot-points and stop-loss logic **** {
piv_high = pivothigh(high,1,1)
piv_low = pivotlow(low,1,1)
var float stoploss_long=low
var float stoploss_short=high

pl=valuewhen(piv_low,piv_low,0)
ph=valuewhen(piv_high,piv_high,0)

if GoLong 
    stoploss_long := low<pl ? low : pl
if GoShort 
    stoploss_short := high>ph ? high : ph

plot(stoploss_long, color=color.red, title="stoploss_long")
plot(stoploss_short, color=color.lime, title="stoploss_short")

// Stop-Loss Updating mechanism
enable_stoploss_mechanism=input(true, title="Enable Stoploss Modification Mechanism")
UpdateLongStopLoss = strategy.position_size>0 and strategy.position_size[1]>0 and piv_low and pl!=stoploss_long and not GoLong and enable_stoploss_mechanism
UpdateShortStopLoss = strategy.position_size<0 and strategy.position_size[1]<0 and piv_high and ph!=stoploss_short and not GoShort and enable_stoploss_mechanism
if UpdateLongStopLoss
    stoploss_long := pl
if UpdateShortStopLoss
    stoploss_short := ph

plotshape(UpdateLongStopLoss ? stoploss_long[1]-300*syminfo.mintick : na, location=location.absolute, style=shape.labelup, color=color.lime, textcolor=color.white, text="SL\nmove")
plotshape(UpdateShortStopLoss ? stoploss_short[1]+300*syminfo.mintick : na, location=location.absolute, style=shape.labeldown, color=color.red, textcolor=color.black, text="SL\nmove")
// } End of Pivot-points and stop-loss logic

// **** Trade counter **** {
var int trade_id=0
if GoLong or GoShort
    trade_id:=trade_id+1
// } End of Trade counter

strategy.entry("Long", strategy.long, when=GoLong)
strategy.exit("XLong", from_entry="Long", stop=stoploss_long, profit=TakeProfitLevel)
strategy.entry("Short", strategy.short, when=GoShort)
strategy.exit("XShort", from_entry="Short", stop=stoploss_short, profit=TakeProfitLevel)

if GoLong
    alertsyntax_golong='long slprice=' + tostring(stoploss_long) + ' tradeid=' + tostring(trade_id) + ' tp=' + tostring(TakeProfitLevel)
    alert(message=alertsyntax_golong, freq=alert.freq_once_per_bar_close)
if GoShort
    alertsyntax_goshort='short slprice=' + tostring(stoploss_short) + ' tradeid=' + tostring(trade_id) + ' tp=' + tostring(TakeProfitLevel)
    alert(message=alertsyntax_goshort, freq=alert.freq_once_per_bar_close)
if UpdateLongStopLoss
    alertsyntax_updatelongstoploss='slmod slprice=' + tostring(stoploss_long) + ' tradeid=' + tostring(trade_id)
    alert(message=alertsyntax_updatelongstoploss, freq=alert.freq_once_per_bar_close)
if UpdateShortStopLoss
    alertsyntax_updateshortstoploss='slmod slprice=' + tostring(stoploss_short) + ' tradeid=' + tostring(trade_id)
    alert(message=alertsyntax_updateshortstoploss, freq=alert.freq_once_per_bar_close)


مزید