跳转至

日终风险检查

结束交易日之前, 需要回答三个问题: 我的净值中有多少被保证金占用? 未平仓头寸是否设置了保护? 哪些头寸的亏损超过了我能接受的范围? 本指南介绍四条命令, 帮助你回答这些问题并根据结果采取行动。

提示

先在 Shell 变量中设置一次登录凭据。以下交互式命令均复用这些变量, 因此步骤更简洁, 脚本也更容易在不同环境中使用。

export CTID=letstrade
export ACC=7654321
export PWD_FILE=$HOME/.ctrader/pwd

1. 检查已占用的保证金

account-stats 返回账户余额、净值、保证金和可用保证金。将可用保证金与净值进行比较, 以评估账户的风险敞口。

ctrader-cli account-stats --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q

如果可用保证金相对于净值偏低, 说明账户已承受较高的保证金压力, 接下来的步骤尤为重要。

2. 列出所有未平仓头寸

positions 列出全部未平仓头寸, 包括建仓价、交易量、止损、止盈和未实现盈利。将输出保存到文件, 以便逐一检查头寸。

ctrader-cli positions --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q > positions.json

注意两个风险信号: 未设置止损的头寸, 以及亏损超过你设定阈值的头寸。接下来的步骤将分别处理这两种情况。

3. 为未受保护的头寸添加止损

对于未设置止损或止损水平过于接近当前价格的头寸, 可以使用 position modify 添加或移动止损, 而不改变交易量。

ctrader-cli position modify --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --position=11223344 --sl=1.1000

只指定 --sl, 这样就不会修改止盈水平。对每个未受保护的头寸重复操作。

4. 平掉亏损超出阈值的头寸

如果某个头寸的亏损超过设定的限额, position close 会按下一可用价格将其平仓。

ctrader-cli position close --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --position=55667788

如果希望保留头寸但减少交易量, 请使用 position close-partial 并指定 --volume。

ctrader-cli position close-partial --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --position=55667788 --volume=500

5. 确认账户状况是否改善

重新运行 account-stats 和 positions, 确认已占用保证金减少, 问题头寸已经平仓。

ctrader-cli account-stats --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q
ctrader-cli positions    --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q

6. 将各步骤组合成风险检查脚本

将完整命令序列保存为 risk-check.sh。脚本会保存头寸列表, 便于检查前后变化。

#!/usr/bin/env bash
set -euo pipefail

CTID=letstrade
ACC=7654321
PWD_FILE=$HOME/.ctrader/pwd
LOSS_LIMIT=300
PROTECT_POS=(11223344 55667788)
CLOSE_POS=(55667788)

ctrader-cli account-stats --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q
ctrader-cli positions    --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q > positions.json

for POS in "${PROTECT_POS[@]}"; do
    ctrader-cli position modify --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
        --position=$POS --sl=1.1000
done

for POS in "${CLOSE_POS[@]}"; do
    ctrader-cli position close --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
        --position=$POS
done

ctrader-cli account-stats --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q
ctrader-cli positions    --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q

用第 2 步找到的头寸 ID 更新脚本开头的头寸数组。每个交易时段结束后、合上笔记本电脑之前运行脚本。

cTrader CLI 命令参考文档列出了此流程中所用命令的所有可用选项。

警告

cTrader CLI 是一款交易和自动化工具。它不提供财务、投资、法律或税务建议。下单或修改订单的命令可能触发真实交易并造成损失。运行每条命令前请先核对, 先在模拟账户中测试, 并妥善保护登录凭据。