创建价格提醒列表¶
价格提醒列表可帮助你关注指定价格水平, 无需一直盯着图表。本指南介绍如何选择交易品种、检查报价和交易时间, 并为各价格水平设置提醒。最后, 你将编写一个脚本, 一次运行即可重建整个列表。
提示
先在 Shell 变量中设置一次登录凭据。以下交互式命令均复用这些变量, 因此步骤更简洁, 脚本也更容易在不同环境中使用。
export CTID=letstrade
export ACC=7654321
export PWD_FILE=$HOME/.ctrader/pwd
1. 选择要关注的交易品种 ¶
symbols 列出账户中所有可用的交易品种。保存输出, 以便在后续步骤中使用准确的品种名称。
ctrader-cli symbols --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC > symbols.txt
请严格按照此处显示的名称输入。如果名称不匹配, 系统会返回 Unknown symbol name 错误。
2. 查看所选品种的当前价格 ¶
prices 可在一次调用中返回多个品种的当前买价(Bid)和卖价(Ask)。这样就能根据实时行情而不是凭记忆设定提醒水平。
ctrader-cli prices --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
--symbols=EURUSD,GBPUSD,XAUUSD
如果只查看一个品种, 请使用 price 和 --symbol。
ctrader-cli price --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=EURUSD
3. 确认品种的报价精度 ¶
symbol 会显示品种详情, 包括报价的小数位数。根据这一精度设置提醒价格, 确保达到你预期的水平。
ctrader-cli symbol --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=XAUUSD
4. 确认市场开放时间 ¶
sessions 列出指定品种的交易时段及对应的开盘和收盘时间。如果市场处于休市状态, 设定的价格水平要等市场重新开放后才能检查。对于金属、指数以及周末暂停交易的品种, 这一点尤其重要。
ctrader-cli sessions --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=XAUUSD
5. 为每个价格水平启用提醒 ¶
alert create 需要指定交易品种、价格和触发提醒的条件。使用 --message 添加说明, 以便提醒触发时知道其用途。在脚本中可使用 --yes 跳过确认提示。
条件可以是 above 或 below。价格提醒会将品种的买价(Bid)与设定的价格水平进行比较。
ctrader-cli alert create --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
--symbol=EURUSD --price=1.1050 --condition=above \
--message="EURUSD breaks range high" --yes
对每个品种的每个价格水平重复上述操作。每条提醒仅对应一个交易品种的一个价格水平。
注意
可用值: above、below。
6. 检查价格提醒列表并删除过时提醒 ¶
alerts 显示账户中当前所有已启用的价格提醒。每次修改后运行此命令, 确认列表符合预期设置。
ctrader-cli alerts --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q
当价格达到目标水平, 或提醒对应的交易思路已不再适用时, 可根据提醒 ID 将其删除。
ctrader-cli alert delete --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
--alert=44556677 --yes
如果希望从空列表开始, 可使用 all 删除账户中的全部价格提醒。
ctrader-cli alert delete all yes --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q
在交互式 Shell 中, 对应命令为 > alert delete all yes。
7. 通过脚本重建整个价格提醒列表 ¶
将命令序列保存为 price-alert-list.sh。脚本会删除原有提醒, 启用数组 PRICE_ALERT_LIST 中的全部价格水平, 然后显示结果。因此, 无论运行前列表处于什么状态, 一次执行就能恢复脚本开头定义的完整列表。
每个条目包含品种、价格、条件和消息, 以 | 分隔。
#!/usr/bin/env bash
set -euo pipefail
CTID=letstrade
ACC=7654321
PWD_FILE=$HOME/.ctrader/pwd
PRICE_ALERT_LIST=(
"EURUSD|1.1050|above|EURUSD breaks range high"
"EURUSD|1.0900|below|EURUSD loses range low"
"XAUUSD|2400.00|above|Gold at round number"
)
cli() {
ctrader-cli "$@" --ctid="$CTID" --pwd-file="$PWD_FILE" --account="$ACC" -q
}
# Start from a clean list so the array below is the single source of truth.
cli alert delete all yes
# Arm every level in the price-alert list.
for ENTRY in "${PRICE_ALERT_LIST[@]}"; do
IFS='|' read -r SYMBOL PRICE CONDITION MESSAGE <<< "$ENTRY"
echo "Arming $SYMBOL at $PRICE ($CONDITION)"
cli alert create --symbol="$SYMBOL" --price="$PRICE" \
--condition="$CONDITION" --message="$MESSAGE" --yes
done
# Confirm what is armed.
cli alerts
每次修改价格水平后, 都运行 bash price-alert-list.sh。由于脚本会先删除全部提醒再重建列表, 请修改数组而不是手动添加提醒。否则, 手动添加的提醒会在下次运行时被删除。
cTrader CLI 命令参考文档列出了此流程中所用命令的所有可用选项。
警告
cTrader CLI 是一款交易和自动化工具。它不提供财务、投资、法律或税务建议。下单或修改订单的命令可能触发真实交易并造成损失。运行每条命令前请先核对, 先在模拟账户中测试, 并妥善保护登录凭据。