دو طرفہ افتتاحی مقداری حکمت عملی بے ترتیب سٹاپ نقصان کے منافع پر مبنی ہے۔


تخلیق کی تاریخ: 2024-01-08 16:07:02 آخر میں ترمیم کریں: 2024-01-08 16:07:02
کاپی: 2 کلکس کی تعداد: 670
1
پر توجہ دیں
1617
پیروکار

دو طرفہ افتتاحی مقداری حکمت عملی بے ترتیب سٹاپ نقصان کے منافع پر مبنی ہے۔

جائزہ

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

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

اس حکمت عملی میں 5 دن کی لائن اسٹوکاسٹک اشارے کی٪ K لائن اور٪ D لائن کا ایک کراس استعمال کیا جاتا ہے جس سے ٹریڈنگ سگنل پیدا ہوتا ہے۔ جب٪ K لائن نیچے سے اوپر کی طرف سے٪ D لائن کو عبور کرتی ہے تو ، خریدنے کا اشارہ پیدا ہوتا ہے۔ جب٪ K لائن اوپر سے نیچے کی طرف سے٪ D لائن کو عبور کرتی ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔ جعلی سگنل کو فلٹر کرنے کے لئے ، حکمت عملی میں 50 لمبائی کی SMA اوسط لائن بھی متعارف کروائی گئی ہے ، خریدنے کا اشارہ صرف اس وقت پیدا ہوتا ہے جب اختتامی قیمت SMA کی کم سے کم ہوتی ہے ، اور فروخت کا اشارہ اس وقت پیدا ہوتا ہے جب اختتامی قیمت SMA کی اونچائی سے زیادہ ہوتی ہے۔

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

اسٹریٹجک فوائد

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

خطرے کا تجزیہ

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

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

اصلاح کی سمت

اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:

  1. اسٹوکاسٹک اشارے کے پیرامیٹرز کو بہتر بنائیں ، جعلی سگنل کو کم کرنے کے لئے بہترین پیرامیٹرز کا مجموعہ تلاش کریں۔

  2. دیگر تکنیکی اشارے کو بہتر بنانے یا شامل کرنے کے لئے ، اسٹوکاسٹک اشارے کے رجحانات کا فیصلہ کرنے میں معاون ہے۔ مثال کے طور پر MACD ، KD وغیرہ۔

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

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

  5. ایک پوزیشن کنٹرول ماڈیول شامل کیا گیا ہے جو حکمت عملی کی کارکردگی ، مارکیٹ کے حالات اور دیگر عوامل کے مطابق پوزیشنوں کو متحرک طور پر ایڈجسٹ کرنے کی اجازت دیتا ہے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-07 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
var int slippage = 0
strategy("X48 - DayLight Hunter | Strategy | V.01.01", overlay=true, calc_on_order_fills = true, initial_capital = 50,default_qty_type = strategy.fixed, default_qty_value = 1, commission_type = strategy.commission.percent, commission_value = 0, currency = currency.USD, slippage = 0)

var bool hedge_mode = false
var int sto_buy = 0
var int sto_sell = 0

Trade_Mode = input.string(defval = "Hedge", title = "⚖️ Mode For Trade [Oneway / Hedge]", options = ["Oneway", "Hedge"], group = "Mode Trade", tooltip = "Oneway = Switching Position Type With Signal\nHedge Mode = Not Switching Position Type Unitl TP or SL")
Risk_Mode = input.string(defval = "Low Risk", title = "⚖️ Risk Signal Mode [Low / Medium / High]", options = ["Low Risk", "Medium Risk", "High Risk"], group = "Mode Trade", tooltip = "[[Signal Form Stochastic]]\nLow Risk is >= 80 and <= 20\nMedium Risk is >= 70 and <= 30\nHigh Risk is >= 50 and <=50")

if Trade_Mode == "Oneway"
    hedge_mode := false
else
    hedge_mode := true

if Risk_Mode == "Low Risk"
    sto_buy := 20
    sto_sell := 80
else if Risk_Mode == "Medium Risk"
    sto_buy := 30
    sto_sell := 70
else if Risk_Mode == "High Risk"
    sto_buy := 50
    sto_sell := 50

periodK = input.int(15, title="%K Length", minval=1, group = "Stochastic Setting", inline = "Sto0")
smoothK = input.int(3, title="%K Smoothing", minval=1, group = "Stochastic Setting", inline = "Sto0")
periodD = input.int(3, title="%D Smoothing", minval=1, group = "Stochastic Setting", inline = "Sto0")

SMA_Mode = input.bool(defval = true, title = "SMA High and Low Filter Mode", group = "SMA Filter Mode", tooltip = "Sell Signal With Open >= SMA High\nBuy Signal With Close <= SMA Low")
SMA_High = input.int(defval = 50, title = "SMA High", group = "SMA Filter Mode", inline = "SMA1")
SMA_Low = input.int(defval = 50, title = "SMA Low", group = "SMA Filter Mode", inline = "SMA1")

k = ta.sma(ta.stoch(close, high, low, periodK), smoothK)
d = ta.sma(k, periodD)
high_line = ta.sma(high, SMA_High)
low_line = ta.sma(low, SMA_Low)
plot(SMA_Mode ? high_line : na, "H-Line", color = color.yellow, linewidth = 2)
plot(SMA_Mode ? low_line : na, "L-Line", color = color.blue, linewidth = 2)

entrybuyprice = strategy.position_avg_price

var bool longcondition = na
var bool shortcondition = na

if SMA_Mode == true
    longcondition := ta.crossover(k,d) and d <= sto_buy and close < low_line and open < low_line// or ta.crossover(k, 20)// and close <= low_line
    shortcondition := ta.crossunder(k,d) and d >= sto_sell and close > high_line and open > high_line// or ta.crossunder(k, 80)// and close >= high_line
else
    longcondition := ta.crossover(k,d) and d <= sto_buy
    shortcondition := ta.crossunder(k,d) and d >= sto_sell
//longcondition_double = ta.crossover(d,20) and close < low_line// and strategy.position_size > 0
//shortcondition_double = ta.crossunder(d,80) and close > high_line// and strategy.position_size < 0

//=============== TAKE PROFIT and STOP LOSS by % =================

tpsl(percent) =>
    strategy.position_avg_price * percent / 100 / syminfo.mintick
GR4 = "=====🆘🆘🆘 TAKE PROFIT & STOP LOSS BY [%] 🆘🆘🆘====="
mode= input.bool(title="🆘 Take Profit & Stop Loss By Percent (%)", defval=true, group=GR4, tooltip = "Take Profit & Stop Loss by % Change\n0 = Disable")
tp_l = tpsl(input.float(0, title='🆘 TP [LONG] % >> [Oneway Only]', group=GR4, tooltip = "0 = Disable"))
tp_s = tpsl(input.float(0, title='🆘 TP [SHORT] % >> [Oneway Only]', group=GR4, tooltip = "0 = Disable"))
sl = tpsl(input.float(0, title='🆘 Stop Loss %', group=GR4, tooltip = "0 = Disable"))
tp_pnl = input.float(defval = 1, title = "🆘 TP by PNL $ eg. (0.1 = 0.1$)", group = GR4)
spread_size = input.float(defval = 0.350, title = "🆘 Spread Point Size(Eg. 35 Point or 350 Point From Your Broker Digits)", tooltip = "Spread Point Form Your Broker \nEg. 1920.124 - 1920.135 or 1920.12 - 1920.13\nPlease Check From Your Broker", group = GR4)

GR5 = "===💮💮💮 Hedge Mode 💮💮💮==="
//hedge_mode = input.bool(defval = true, title = "⚖️ Hedge Mode", group = GR5)
hedge_point = input.int(defval = 500, title = "💯 Hedge Point Range", group = GR5, tooltip = "After Entry Last Position And Current Price More Than Point Range Are Open New Hedge Position")
hedge_gale = input.float(defval = 2.0, title = "✳️ Martingale For Hedge Multiply [default = 2]", tooltip = "Martingale For Multiply Hedge Order", group = GR5)
hedge_point_size = hedge_point/100

calcStopLossPrice(OffsetPts) =>
    if strategy.position_size > 0
        strategy.position_avg_price - OffsetPts * syminfo.mintick
    else if strategy.position_size < 0
        strategy.position_avg_price + OffsetPts * syminfo.mintick
    else
        na

calcStopLossL_AlertPrice(OffsetPts) =>
    strategy.position_avg_price - OffsetPts * syminfo.mintick
calcStopLossS_AlertPrice(OffsetPts) =>
    strategy.position_avg_price + OffsetPts * syminfo.mintick

calcTakeProfitPrice(OffsetPts) =>
    if strategy.position_size > 0
        strategy.position_avg_price + OffsetPts * syminfo.mintick
    else if strategy.position_size < 0
        strategy.position_avg_price - OffsetPts * syminfo.mintick
    else
        na

calcTakeProfitL_AlertPrice(OffsetPts) =>
    strategy.position_avg_price + OffsetPts * syminfo.mintick
calcTakeProfitS_AlertPrice(OffsetPts) =>
    strategy.position_avg_price - OffsetPts * syminfo.mintick

var stoploss = 0.
var stoploss_l = 0.
var stoploss_s = 0.
var takeprofit = 0.
var takeprofit_l = 0.
var takeprofit_s = 0.
var takeprofit_ll = 0.
var takeprofit_ss = 0.

if mode == true
    if (strategy.position_size > 0)
        if sl > 0
            stoploss := calcStopLossPrice(sl)
            stoploss_l := stoploss
        else if sl <= 0
            stoploss := na
        if tp_l > 0
            takeprofit := tp_l
            takeprofit_ll := close + ((close/100)*tp_l)
            //takeprofit_s := na
        else if tp_l <= 0
            takeprofit := na
    if (strategy.position_size < 0)
        if sl > 0
            stoploss := calcStopLossPrice(sl)
            stoploss_s := stoploss
        else if sl <= 0
            stoploss := na
        if tp_s > 0
            takeprofit := tp_s
            takeprofit_ss := close - ((close/100)*tp_s)
            //takeprofit_l := na
        else if tp_s <= 0
            takeprofit := na
    else if strategy.position_size == 0
        stoploss := na
        takeprofit := na
        //takeprofit_l := calcTakeProfitL_AlertPrice(tp_l)
        //takeprofit_s := calcTakeProfitS_AlertPrice(tp_s)
        //stoploss_l := calcStopLossL_AlertPrice(sl)
        //stoploss_s := calcStopLossS_AlertPrice(sl)

//////////// INPUT BACKTEST RANGE ////////////////////////////////////////////////////
var string BTR1         = '════════⌚⌚ INPUT BACKTEST TIME RANGE ⌚⌚════════'
i_startTime             = input(defval = timestamp("01 Jan 1945 00:00 +0000"), title = "Start", inline="timestart", group=BTR1, tooltip = 'Start Backtest YYYY/MM/DD')
i_endTime               = input(defval = timestamp("01 Jan 2074 23:59 +0000"), title = "End", inline="timeend", group=BTR1, tooltip = 'End Backtest YYYY/MM/DD')
//////////////// Strategy Alert For X4815162342 BOT //////////////////////
Text_Alert_Future = '{{strategy.order.alert_message}}'
copy_Fu = input( defval= Text_Alert_Future ,    title="Alert Message for BOT", inline = '00'  ,group = '═ Bot Setting ═ \n >> If You Dont Use Bot Just Pass It' ,tooltip = 'Alert For X48-BOT > Copy and Paste To Alert Function')
TimeFrame_input = input(defval= 'Input Your TimeFrame [1m, 15m, 1h, 4h, 1d ,1w]' ,    title="TimeFrame Text Alert", inline = '00'  ,group = '═ Bot Setting ═ \n >> If You Dont Use Bot Just Pass It')
string Alert_EntryL = '🪙 Asset : {{ticker}} \n💱 Status : {{strategy.market_position}}\n🕛 TimeFrame : '+str.tostring(TimeFrame_input)+'\n💸 Price : {{strategy.order.price}} $\n✅ TP : '+str.tostring(takeprofit_ll)+' $\n❌ SL : '+str.tostring(stoploss_l)+' $\n⏰ Time : {{timenow}}'
string Alert_EntryS = '🪙 Asset : {{ticker}} \n💱 Status : {{strategy.market_position}}\n🕛 TimeFrame : '+str.tostring(TimeFrame_input)+'\n💸 Price : {{strategy.order.price}} $\n✅ TP : '+str.tostring(takeprofit_ss)+' $\n❌ SL : '+str.tostring(stoploss_s)+' $\n⏰ Time : {{timenow}}'
string Alert_TPSL = '🪙 Asset : {{ticker}}\n🕛 TimeFrame : '+str.tostring(TimeFrame_input)+'\n💹 {{strategy.order.comment}}\n💸 Price : {{strategy.order.price}} $\n⏰ Time : {{timenow}}'

if true
    if longcondition
        strategy.entry("Long", strategy.long, comment = "🌙", alert_message = Alert_EntryL)
    //if longcondition_double
    //    //strategy.cancel_all()
    //    strategy.entry("Long2", strategy.long, comment = "🌙🌙")
    //    //strategy.exit("Exit",'Long', qty_percent = 100 , profit = takeprofit, stop = stoploss, comment_profit = "TP💚L", comment_loss = "SL💚L")
    if shortcondition
        strategy.entry("Short", strategy.short, comment = "👻", alert_message = Alert_EntryS)
        //strategy.exit("Exit",'Short', qty_percent = 100, profit = takeprofit, stop = stoploss, comment_profit = "TP❤️️S", comment_loss = "SL❤️️S")
    //if shortcondition_double
    //    //strategy.cancel_all()
    //    strategy.entry("Short2", strategy.short, comment = "👻👻")

if strategy.position_size > 0 and strategy.opentrades >= 1 and hedge_mode == true
    entrypricel = strategy.opentrades.entry_price(strategy.opentrades - 1)
    callpointsize =  entrypricel - close
    lastsize = strategy.position_size
    if callpointsize >= hedge_point_size and longcondition
        strategy.order("Long2", strategy.long, qty = lastsize * hedge_gale, comment = "🌙⌛", alert_message = Alert_EntryL)

else if strategy.position_size < 0 and strategy.opentrades >= 1 and hedge_mode == true
    entryprices = strategy.opentrades.entry_price(strategy.opentrades - 1)
    callpointsize = (entryprices - close)* -1
    lastsize = (strategy.position_size) * -1
    if callpointsize >= hedge_point_size and shortcondition
        strategy.order("Short2", strategy.short, qty = lastsize * hedge_gale, comment = "👻⌛", alert_message = Alert_EntryS)

last_price_l = (strategy.opentrades.entry_price(strategy.opentrades - 1) + (strategy.opentrades.entry_price(strategy.opentrades - 1)/100) * takeprofit) + spread_size
last_price_s = (strategy.opentrades.entry_price(strategy.opentrades - 1) - (strategy.opentrades.entry_price(strategy.opentrades - 1)/100) * takeprofit) - spread_size 
current_price = request.security(syminfo.tickerid, "1", close)
current_pricel = request.security(syminfo.tickerid, "1", close) + spread_size
current_prices = request.security(syminfo.tickerid, "1", close) - spread_size
//if mode == true
if strategy.position_size > 0 and strategy.openprofit >= tp_pnl and mode == true and hedge_mode == true
    lastsize = strategy.position_size
    lastprofitorder = strategy.openprofit
    //if lastprofitorder >= 0.07
    //strategy.close('Long', qty = lastsize, comment = "TP💚L", alert_message = Alert_TPSL, immediately = true)
    strategy.cancel_all()
    strategy.close_all(comment = "TP💚PNL", alert_message = Alert_TPSL, immediately = true)
    //strategy.close_all(comment = "TP💚LH", alert_message = Alert_TPSL)
    //strategy.exit("Exit",'Long2', qty_percent = 100, profit = last_price_l, stop = stoploss, comment_profit = "TP💚LH", comment_loss = "SL💚LH", alert_message = Alert_TPSL)
    //strategy.exit("Exit",'Long', qty_percent = 100, profit = last_price_l, stop = stoploss, comment_profit = "TP💚L", comment_loss = "SL💚L", alert_message = Alert_TPSL)
else if strategy.position_size > 0 and strategy.openprofit < tp_pnl and mode == true and hedge_mode == true
    strategy.exit("Exit",'Long', qty_percent = 100, stop = stoploss, comment_loss = "SL💚%L", alert_message = Alert_TPSL)

if strategy.position_size > 0 and mode == true and hedge_mode == false
    //strategy.close_all(comment = "TP💚LH", alert_message = Alert_TPSL, immediately = true)
    strategy.exit("Exit",'Long', qty_percent = 100, profit = takeprofit, stop = stoploss, comment_profit = "TP💚%L", comment_loss = "SL💚%L", alert_message = Alert_TPSL)
    //strategy.exit("Exit",'Long', qty_percent = 100, profit = takeprofit, stop = stoploss, comment_profit = "TP💚LL", comment_loss = "SL💚L", alert_message = Alert_TPSL)

//else if strategy.position_size > 0 and strategy.opentrades > 1
//    lastsize = strategy.position_size
//    lastprofitorder = strategy.openprofit
//    if lastprofitorder >= 0.07
//        strategy.close_all(comment = "TP💚LL", alert_message = Alert_TPSL)
if strategy.position_size < 0 and strategy.openprofit >= tp_pnl and mode == true and hedge_mode == true
    lastsize = (strategy.position_size) * -1
    lastprofitorder = strategy.openprofit
    //if lastprofitorder >= 0.07
    //strategy.close('Short', qty = lastsize, comment = "TP❤️️S", alert_message = Alert_TPSL, immediately = true)
    strategy.cancel_all()
    strategy.close_all(comment = "TP❤️️PNL", alert_message = Alert_TPSL, immediately = true)
    //strategy.close_all(comment = "TP❤️️SH", alert_message = Alert_TPSL)
    //strategy.exit("Exit",'Short2', qty_percent = 100, profit = last_price_s, stop = stoploss, comment_profit = "TP❤️️SH", comment_loss = "SL❤️️SH", alert_message = Alert_TPSL)
    //strategy.exit("Exit",'Short', qty_percent = 100, profit = last_price_s, stop = stoploss, comment_profit = "TP❤️️S", comment_loss = "SL❤️️S", alert_message = Alert_TPSL)
else if strategy.position_size < 0 and strategy.openprofit < tp_pnl and mode == true and hedge_mode == true
    strategy.exit("Exit",'Short', qty_percent = 100, stop = stoploss, comment_loss = "SL❤️️%S", alert_message = Alert_TPSL)
if strategy.position_size < 0 and mode == true and hedge_mode == false
    //strategy.close_all(comment = "TP❤️️SH", alert_message = Alert_TPSL, immediately = true)
    strategy.exit("Exit",'Short', qty_percent = 100, profit = takeprofit, stop = stoploss, comment_profit = "TP❤️️%S", comment_loss = "SL❤️️%S", alert_message = Alert_TPSL)
    //strategy.exit("Exit",'Short', qty_percent = 100, profit = takeprofit, stop = stoploss, comment_profit = "TP❤️️S", comment_loss = "SL❤️️S", alert_message = Alert_TPSL)

//else if strategy.position_size < 0 and strategy.opentrades > 1
//    lastsize = (strategy.position_size) * -1
//    lastprofitorder = strategy.openprofit
//    if lastprofitorder >= 0.07
//        strategy.close_all(comment = "TP❤️️SS", alert_message = Alert_TPSL)

//===================== เรียกใช้  library =========================
import X4815162342/X48_LibaryStrategyStatus/2 as fuLi 
//แสดงผล Backtest

show_Net = input.bool(true,'Monitor Profit&Loss', inline = 'Lnet', group = '= PNL MONITOR SETTING =')
position_ = input.string('bottom_center','Position', options = ['top_right','middle_right','bottom_right','top_center','middle_center','bottom_center','middle_left','bottom_left'] , inline = 'Lnet')
size_i = input.string('auto','size', options = ['auto','tiny','small','normal'] , inline = 'Lnet') 
color_Net = input.color(color.blue,"" , inline = 'Lnet')
// fuLi.NetProfit_Show(show_Net , position_ , size_i,  color_Net )