مارجن کالز کو روکنے کے لیے اعلی لیوریج پوزیشن مینجمنٹ کی حکمت عملی


تخلیق کی تاریخ: 2023-12-26 16:21:58 آخر میں ترمیم کریں: 2023-12-26 16:21:58
کاپی: 1 کلکس کی تعداد: 693
1
پر توجہ دیں
1621
پیروکار

مارجن کالز کو روکنے کے لیے اعلی لیوریج پوزیشن مینجمنٹ کی حکمت عملی

جائزہ

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

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

  1. ہائی بیئرنگ آپریشن کو ترتیب دیں ، جیسے چار گنا بیئرنگ تناسب
  2. اضافی ضمانت کی حد مقرر کریں، جیسے $ 25،000
  3. جب لیول اضافی بیعانہ لائن سے کم ہو تو حکمت عملی پوزیشن کھولنے سے روکتی ہے
  4. جب حقوق میں کمی کا سلسلہ جاری رہتا ہے تو اضافی بیلنس سگنل کو متحرک کرنے کے لئے حکمت عملی کے تمام عہدوں کو ختم کرنا

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

طاقت کا تجزیہ

  1. انفرادی نقصان کے خطرے کو کنٹرول کرنے کے ل individual لچکدار لہر کا تناسب انفرادی برداشت کے مطابق
  2. اضافی گارنٹی میکانزم سے اکاؤنٹ میں اضافے سے بچنے میں مدد ملتی ہے
  3. اعلی لیور آپریشن کے تحت ، وقت پر نقصان کو روکیں ، زیادہ سے زیادہ خطرے سے بچیں

خطرے کا تجزیہ

  1. اعلی بیعانہ منافع میں اضافہ کرتا ہے اور خطرے میں اضافہ کرتا ہے
  2. معقول حد تک اضافی بیعانہ لائنوں کی ضرورت ہے جو اسٹاپ نقصان لائنوں سے مطابقت رکھتی ہیں
  3. اسٹاپ نقصان کو روکنے کی حکمت عملی کو بہتر بنانے کی ضرورت ہے

لیوریج کے تناسب کو مناسب طریقے سے ایڈجسٹ کرنے ، اضافی گارنٹی لائن کو اسٹاپ لائن سے ملانے ، اور اسٹاپ اسٹریٹجی کو بہتر بنانے جیسے طریقوں سے خطرے کو کم کیا جاسکتا ہے۔

اصلاح کی سمت

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-11-25 00:00:00
end: 2023-12-25 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/
//@version=4
//@author=Daveatt

// Breakout on 2H high/low break Strategy

SystemName = "Leverage Strategy"
TradeId = "🙏"

InitCapital             = 100000
InitPosition            = 1
UseMarginCall           = input(true, title="Use Margin Call?")
MarginValue             = input(25000, title="Margin Value", type=input.float)
// use 1 for no leverage
// use 0.1 for be underleveraged and bet 1/10th of a pip value
// use any value > 1 for full-degen mode
UseLeverage             = input(true, title="Use Leverage")
LeverageValue           = input(4, title="Leverage mult (1 for no leverage)", minval=0.1, type=input.float)
// Risk Management
UseRiskManagement       = input(true, title="Use Risk Management?")
// ticks = 1/10th of a pip value
StopLoss                = input(5, title="Stop Loss in ticks value", type=input.float)
TakeProfit              = input(500, title="Take Profit in ticks value", type=input.float)

InitCommission = 0.075
InitPyramidMax = 1
CalcOnorderFills = false
CalcOnTick = true
DefaultQtyType = strategy.cash
DefaultQtyValue = strategy.cash
Currency = currency.USD
Precision = 2
Overlay=false
MaxBarsBack=3000

strategy
 (
 title=SystemName, 
 shorttitle=SystemName, 
 overlay=Overlay 
 )

//////////////////////////// UTILITIES ///////////////////////////

f_print(_txt, _condition) =>

    var _lbl = label(na)
    label.delete(_lbl)

    if _condition
        // saving the candle where we got rekt :(
        _index = barssince(_condition)
        _lbl := label.new(bar_index - _index, highest(100), _txt, xloc.bar_index, yloc.price, size = size.normal, style=label.style_labeldown)

//////////////////////////// STRATEGY LOGIC ///////////////////////////

// Date filterigng
_Date       = input(true, title="[LABEL] DATE")
FromYear = input(2019, "From Year", minval=1900),   FromMonth = input(12, "From Month", minval=1, maxval=12),    FromDay = input(1, "From Day", minval=1, maxval=31)
ToYear = input(2019, "To Year", minval=1900),       ToMonth = input(12, "To Month", minval=1, maxval=12),        ToDay = input(9, "To Day", minval=1, maxval=31)
FromDate = timestamp(FromYear, FromMonth, FromDay, 00, 00)     
ToDate = timestamp(ToYear, ToMonth, ToDay, 23, 59)
TradeDateIsAllowed = true

// non-repainting security version
four_hours_H     = security(syminfo.tickerid, '240', high[1], lookahead=true)
four_hours_L     = security(syminfo.tickerid, '240', low[1], lookahead=true)
buy_trigger     = crossover(close, four_hours_H)
sell_trigger    = crossunder(close, four_hours_L)

// trend states
since_buy  = barssince(buy_trigger)
since_sell = barssince(sell_trigger)
buy_trend  = since_sell > since_buy
sell_trend = since_sell < since_buy 

change_trend = (buy_trend and sell_trend[1]) or (sell_trend and buy_trend[1])

// plot(four_hours_H, title="4H High",  linewidth=2, color=#3c91c2, style=plot.style_linebr, transp=0,
//  show_last=1, trackprice=true)
// plot(four_hours_L, title="4H Low",  linewidth=2, color=#3c91c2, style=plot.style_linebr, transp=0,
//  show_last=1, trackprice=true)

plot(strategy.equity, color=color.blue, linewidth=3, title="Strategy Equity")

// get the entry price
entry_price = valuewhen(buy_trigger or sell_trigger, close, 0)

// SL and TP

SL_price    = buy_trend ? entry_price - StopLoss    : entry_price + StopLoss
is_SL_hit   = buy_trend ? crossunder(low, SL_price) : crossover(high, SL_price) 

TP_price    = buy_trend ? entry_price + TakeProfit  : entry_price - TakeProfit
is_TP_hit   = buy_trend ? crossover(high, TP_price) : crossunder(low, TP_price)

//  Account Margin Management:
f_account_margin_call_cross(_amount)=>
    _return = crossunder(strategy.equity, _amount)

f_account_margin_call(_amount)=>
    _return = strategy.equity <= _amount

is_margin_call_cross    = f_account_margin_call_cross(MarginValue)
is_margin_call          = f_account_margin_call(MarginValue)

plot(strategy.equity, title='strategy.equity', transp=0, linewidth=4)
//plot(barssince(is_margin_call ), title='barssince(is_margin_call)', transp=100)

can_trade = iff(UseMarginCall, not is_margin_call, true)
trade_size  = InitPosition * (not UseLeverage ? 1 : LeverageValue)

// We can take the trade if not liquidated/margined called/rekt

buy_final   = can_trade and buy_trigger and TradeDateIsAllowed
sell_final  = can_trade and sell_trigger and TradeDateIsAllowed

close_long  = buy_trend  and 
 (UseRiskManagement and (is_SL_hit or is_TP_hit)) or sell_trigger

close_short = sell_trend and 
 (UseRiskManagement and (is_SL_hit or is_TP_hit)) or buy_trigger

strategy.entry(TradeId + ' B', long=true, qty=trade_size, when=buy_final)
strategy.entry(TradeId + ' S', long=false, qty=trade_size, when=sell_final)
strategy.close(TradeId + ' B', when=close_long)
strategy.close(TradeId + ' S', when=close_short)

// FULL DEGEN MODE ACTIVATED
// Margin called - Broker closing your account
strategy.close_all(when=is_margin_call)

if UseMarginCall and is_margin_call_cross
    f_print("☠️REKT☠️", is_margin_call_cross)