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

Размещение ордера с защитой

Это руководство показывает, как проверить текущую цену, разместить рыночный ордер со стоп-лоссом и тейк-профитом, убедиться в открытии позиции и изменять защитные уровни по мере развития сделки.

Совет

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

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

1. Проверка цены перед размещением ордера

Перед отправкой ордера проверьте актуальные рыночные котировки. price возвращает текущие цены Bid (продажи) и Ask (покупки) для одного инструмента.

ctrader-cli price --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=EURUSD

Чтобы определить цену входа, стоп-лосс и целевую цену, используйте Ask при покупке или Bid при продаже.

2. Размещение рыночного ордера с защитой

order place-market исполняет ордер по следующей доступной цене. Укажите --sl и --tp в одном вызове, чтобы позиция была защищена сразу после открытия.

ctrader-cli order place-market --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --symbol=EURUSD --side=buy --volume=1000 --sl=1.1050 --tp=1.1400

CLI выводит идентификатор новой позиции. Сохраните его для следующего шага.

3. Проверка открытия и защиты позиции

positions выводит все открытые позиции. Убедитесь, что новая позиция отображается с заданными уровнями стоп-лосса и тейк-профита.

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

Если ордер еще не исполнен, orders вместо этого показывает активные отложенные ордера.

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

4. Изменение защитных уровней по мере развития сделки

После открытия позиции position modify позволяет изменить стоп-лосс или тейк-профит без изменения объема. Указывайте только тот параметр, который хотите изменить.

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

5. Закрытие позиции по завершении сделки

position close закрывает позицию целиком по следующей доступной цене.

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

Чтобы закрыть только часть объема, используйте position close-partial с параметром --volume.

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

6. Объединение шагов в единый сценарий управления ордером

Когда все шаги будут работать правильно, сохраните последовательность как manage-trade.sh и запускайте скрипт при каждом открытии новой позиции. Замените <position-id> на идентификатор, который CLI выводит на шаге 2.

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

CTID=letstrade
ACC=7654321
PWD_FILE=$HOME/.ctrader/pwd
SYMBOL=EURUSD
SIDE=buy
VOLUME=1000
SL=1.1050
TP=1.1400
POS_ID=<position-id>

ctrader-cli price --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=$SYMBOL

ctrader-cli order place-market --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --symbol=$SYMBOL --side=$SIDE --volume=$VOLUME --sl=$SL --tp=$TP

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

ctrader-cli position modify --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --position=$POS_ID --sl=1.1100 --tp=1.1450

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

Перед каждой сделкой изменяйте переменные в начале скрипта. Скрипт получает цену, открывает защищенную позицию, проверяет ее открытие, сужает защитные уровни и закрывает позицию при поступлении сигнала.

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

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

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