コンテンツにスキップ

プロンプトクックブック

Axiory.ai MCP Server を使い始めるためのプロンプト集です。任意のプロンプトをコピーして、ご自身のニーズに合わせて調整してください。各プロンプトの後ろには、どのツールが呼び出され、応答として何が期待できるかを記載しています。

プロンプト: “Check the health status of my trading connection”

何が起こるか:

  • check_health を呼び出します
  • システム全体のステータス(HEALTHY / DEGRADED / UNHEALTHY)を返します
  • FIX セッションの状態(LOGON_SENT、ACTIVE、DISCONNECTED など)を表示します
  • リスク制限の使用状況(ポジション数、デイリーロス)を報告します
  • アクティブなキルスイッチがあれば通知します

使用するタイミング:

  • トレード前に接続性を確認するとき
  • ネットワーク中断の後
  • リスク制限にどれだけ近づいているかを監視するとき

プロンプト: “What’s the current price of EURUSD?”

何が起こるか:

  • get_quote を symbol=“EURUSD” で呼び出します
  • ライブクォートを購読していれば、ビッド/アスクを返します
  • 購読していない場合は、最終約定価格にフォールバックします
  • クォートの経過時間(データの新しさ)を表示します

使用するタイミング:

  • 注文を出す前に現在の市場価格を確認するとき
  • スプレッド(ビッド・アスクの差)を検証するとき
  • ストップロスやテイクプロフィットの水準を判断するとき

複数のクォートを一度に取得する

Section titled “複数のクォートを一度に取得する”

プロンプト: “Get the current prices for EURUSD, GBPUSD, and XAUUSD”

何が起こるか:

  • 3 つすべての銘柄について get_quotes を呼び出します
  • 1 回の呼び出しで各銘柄のビッド/アスクを返します
  • get_quote を 3 回呼ぶよりも効率的です

使用するタイミング:

  • 複数銘柄の価格を同時にチェックするとき
  • ウォッチリストを構築するとき
  • マルチレッグ取引の前に検証するとき

プロンプト: “Buy 0.1 lots of EURUSD at market”

何が起こるか:

  1. 0.1 ロットを単位(FX の場合は 100,000 単位)に変換します
  2. place_order を orderType=“MARKET”、side=“BUY”、volume=100000 で呼び出します
  3. 8 つのリスクチェック(キルスイッチ、ポジション制限、デイリーロスなど)を実行します
  4. すべて通過すれば、注文はブローカーに送信され、市場価格で執行されます
  5. 約定価格とポジション ID を含む執行詳細を返します

応答に含まれる内容:

  • orderId(ブローカーの注文 ID)
  • filledVolume(執行された数量)
  • avgPrice(平均約定価格)
  • positionId(SL/TP 注文に必要)
  • ライブモードでは実執行、ペーパーモードではシミュレーションです

制限事項:

  • ペーパーモードまたはライブモードである必要があります(readonly では不可)
  • ポジションサイズの制限が適用されます
  • デイリーロス制限により注文がブロックされる場合があります

ストップロスとテイクプロフィットを設定する(3 ステップワークフロー)

Section titled “ストップロスとテイクプロフィットを設定する(3 ステップワークフロー)”

ステップ 1 - エントリー注文: “Buy 1 lot of XAUUSD at market”

応答:

  • 応答に含まれる positionId(例: “pos-xyz”)をメモします
  • これはご自身のポジションのハンドルです

ステップ 2 - ストップロスを発注: “Place a STOP order to sell 1 lot of XAUUSD at 2050 with positionId=pos-xyz”

または、より簡単に: “Set a stop-loss at 2050 on my XAUUSD position”

何が起こるか:

  • place_order を orderType=“STOP”、stopPrice=2050、positionId=pos-xyz で呼び出します
  • STOP 注文は価格が stopPrice の水準に到達したときにトリガーされます
  • 反対サイドは自動的に推論されます(買いポジションなら売りが SL サイド)
  • 重要: positionId がない場合、この注文は既存ポジションをクローズする代わりに新しいポジションをオープンします

ステップ 3 - テイクプロフィットを発注: “Place a LIMIT order to sell 1 lot of XAUUSD at 2150 with positionId=pos-xyz”

または、より簡単に: “Set a take-profit at 2150 on my XAUUSD position”

何が起こるか:

  • place_order を orderType=“LIMIT”、price=2150、positionId=pos-xyz で呼び出します
  • LIMIT 注文は価格が指定水準に達したときに執行されます
  • 反対サイドは自動的に推論されます

OCO(One-Cancels-Other):

  • SL または TP のいずれかが約定すると、サーバーは自動的にもう一方をキャンセルします
  • 手動でポジションをクローズした場合、両方とも自動キャンセルされます

価格ルール:

  • 買いポジション: SL の stopPrice はエントリーより、TP の price はエントリーよりである必要があります
  • 売りポジション: SL の stopPrice はエントリーより、TP の price はエントリーよりである必要があります

ポジションをクローズする(全決済)

Section titled “ポジションをクローズする(全決済)”

プロンプト: “Close my EURUSD position”

何が起こるか:

  1. ステートからポジションを取得します
  2. close_position を positionId 付きで呼び出します
  3. 反対サイドを推論します(LONG → SELL、SHORT → BUY)
  4. 成行注文をブローカーに送信します
  5. 確定損益を返します

応答に含まれる内容:

  • positionId(クローズされたポジション)
  • realizedPnL(USD ベースの損益)
  • exitPrice(決済価格)

自動的な動作:

  • このポジションに紐づく保留中の SL/TP 注文は自動キャンセルされます
  • 確定損益はトレード履歴に記録されます

プロンプト: “Close half of my GBPJPY position (I have 200,000 units, close 100,000)”

何が起こるか:

  1. close_position を positionId と volume=100,000 で呼び出します
  2. 元のポジションは 100,000 単位で残ります
  3. 半分決済された分について確定損益が記録されます

応答に含まれる内容:

  • 元のポジション ID(サイズを減らして継続中)
  • 部分決済分の確定損益
  • 残りのポジション数量

すべての建玉ポジションをクローズする

Section titled “すべての建玉ポジションをクローズする”

プロンプト: “Close all my open positions”

何が起こるか:

  • close_all_positions を銘柄フィルタなしで呼び出します
  • すべての建玉ポジションを順次処理します
  • 各ポジションに対して成行 IOC(即時執行または取消)注文を送信します
  • 各ポジションを順番にクローズします

応答に含まれる内容:

  • ポジションごとの結果(成功、失敗、確定損益)
  • すべての決済の合計確定損益

注意:

  • これは破壊的な操作であり、ポートフォリオ全体がクローズされます
  • ライブモードで呼び出す前にユーザーに確認してください

バリアント - 銘柄で絞り込みクローズ: “Close all my EURUSD positions”

  • close_all_positions を symbol=“EURUSD” で呼び出します
  • EURUSD のポジションのみをクローズし、その他には影響しません

P&L 付きで建玉ポジションを表示する

Section titled “P&L 付きで建玉ポジションを表示する”

プロンプト: “Show me all my open positions with P&L”

何が起こるか:

  1. get_positions を呼び出します(フィルタなし = 全ポジション)
  2. ブローカーから全建玉ポジションを取得します
  3. エントリー価格、現在価格、数量を含みます
  4. unrealizedPnL(USD)と unrealizedPnLRaw(クォート通貨)の両方を表示します

ポジションごとに応答に含まれる内容:

  • 銘柄、サイド(BUY/SELL)、単位数の数量
  • エントリー価格、現在価格(プライスキャッシュから)
  • unrealizedPnL(USD、クォート通貨から変換)
  • pnlCurrency(変換時は “USD”、それ以外はクォート通貨コード)
  • conversionRate(変換に使用された乗数)

重要:

  • 精度は新鮮な価格データに依存します
  • priceSource: "unavailable" が表示される場合は、先に get_quotes を呼び出してキャッシュをウォームアップしてください
  • ペーパーモードでも、実際のブローカーのポジションが表示されます(シミュレートされたポジションではありません)

バリアント - 特定銘柄を確認: “Show me my XAUUSD positions”

  • get_positions を symbol=“XAUUSD” で呼び出します
  • XAUUSD のポジションのみを返します

統計付きでトレード履歴を確認する

Section titled “統計付きでトレード履歴を確認する”

プロンプト: “Show me my recent trades with statistics”

何が起こるか:

  • get_trade_history を limit=20 と includeStats=true で呼び出します
  • 最新の決済済みトレード 20 件を返します
  • 集計統計(勝率、プロフィットファクター、ベスト/ワーストトレード)を含みます

トレードごとに応答に含まれる内容:

  • 銘柄、エントリー/エグジット価格、数量
  • realizedPnL(USD、クォート通貨から変換)
  • openedAt / closedAt(タイムスタンプ)
  • closeReason(MANUAL、STOP_LOSS、TAKE_PROFIT、CLOSE_ALL、または OCO)

統計(includeStats=true の場合):

  • winRate(0.0 = 0%、1.0 = 100%)
  • totalPnL(すべての決済済みトレードの合計)
  • profitFactor(総利益 ÷ 総損失、損失がなければ Infinity)
  • avgWin / avgLoss(平均利益/平均損失)
  • bestTrade / worstTrade(個別トレードの損益)

注意:

  • この MCP サーバー経由でクローズされたトレードのみを追跡します
  • 履歴はセッション中のみ保持されます(サーバー再起動でリセット)
  • 恒久的な記録は JSONL ジャーナルファイルにあります

デイリー P&L とリスクステータスを確認する

Section titled “デイリー P&L とリスクステータスを確認する”

プロンプト: “Check my daily P&L and risk limits”

何が起こるか:

  • check_health を呼び出して完全なステータスを取得します
  • 当日の確定損益(本日決済されたすべてのトレードの合計)を表示します
  • リスク制限の使用状況(デイリーロス制限にどれだけ近いか)を報告します
  • キルスイッチがアクティブな場合は警告します

応答に含まれる内容:

  • dailyPnL 確定損益(USD)
  • dailyPnLRaw(クォート通貨)
  • リスク使用率(例: “デイリーロス制限の 45% を使用中”)
  • アクティブな場合はキルスイッチのステータスと理由

使用するタイミング:

  • 日々のトレーディングサマリー
  • 大きなトレード前に余力を確認するとき
  • 損失後に残りのデイリーリスク予算を評価するとき

プロンプト: “Subscribe to live quotes for EURUSD, GBPUSD, and XAUUSD”

何が起こるか:

  • 銘柄リスト付きで subscribe_quotes を呼び出します
  • QUOTE セッション(TRADE セッションとは別)を開きます
  • 各銘柄のライブビッド/アスクをブローカーから受信するように購読します
  • これ以降の get_quote 呼び出しでは、古い約定価格ではなくライブデータが返されます

応答に含まれる内容:

  • 新たに購読した銘柄のリスト
  • アクティブな購読の合計数
  • すでに購読済みの銘柄(暗黙的にスキップ)

使用方法:

  • ライブ価格を有効にするため、セッションごとに 1 回呼び出します
  • レイテンシを低減し、損益精度を向上させます
  • 接続が切断・再接続された場合、クォートは自動的に再購読されます

利用可能な銘柄とロットサイズ

Section titled “利用可能な銘柄とロットサイズ”

プロンプト: “What symbols can I trade?”

何が起こるか:

  • get_symbols をフィルタなしで呼び出します
  • ロットサイズ、資産クラス、有効ステータスを含む完全な銘柄カタログを返します

銘柄ごとに応答に含まれる内容:

  • symbol(例: “EURUSD”)
  • lotSize(1 標準ロットあたりの単位数。FX は 100,000、XAUUSD は 10 など)
  • digits(小数桁数。EURUSD は 5、XAUUSD は 2)
  • assetClass(Forex、Metals、Crypto、Indices、Energies)
  • enabled(true = 取引可能、false = 無効)

バリアント - 資産クラスで絞り込み: “Show me all metal symbols”

  • get_symbols を assetClass=“Metals” で呼び出します

バリアント - EUR ペアを検索: “Show me all EUR symbols”

  • get_symbols を symbol=“EUR” で呼び出します(部分一致)

プロンプト: “How do I place a LIMIT order?”

何が起こるか:

  • get_knowledge を topic=“order-guide” で呼び出します
  • 注文タイプ、例、構文を含むガイドを返します

利用可能なトピック:

  • order-guide — MARKET、LIMIT、STOP 注文の詳細
  • risk-management — 8 つのリスクチェックの解説
  • limitations — 既知の問題と制約
  • error-codes — エラーコードリファレンス
  • faq — よくある質問
  • disclaimer — トレーディングリスク警告

使用方法:

  • トピックを指定せずに get_knowledge を呼び出すと、利用可能なすべてのトピックが一覧表示されます
  • トピックを指定すると、完全なドキュメントが読み込めます

プロンプトのベストプラクティス

Section titled “プロンプトのベストプラクティス”
  1. 銘柄を具体的に指定する — “euro” ではなく “EURUSD”、“gold” ではなく “XAUUSD”
  2. 数量はまずロットで指定する — “0.1 lots” と書き、AI に単位への変換を任せます
  3. ツール名は柔軟に使う — 何をしたいかを記述すれば、AI が適切なツールを呼び出します
  4. 破壊的操作の前に確認する — “Close all positions” はユーザー確認とセットで使うべきです
  5. ライブトレード前に health を確認する — 必ず接続性を確認してください
  6. まずペーパーモードを使う — ライブ執行の前にペーパーで注文ロジックをテストします
  7. プライスキャッシュをウォームアップするget_positions の P&L に依存する前に get_quotes を呼び出します
  8. SL/TP には positionId を使う — positionId なしで STOP/LIMIT を出してはいけません(新しいポジションが開かれます)