Strategi ini secara dinamik menyeimbangkan antara dana 50% dan kedudukan 50% untuk mengawal risiko. Dengan sentiasa menyesuaikan nisbah antara dana dan kedudukan, ia menguruskan risiko bagi pelabur yang tidak dapat memantau pasaran dalam masa nyata.
Memulakan modal pada 1 juta, dibahagikan sama rata kepada 50% dana dan 50% kedudukan.
Semasa tempoh dagangan, jika baki dana melebihi keuntungan / kerugian yang tidak direalisasikan sebanyak 1,05 kali pada setiap bukaan, gunakan 2,5% baki dana untuk menambah kedudukan.
Jika keuntungan/kerugian yang tidak direalisasikan melebihi baki dana sebanyak 1,05 kali, jual kedudukan separa untuk memulihkan keseimbangan.
Tutup semua kedudukan pada akhir tempoh dagangan.
Kawalan risiko yang berkesan dengan menyeimbangkan dana dan kedudukan secara dinamik, mengelakkan kerugian besar dalam keadaan pasaran yang melampau.
Mudah untuk beroperasi untuk pelabur sibuk, hanya perlu menyesuaikan nisbah dana / kedudukan.
Parameter yang boleh disesuaikan untuk memenuhi selera risiko yang berbeza.
Tidak dapat memanfaatkan turun naik jangka pendek, potensi keuntungan terhad.
Perjalanan satu sisi yang panjang boleh mengakibatkan saiz kedudukan yang tidak mencukupi.
Penyesuaian parameter yang tidak betul membawa kepada kelebihan posisi berbalik atau penggunaan modal yang rendah.
Memperkenalkan lebih banyak parameter untuk kawalan dana / kedudukan yang lebih halus.
Menggabungkan mengambil stop loss/profit untuk kedudukan yang lebih besar.
Uji parameter tempoh dagangan yang berbeza untuk meningkatkan kesesuaian.
Strategi ini mencapai kawalan risiko dengan menyeimbangkan secara dinamik antara dana dan kedudukan. Mudah dilaksanakan berbanding dengan strategi lain. Boleh ditingkatkan lagi dengan memperkenalkan parameter yang lebih boleh disesuaikan dan digabungkan dengan konsep strategi lain.
/*backtest start: 2023-12-17 00:00:00 end: 2023-12-18 19:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("00631L Trading Simulation", shorttitle="Sim", overlay=true, initial_capital = 1000000) // 设置本金 capital = 1000000 // 设置购买和出售日期范围 start_date = timestamp(2020, 11, 4) next_date = timestamp(2020, 11, 5) sell_date = timestamp(2023, 10, 24) end_date = timestamp(2023, 10, 25) // 结束日期改为2023年10月25日 // 判断是否在交易期间 in_trade_period = true // 实现的盈亏 realized_profit_loss = strategy.netprofit plot(realized_profit_loss, title="realized_profit_loss", color=color.blue) // 未实现的盈亏 open_profit_loss = strategy.position_size * open plot(open_profit_loss, title="open_profit_loss", color=color.red) // 剩余资金 remaining_funds = capital + realized_profit_loss - (strategy.position_size * strategy.position_avg_price) plot(remaining_funds, title="remaining_funds", color=color.yellow) // 總權益 total_price = remaining_funds + open_profit_loss plot(total_price, title="remaining_funds", color=color.white) // 购买逻辑:在交易期间的每个交易日买入 daily_investment 金额的产品 first_buy = time >= start_date and time <= next_date buy_condition = in_trade_period and dayofmonth != dayofmonth[1] // 出售邏輯 : 在交易期间的截止日出售所有商品。 sell_all = time >= sell_date // 在交易期間的第一日買入50%本金 if first_buy strategy.order("First", strategy.long, qty = capital/2/open) // 在每个K线的开盘时进行买入 // 加碼邏輯 : 剩余资金 > 未实现的盈亏 * 1.05 add_logic = remaining_funds > open_profit_loss * 1.05 if buy_condition strategy.order("Buy", strategy.long, when = add_logic, qty = remaining_funds * 0.025 / open) // // 減碼邏輯 : 剩余资金 > 未实现的盈亏 * 1.05 sub_logic = open_profit_loss > remaining_funds * 1.05 if buy_condition strategy.order("Sell", strategy.short, when = sub_logic, qty = open_profit_loss * 0.025/open) // strategy.order("Sell_all", strategy.short, when = sell_all, qty = strategy.position_size) // 绘制交易期间的矩形区域 bgcolor(in_trade_period ? color.green : na, transp=90)