revx-trading について
revx-tradingは、`revx`コマンドラインからRevolut Xの注文を発注、置換、キャンセルするスキルです。成行、指値、条件付き、利確・損切り注文に対応し、資金が動く操作には利用者の確認が必要です。
主な機能
- 01成行注文と指値注文の発注
- 02条件付きストップ注文の作成
- 03利確と損切りのトリガー設定
- 04未決済注文の変更
- 05未決済注文のキャンセル
活用シーン
- 01成行または指値取引の発注
- 02価格条件付き注文の設定
- 03ポジションの決済トリガー設定
- 04既存注文の変更またはキャンセル
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ revolut-engineering/ revolut-x-api --skill revx-tradingインストール後、Claude Code で/revx-tradingを入力して読み込まれたか確認します。
詳細
取引(revx order place / revx order replace / revx order cancel)
成行注文、指値注文、条件付き注文(ストップ注文)、利確/損切り注文の発注、未約定注文の置き換え(変更)、キャンセルを行います。
認証が必要です。 これらのコマンドを実行する前に、
revxがインストールされ、設定されていることを確認してください。コマンドで認証関連のエラー(Auth not configured、No private key found、Authentication failed (401)、Invalid signature、insecure permissions、または~/.config/revolut-x/にキーや設定ファイルがないなど)が発生した場合は、直ちにrevx-authスキルを実行し、自分で問題を解決してください。 セットアップを実行するようユーザーに頼んで作業を中断してはいけません。ユーザー自身にしかできない手順(API キーの貼り付け、Revolut X プロフィールへの公開鍵の登録)のみ、ユーザーに依頼してください。修正後、元のコマンドを再試行してください。
シンボルは、ハイフンで区切った BASE-QUOTE 形式を使用します。例:BTC-USD、ETH-EUR、SOL-USD。revx market pairs でペアの制約を確認してください(revx-market スキルを参照)。
order place と order replace は、機械可読な出力を得るために --json または --output json をサポートしています。
Claude の動作指示
ユーザーの確認が必須
明示的なユーザー確認なしに、revx order place、revx order replace、revx order cancel を絶対に実行しないでください。 これらのコマンドは実際のお金を動かします。
注文コマンドを実行する前に、次のような確認用の要約をユーザーに提示してください。
発注する注文:
- ペア:BTC-USD
- 売買:買い
- 種類:指値 @ $95,000
- 数量:0.001 BTC
続行してもよろしいですか?
条件付き注文や利確/損切り注文の場合は、要約にトリガーの詳細を含めてください。
発注する注文:
- ペア:BTC-USD
- 売買:売り
- 種類:条件付き — $100,000 でトリガーし、その後 0.001 BTC を成行で売却
続行してもよろしいですか?
ユーザーが明示的に承認した後にのみ実行してください(例:「はい」「進めて」「実行して」)。
revx order cancel --all の場合は、すべての未約定注文がキャンセルされることをユーザーに警告し、確認を得てください。
パラメーターが不足している場合 — 必ず確認し、推測しない
必須パラメーターはすべてユーザーから取得してください。不足しているものがあれば、コマンドを組み立てる前に確認してください。
すべての注文で必須:
- シンボル — どのペアですか?(例:
BTC-USD) - 売買 — 買いですか、売りですか?
- 数量 — どのくらいですか?(基軸通貨の数量には
--qty、決済通貨の金額には--quoteを使用します。利確/損切り注文では--qtyのみ使用できます) - 注文種別 — 成行(
--market)、指値(--limit <price>)、条件付き(--conditional)、または利確/損切り(--tp/--sl)のどれですか?
注文種別ごとの追加要件:
- 条件付き注文には、トリガー価格も必要です。任意でトリガー指値価格も指定できます。
- 利確/損切り注文には、
--tp <price>/--sl <price>の少なくとも一方が必要です。トリガー方向は売買に基づいて自動的に決まるため、指定しないでください。
これらのパラメーターのデフォルト値を決して推測しないでください。 ユーザーが「BTC を少し買って」と言った場合は、次の点を確認してください。
- どのくらいですか?(BTC の数量、またはドル建ての金額)
- 成行注文ですか、それとも指値注文ですか?(指値の場合はいくらですか?)
任意のフラグ(--post-only)は、ユーザーから希望がない限り省略できます。
注文の発注
# Market order (buy 0.001 BTC at best price)
revx order place BTC-USD buy --qty 0.001 --market
# Limit order (buy 0.001 BTC at $95,000 or better)
revx order place BTC-USD buy --qty 0.001 --limit 95000
# Post-only limit (maker only, cancelled if would take)
revx order place BTC-USD buy --qty 0.001 --limit 95000 --post-only
# Limit order with time in force (immediate-or-cancel)
revx order place BTC-USD buy --qty 0.001 --limit 95000 --time-in-force ioc
# Quote-sized order (buy $500 worth of BTC at market)
revx order place BTC-USD buy --quote 500 --market
引数: <symbol> <side>
symbol:BASE-QUOTE形式(例:BTC-USD、ETH-EUR)side:buyまたはsell(大文字と小文字は区別されません)
フラグ:
| フラグ | 説明 |
|---|---|
--qty <amount> | 基軸通貨での数量(例:BTC の場合は 0.001) |
--quote <amount> | クオート通貨での数量(例:USD の場合は 500) |
--market | 成行注文(別の注文タイプを選択しない場合は必須) |
--limit <price> | 指値(別の注文タイプを選択しない場合は必須) |
--time-in-force <value> | gtc(デフォルト)または ioc。指値注文のみ対象です。発注時に fok は指定できません。 |
--post-only | ポストオンリーでの執行(指値注文のみ) |
--client-order-id <uuid> | 注文に指定する独自の ID。再試行で二重発注されるのを防ぎます(省略時は生成されます) |
--qty または --quote のいずれかを指定する必要があります(両方は指定できません)。
結果の読み方: 取引所は注文の状態を返し、終了コードはその状態に従います。--json を指定すると、応答があった注文について、取引所のドキュメントが同じ終了コードで出力され、失敗理由は stderr に出力されます。取引所が要求を即座に拒否した場合は、エラーのみが stderr に出力されます。新しい注文は数秒間一覧に表示されないため、revx order get または revx order fills を実行する前に少し待ってください。
| 状態 | 意味 | 終了コード |
|---|---|---|
pending_new、new、partially_filled、filled | 発注済み | 0 |
cancelled、成行注文または IOC 注文 | 直ちにクローズされました。約定内容は revx order fills <id> で確認できます | 0 |
cancelled、その他の注文 | 取引所によって直ちにキャンセルされました。一部約定している可能性があるため、再発注する前に revx order get <id> を確認してください | 1 |
rejected | 発注されませんでした。--post-only を指定した場合は、通常、価格が即座に約定する状態だったことが原因です | 1 |
| その他の状態 | 送信済みです。revx order get <id> で確認してください | 0 |
応答が失われた場合: すべての注文はクライアント注文 ID 付きで送信されます。--client-order-id を指定しない場合は生成されます。注文が取引所に到達した可能性がある後に接続が切れた場合、または取引所がサーバーエラーを返した場合、コマンドは 1 で終了し、注文が発注された可能性があることを示すメッセージとクライアント注文 ID を stderr に出力します。--json を指定した場合も stdout は空のままです。そのため、スクリプトでは独自の --client-order-id(UUID)を指定してください。ほかの操作を行う前に、revx order open --json でその ID を検索するか、約定後に revx order history --json で検索してください。成行注文が表示されるまで数分かかることがあります。再試行するには、同じコマンドを --client-order-id <that ID> を付けて実行します。最初の注文が通っていた場合、取引所はすでに発注済みとして再試行を拒否し、CLI はその ID の注文がすでに存在し、2件目は発注されなかったことを示します。ID を付けずに再試行しないでください。2件目の注文が発注される可能性があります。接続拒否や DNS 障害など、送信前に接続が失敗した場合は、その旨が示され、注文は発注されません。注文の置き換えについては、revx order get <original id> で状況を確認できます。元の注文がまだオープンであれば、置き換えは行われていません。
価格刻み: --limit または --price の値は、ペアの価格刻み(revx market pairs で確認できます)の倍数でなければなりません。そうでない場合、CLI は送信前に拒否し、最も近い有効な価格を示します。--qty、--quote、--limit、--price には、最大 18 桁の小数位までの正の数を指定してください。
条件付き(ストップ)注文
市場価格がトリガー価格を超えるまで待機し、その後、成行注文(デフォルト)または指値注文(--trigger-limit-price を指定した場合)を発注します。1 回のコマンドで指定できる注文タイプは 1 つだけです。
# Stop-market: sell 0.001 BTC when the $100,000 trigger fires
revx order place BTC-USD sell --qty 0.001 --conditional --trigger-price 100000
# Stop-limit: buy 0.001 BTC when the $90,000 trigger fires, then place a limit buy at $89,900
revx order place BTC-USD buy --qty 0.001 --conditional --trigger-price 90000 --trigger-limit-price 89900
# Quote-sized conditional (buy $500 worth of BTC at the $95,000 trigger)
revx order place BTC-USD buy --quote 500 --conditional --trigger-price 95000
フラグ:
| フラグ | 説明 |
|---|---|
--conditional | 条件付き(ストップ)注文タイプ |
--trigger-price <price> | 注文を有効にする価格(必須) |
--trigger-limit-price <price> | トリガー発動時に発注する注文の指値。省略すると成行で執行 |
--qty <amount> / --quote <amount> | 注文数量 — いずれか 1 つが必須 |
動作:
--time-in-forceと--post-onlyは指値注文用のフラグのため、条件付き注文では拒否されます。- トリガー発動後、成行注文のレッグは即時に執行され(ioc)、指値注文のレッグは gtc の指値注文として待機します。
- 注文は、トリガーが発動するかキャンセルされるまで、タイプ
conditional、条件Trig ≥/≤ <price>としてrevx order openに表示されます。 - 通常どおり
revx order cancel <order-id>でキャンセルします。
利益確定/損切り注文
市場価格が利益確定および/または損切りのトリガーに達したときにポジションを決済する、待機注文を発注します。--tp/--sl の少なくとも 1 つが必須です。両方を組み合わせることもできます。トリガーの方向は売買方向から自動的に決まるため、指定しないでください。
- 売りの TP/SL(ロングポジションの決済):価格が
--tp以上に上昇すると利益確定が発動し、価格が--sl以下に下落すると損切りが発動します。 - 買いの TP/SL(ショートポジションの決済):価格が
--tp以下に下落すると利益確定が発動し、価格が--sl以上に上昇すると損切りが発動します。
# Sell 0.001 BTC: take profit at $110,000, stop loss at $90,000 (both market on trigger)
revx order place BTC-USD sell --qty 0.001 --tp 110000 --sl 90000
# Take profit only, with a limit price for the triggered leg
revx order place BTC-USD sell --qty 0.001 --tp 110000 --tp-limit 109900
# Stop loss only
revx order place BTC-USD sell --qty 0.001 --sl 90000
# Both legs with limit prices
revx order place BTC-USD sell --qty 0.001 --tp 110000 --tp-limit 109900 --sl 90000 --sl-limit 89900
フラグ:
| フラグ | 説明 |
|---|---|
--tp <price> | 利益確定のトリガー価格(--tp/--sl の少なくとも 1 つが必須) |
--sl <price> | 損切りのトリガー価格 |
--tp-limit <price> | 利益確定レッグの指値。省略するとトリガー発動時に成行注文 |
--sl-limit <price> | 損切りレッグの指値。省略するとトリガー発動時に成行注文 |
--qty <amount> | 基準通貨建ての数量 — 必須。TP/SL 注文では --quote は使用できません |
動作:
- TP/SL 注文では
--time-in-forceと--post-onlyは拒否されます。 - 注文はタイプ
tpslとしてrevx order openに表示され、Conditions 列にはTP <price>/SL <price>と表示されます。 - 両方のレッグを設定した場合、先に発動したトリガーが優先され、もう一方は破棄されます。
- 通常どおり
revx order cancel <order-id>でキャンセルします。
注文を置換(変更)する
既存の未決済注文をその場で更新します。キャンセルと同じURLですが、PUTを使用します。指値注文、条件付き注文(ストップ)、テイクプロフィット/ストップロス注文に対応しています。
# Change limit price
revx order replace <order-id> --price 96000
# Change quantity (amount is recalculated server-side)
revx order replace <order-id> --qty 0.002
# Change quote amount (qty is recalculated server-side)
revx order replace <order-id> --quote 150
# Explicitly allow taker execution (must be set explicitly)
revx order replace <order-id> --allow-taker
# Switch to post-only
revx order replace <order-id> --post-only
# Change time in force
revx order replace <order-id> --time-in-force ioc
# Combine — re-price and re-size
revx order replace <order-id> --price 96000 --qty 0.002
# Replace a conditional (stop) trigger — the whole trigger is replaced
revx order replace <order-id> --trigger-price 100000 --trigger-limit-price 99500
# Change only the trigger limit price → re-pass the whole trigger
revx order replace <order-id> --trigger-price 100000 --trigger-limit-price 99000
# Replace take-profit/stop-loss triggers, or re-size the order only
revx order replace <order-id> --tp 115000 --tp-limit 114900 --sl 90000
revx order replace <order-id> --qty 0.002
# Remove a trigger leg — pass `none` explicitly
revx order replace <order-id> --sl none
動作:
- 指定したフィールドのみが変更され、それ以外はそのままです。
--priceのみを変更すると、buyでは見積通貨の金額が維持され(数量が変わります)、sellでは数量が維持されます。buyの数量を維持するには、--qty <current qty>も指定してください。数量を変更すると金額が再計算され、その逆も同様です。--allow-takerは明示的に設定する必要があります。推測によって設定されることはありません。- 置換が拒否されると、注文は残りません。 取引所は先に元の注文をキャンセルするため、置換注文が
rejectedで返された場合、または--time-in-force iocなしの置換注文がcancelledで返された場合、どちらの注文も未決済状態にならず、コマンドは1を終了コードとして返します。 - トリガーは全体を置き換えます。 トリガー内の単一フィールド(例:指値価格のみ)を変更するには、トリガー全体を再度指定してください。指値価格を省略すると、トリガー発動時にその部分は成行執行に切り替わります。
- トリガーを削除するには、
noneを明示的に指定します —--tp none、--sl none、または--trigger-price noneを指定してください。フラグを省略すると、トリガーは変更されません。 --price/--time-in-force/--post-only/--allow-takerは指値注文に、--trigger-priceは条件付き注文に、--tp/--slはテイクプロフィット/ストップロス注文に適用されます。これらのグループは組み合わせられません。- 注文IDは変更されます。 置換後、元の注文はクローズされ、新しい
venue_order_idを持つ新しい注文が作成されます(レスポンスで返されます)。元のIDは新しい注文のprevious_order_idとして保持されます。それ以降のキャンセル/置換/取得操作には新しいIDを使用してください。古いIDは無効になります。
フラグ:
| フラグ | 説明 |
|---|---|
--price <price> | 新しい指値価格 |
--qty <amount> | 新しい基軸通貨の数量 |
--quote <amount> | 新しい見積通貨の数量 |
--client-order-id <uuid> | 置換注文に使用する独自のUUID(省略時は生成されます) |
--time-in-force <value> | gtcまたはioc。置換時にfokは指定できません。 |
--post-only | 執行方法を[post_only]に設定します |
--allow-taker | 執行方法を明示的に[allow_taker]に設定します |
--trigger-price <price> | 新しい条件付きトリガー価格(noneでトリガーを削除) |
--trigger-limit-price <price> | 条件付きトリガーの指値価格(--trigger-priceと併用する場合のみ) |
--tp <price> | 新しいテイクプロフィットのトリガー価格(noneでこのレッグを削除) |
--tp-limit <price> | テイクプロフィットトリガーの指値価格(--tpと併用する場合のみ) |
--sl <price> | 新しいストップロスのトリガー価格(noneでこのレッグを削除) |
--sl-limit <price> | ストップロストリガーの指値価格(--slと併用する場合のみ) |
--price、--qty、--quote、--time-in-force、--post-only、--allow-taker、--trigger-price、--tp、--slのいずれか1つ以上が必要です。
手数料
Revolut Xは受け取る資産から手数料を差し引くため、注文の売買方向によって通貨が決まります。
| 注文 | 支払うもの | 受け取るもの | 手数料が差し引かれる通貨 | 影響 |
|---|---|---|---|---|
| Buy | 見積通貨(例:USD) | 基軸通貨(例:BTC) | 基軸通貨 | 購入した数量分を支払い(見積通貨建ての注文では全額)、受け取るコインはわずかに少なくなります。 |
| Sell | 基軸通貨 | 見積通貨 | 見積通貨 | コインはすべて差し引かれ、受け取る見積通貨はわずかに少なくなります。 |
- 手数料率: 板に置かれる注文のメイカー手数料は0%、即時に約定する注文(成行注文および市場価格を超える価格の指値注文)のテイカー手数料は0.09%です。手数料は通貨の最小単位に切り上げられます。
- 実例(買い、2026年10月7日): BTCを10 USDC分成行買いしたところ、0.00011904 BTCが約定しました。手数料は0.00000011 BTCだったため、0.00011893 BTCが受け取られ、10 USDC全額が使用されました。
- 実例(売り): 9.957938 USDC相当のBTCを売却したところ、手数料として0.008963 USDCが差し引かれ、9.948975 USDCを受け取りました。
- 確認方法: 約定した注文には
total_feeとfee_currencyが記録されます(revx order get <id> --json)。手数料率は変更されることがあるため、推定するのではなく、これらの値を使用してください。
注文をキャンセルする
revx order cancel <order-id> # Cancel a single order (market, limit, conditional, tpsl)
revx order cancel --all # Cancel all open orders
revx order cancel <order-id> --json # {"cancelled": "<order-id>"}, or {"cancelled": "all"} with --all
エラーリファレンス
| エラー | 原因 | 修正方法 |
|---|---|---|
| 注文パラメーターが無効です、または注文置換パラメーターが無効です | CLI の内部チェックで送信前に不正な値が検出されました。以下の行に各フィールドの詳細が記載されています | 該当するフィールドを修正します。たとえば、シンボルの形式を BTC-USD にします |
| 取引所からのメッセージを伴う不正なリクエスト(400) | 取引所が注文を拒否しました。たとえば、ペアの上限または下限を超えるサイズが指定されています | revx market pairs でサイズと刻み幅を確認します |
| 価格刻み幅の倍数ではありません | --limit または --price が、ペアの価格刻み幅より細かく指定されています | メッセージで提案されている 2 つの価格のいずれかを使用します |
| 残高が不足しています(422) | 注文に必要な資金が足りません | revx account balances を確認します |
状態が rejected または cancelled、終了コードが 1 | 取引所が注文を拒否またはクローズしました | 数秒後に revx order get <id> を実行します |
| 見つかりません(404) | 注文 ID が無効です | revx order open で確認します(revx-account スキルを参照) |
| レート制限(429) | リクエストが多すぎます | retryAfter の期間が過ぎるまで待ちます |
関連スキル
| スキル | 目的 |
|---|---|
revx-account | 取引後に残高を確認し、注文状況や約定を表示します |
revx-market | 取引前に価格とペアの制約を確認します |
revx-auth | API キーの設定とパスキーの構成を行います |
revx-strategy | 自動グリッド取引ボット |