Cette stratégie équilibre dynamiquement entre 50% de fonds et 50% de positions pour contrôler le risque.
Commencez le capital à 1 million, divisé en 50% de fonds et 50% de positions.
Au cours de la période de négociation, si les fonds restants dépassent de 1,05 fois le bénéfice/perte non réalisé à chaque ouverture, utiliser 2,5% des fonds restants pour ajouter des positions.
Si les bénéfices/pertes non réalisés dépassent de 1,05 fois les fonds restants, vendre des positions partielles pour rétablir le solde.
Fermer toutes les positions à la fin de la période de négociation.
Contrôle efficace des risques en équilibrant dynamiquement les fonds et les positions, en évitant d'énormes pertes dans des conditions de marché extrêmes.
Facile à utiliser pour les investisseurs occupés, il suffit d'ajuster les ratios fonds/position.
Paramètres personnalisables pour répondre à différents appétits de risque.
Incapable de capitaliser sur les fluctuations à court terme, potentiel de profit limité.
Une longue course unilatérale peut entraîner une taille de position insuffisante.
Un ajustement inapproprié des paramètres conduit à un renversement excessif des positions ou à une faible utilisation du capital.
Introduire plus de paramètres pour un contrôle plus précis des fonds/positions.
Pour les positions plus importantes, il convient d'inclure la prise de stop-loss/profit.
Tester différents paramètres de période de négociation pour améliorer l'adaptabilité.
Cette stratégie permet de contrôler les risques en équilibrant dynamiquement les fonds et les positions. Simple à mettre en œuvre par rapport aux autres stratégies. Peut être améliorée en introduisant des paramètres plus réglables et en les combinant avec d'autres concepts de stratégie.
/*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)