取引終了時のリスクチェックを行う¶
取引を終える前に、3つの点を確認します。有効証拠金のうちどれだけが使用されているか、ポジションは保護されているか、許容範囲を超える損失が出ているポジションはないか。このガイドでは、これらを確認し、結果に応じて対応するための4つのコマンドを紹介します。
ヒント
認証情報をシェル変数に一度だけ設定します。以下の対話型コマンドはすべてこの変数を再利用するため、手順が簡潔になり、異なる環境でもスクリプトを使いやすくなります。
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
確認する点は2つです。損切りが設定されていないポジションと、損失が設定した上限を超えているポジションです。次の手順で、この両方に対処します。
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を使って、スクリプト冒頭のポジション配列を更新します。各取引セッションの終了後、ノートPCを閉じる前にスクリプトを実行してください。
cTrader CLIコマンドリファレンスでは、この手順で使用するコマンドのすべてのオプションを確認できます。
警告
cTrader CLIは取引と自動化のためのツールです。金融、投資、法律、税務に関する助言を提供するものではありません。注文の発注・変更を行うコマンドは実際の取引を成立させ、損失につながる可能性があります。各コマンドは実行前に確認し、まずデモ口座で試してください。また、認証情報を適切に保護してください。