Перейти к содержанию

Проверка рисков в конце дня

Перед завершением торгового дня важно ответить на три вопроса: какая часть моих средств задействована, защищены ли открытые позиции и по каким позициям убытки превышают допустимый для меня уровень? В этом руководстве рассмотрены четыре команды, которые помогут ответить на эти вопросы, и показано, что делать с полученными результатами.

Совет

Один раз задайте учетные данные в переменных оболочки. Все приведенные ниже интерактивные команды используют эти переменные. Это упрощает шаги и позволяет переносить скрипт между средами.

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. Запускайте скрипт после каждой торговой сессии, прежде чем закрывать ноутбук.

В справочнике команд cTrader CLI перечислены все доступные параметры команд, используемых в этой процедуре.

Предупреждение

cTrader CLI — инструмент для торговли и автоматизации. Он не предоставляет финансовых, инвестиционных, юридических или налоговых консультаций. Команды размещения и изменения ордеров могут приводить к реальным сделкам и финансовым потерям. Проверяйте каждую команду перед выполнением, сначала тестируйте ее на демосчете и защищайте свои учетные данные.