コンテンツにスキップ

価格アラートのリストを作成する

価格アラートのリストを作成すると、チャートを常に監視しなくても、注目する価格水準に達した際に通知を受け取れます。このガイドでは、銘柄の選択、価格と取引時間の確認、各水準へのアラート設定を説明します。最後に、リスト全体を1回で再作成できるスクリプトを用意します。

ヒント

認証情報をシェル変数に一度だけ設定します。以下の対話型コマンドはすべてこの変数を再利用するため、手順が簡潔になり、異なる環境でもスクリプトを使いやすくなります。

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)を1回の呼び出しで返します。これにより、記憶ではなくリアルタイムの市場価格に基づいてアラート水準を決められます。

ctrader-cli prices --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --symbols=EURUSD,GBPUSD,XAUUSD

銘柄を1つだけ確認する場合は、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

銘柄ごとに、すべての対象水準でこの操作を繰り返します。 1つのアラートは、1銘柄の1つの価格水準に対応します。

注意

有効な値: 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

対話型シェルでは、同じコマンドを> alert delete all yesと入力します。

7. スクリプトでアラート一覧を再作成する

コマンド一式をprice-alert-list.shとして保存します。スクリプトは既存のアラートを削除し、配列PRICE_ALERT_LISTに定義されたすべての水準のアラートを有効にして結果を表示します。実行前の状態にかかわらず、1回の実行でスクリプト冒頭に定義したリストを再現できます。

各項目には銘柄、価格、条件、メッセージを指定し、|で区切ります。

#!/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は取引と自動化のためのツールです。金融、投資、法律、税務に関する助言を提供するものではありません。注文の発注・変更を行うコマンドは実際の取引を成立させ、損失につながる可能性があります。各コマンドは実行前に確認し、まずデモ口座で試してください。また、認証情報を適切に保護してください。