Strategi manajemen posisi leverage tinggi untuk mencegah panggilan margin


Tanggal Pembuatan: 2023-12-26 16:21:58 Akhirnya memodifikasi: 2023-12-26 16:21:58
menyalin: 1 Jumlah klik: 693
1
fokus pada
1621
Pengikut

Strategi manajemen posisi leverage tinggi untuk mencegah panggilan margin

Ringkasan

Strategi ini memungkinkan manajemen risiko untuk mencegah kenaikan nilai jaminan dengan menetapkan leverage tinggi dan kondisi margin tambahan, dan menutup posisi tepat waktu saat pasar berfluktuasi besar.

Prinsip Strategi

  1. Setting operasi leverage tinggi, seperti leverage 4 kali lipat
  2. Setel tambahan jaminan, seperti $ 25.000
  3. Strategi menghentikan posisi ketika ekuitas lebih rendah dari margin tambahan
  4. Strategi pelunasan semua posisi saat ekuitas terus turun yang memicu sinyal margin tambahan

Dengan pengaturan di atas, Anda dapat menghentikan kerugian tepat waktu ketika volatilitas pasar yang besar menyebabkan penurunan hak dan kepentingan yang cepat, dan mencegah risiko premi tambahan.

Analisis Keunggulan

  1. Rasio leverage yang dapat diatur secara fleksibel sesuai dengan kemampuan individu untuk mengendalikan risiko kerugian tunggal
  2. Sistem Jaminan Tambahan Mencegah Penembakan
  3. Dalam operasi leverage tinggi, stop loss tepat waktu, menghindari risiko maksimal

Analisis risiko

  1. Leverage yang tinggi meningkatkan keuntungan sekaligus meningkatkan risiko
  2. Anda perlu mengatur rasional tambahan margin untuk cocok dengan stop loss
  3. Stop loss mudah dicurangi, perlu strategi stop loss yang optimal

Risiko dapat dikurangi dengan cara menyesuaikan rasio leverage yang sesuai, mengatur tambahan margin untuk mencocokkan dengan stop loss, dan mengoptimalkan strategi stop loss.

Arah optimasi

  1. Menggunakan Indikator Tren untuk Menghindari Resesi
  2. Mengoptimalkan Stop Loss, Menghindari Stop Loss
  3. Menetapkan zona bebas transaksi untuk menghindari penambangan di periode tertentu
  4. Bergabung dengan algoritma pembelajaran mesin, parameter penyesuaian dinamis

Meringkaskan

Strategi ini memungkinkan pengelolaan risiko dengan pengaturan leverage tinggi dan tambahan jaminan, yang dapat mencegah eksposur akun. Namun, leverage tinggi juga meningkatkan risiko, yang perlu lebih lanjut untuk mengurangi risiko melalui metode seperti penilaian tren, pengoptimalan stop loss, dan kontrol waktu perdagangan. Selain itu, teknologi yang lebih kompleks seperti pembelajaran mesin dapat digunakan untuk mengoptimalkan parameter secara dinamis, untuk menemukan keseimbangan terbaik antara keuntungan dan risiko.

Kode Sumber Strategi
/*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)