コンテンツにスキップ

APIリファレンス

共通概念

取引高、価格、注文タイプ、有効期限

取引高

取引高はセント(0.0000001ロット単位)で指定されます。

ロット 取引高(セント)
0.01 100,000
0.1 1,000,000
1.0 10,000,000

価格

価格値はピペットで表されます。 変換方法:display_price = pipette_value / 10^pipDigits

EURUSD(5桁)の場合、ピペット値112345 = 1.12345となります。

注文タイプ

タイプ 説明 必須フィールド
MARKET 現在の価格で即座に実行 symbolIdtradeSidevolume
LIMIT 指値価格またはそれより有利な価格で実行 + limitPrice
STOP 市場がストップ価格に達したときにトリガー + stopPrice
MARKET_RANGE 価格範囲内で実行 + baseSlippagePrice
STOP_LIMIT ストップ価格でトリガーされる指値注文 + stopPricelimitPrice

有効期限

ポリシー 説明
GOOD_TILL_CANCEL 約定またはキャンセルされるまで注文が有効
GOOD_TILL_DATE 指定されたexpirationTimestampで注文が失効
IMMEDIATE_OR_CANCEL 即座に利用可能な分を約定し、残りをキャンセル

口座情報

GET /v1/balance Get account balance

口座残高、有効証拠金、余剰証拠金を返します。

パラメーター

パラメータなし。

応答

200 成功レスポンス

Response body
{
  "balance": 10000.00,
  "equity": 10250.75,
  "freeMargin": 9800.50,
  "balanceVersion": 42,
  "moneyDigits": 2,
  "depositAssetId": 1
}
フィールド 種類 説明
balance double 入金通貨での口座残高
equity double 残高 + 含み損益
freeMargin double 新規取引に利用可能な証拠金
balanceVersion int64 残高バージョンカウンター
moneyDigits int32 金額の小数点以下桁数
depositAssetId int64 入金通貨の資産ID
GET /v1/symbols 利用可能なシンボルを取得

口座で取引可能なすべてのシンボルを返します。

パラメーター

パラメータなし。

応答

200 Symbolオブジェクトの配列

Response body
[
  {
    "symbolId": 1,
    "symbolName": "EURUSD",
    "enabled": true,
    "baseAssetId": 2,
    "quoteAssetId": 1,
    "description": "Euro vs US Dollar"
  }
]

Symbol

フィールド 種類 説明
symbolId int64 シンボルID(他のAPI呼び出しで使用)
symbolName string シンボル名(例:「EURUSD」)
enabled boolean シンボルが取引可能かどうか
baseAssetId int64 基軸資産ID
quoteAssetId int64 決済資産ID
description string 人間が読める説明
GET /v1/assets 利用可能な資産を取得

利用可能な資産(通貨)を返します。

パラメーター

パラメータなし。

応答

200 Assetオブジェクトの配列

Response body
[
  {
    "assetId": 1,
    "name": "USD",
    "displayName": "US Dollar"
  }
]

Asset

フィールド 種類 説明
assetId int64 資産ID
name string 資産コード(例:「USD」)
displayName string 表示名

市場データ

GET /v1/prices スポット価格を取得

指定されたシンボルの現在の売値/買値を返します。 これはスナップショットです。APIはストリーミングをサポートしていません。

パラメーター
名前 配置場所 種類 必須 説明
symbolId query int64[] カンマ区切りのシンボルID
応答

200 SpotPriceオブジェクトの配列

Response body
[
  {
    "symbolId": 1,
    "bid": 112340,
    "ask": 112355,
    "high": 112890,
    "low": 111950,
    "sessionClose": 112100,
    "timestamp": 1700000000000
  }
]

SpotPrice

フィールド 種類 説明
symbolId int64 シンボルID
bid int64 最良売値(ピペット)
ask int64 最良買値(ピペット)
high int64 セッション高値(ピペット)
low int64 セッション安値(ピペット)
sessionClose int64 前セッション終値(ピペット)
timestamp int64 クォートタイムスタンプ(エポックミリ秒)
GET /v1/trendbars 過去のOHLCVデータを取得

シンボルの過去のローソク足(OHLCV)データを返します。

パラメーター
名前 配置場所 種類 必須 デフォルト 説明
symbolId query int64 シンボルID
period query string バー期間
fromTimestamp query string 開始時刻(ISO-8601)
toTimestamp query string 終了時刻(ISO-8601)
count query int32 100 返す最大バー数
利用可能な期間

M_1 M_2 M_3 M_4 M_5 M_10 M_15 M_30 H_1 H_2 H_3 H_4 H_6 H_8 H_12 D_1 W_1 MN_1

応答

200 Trendbarオブジェクトの配列

Response body
[
  {
    "timestamp": 1700000000000,
    "open": 112340.0,
    "high": 112890.0,
    "low": 111950.0,
    "close": 112500.0,
    "volume": 4521
  }
]

Trendbar

フィールド 種類 説明
timestamp int64 バーの開始時刻(エポックミリ秒)
open double 始値(ピペット)
high double 高値(ピペット)
low double 安値(ピペット)
close double 終値(ピペット)
volume int64 ティック・ボリューム

注文

POST /v1/orders 新規注文を実行

新規取引注文を実行します。 ExecutionResponseを返します。

パラメーター

パスまたはクエリパラメータはありません。

リクエストボディ application/json
フィールド 種類 必須 説明
symbolId int64 取引する通貨ペア
orderType string MARKET, LIMIT, STOP, MARKET_RANGE, STOP_LIMIT
tradeSide string BUYまたはSELL
volume int64 セント単位の取引高
limitPrice double 指値価格 – LIMITSTOP_LIMITに必須
stopPrice double ストップトリガー価格 – STOPSTOP_LIMITに必須
stopLoss double 損切り価格
takeProfit double 利食い価格
comment string フリーテキストコメント(最大256文字)
label string ボットラベル(最大100文字)
timeInForce string GOOD_TILL_CANCEL, GOOD_TILL_DATE, IMMEDIATE_OR_CANCEL
baseSlippagePrice double スリッページの基準価格 – MARKET_RANGEに必須
slippageInPoints int32 最大スリッページ(ポイント)
expirationTimestamp int64 有効期限タイムスタンプ(エポックミリ秒) – GOOD_TILL_DATE
Example request body
{
  "symbolId": 1,
  "orderType": "MARKET",
  "tradeSide": "BUY",
  "volume": 10000000,
  "stopLoss": 112000,
  "takeProfit": 113000
}
応答

200 ExecutionResponse – 注文が受理または約定されました

400 INVALID_REQUESTまたはTRADING_BAD_VOLUME

422 NOT_ENOUGH_MONEY

409 MARKET_CLOSED

Example success response
{
  "orderId": 12345,
  "positionId": 67890,
  "executionType": "ORDER_FILLED",
  "order": { "..." : "..." },
  "position": { "..." : "..." },
  "deal": { "..." : "..." }
}
GET /v1/orders 予約注文を取得

すべての予約注文(未約定)を返します。

パラメーター

パラメータなし。

応答

200 予約注文オブジェクトの配列

PUT /v1/orders/{orderId} 予約注文を修正

既存の予約注文を修正します。 ExecutionResponseを返します。

パラメーター
名前 配置場所 種類 必須 説明
orderId path int64 修正する注文
リクエストボディ application/json

以下のフィールドの任意のサブセット。

フィールド 種類 説明
volume int64 新しい取引高(セント)
limitPrice double 新しい指値価格
stopPrice double 新しいストップ価格
stopLoss double 新しい損切り価格
takeProfit double 新しい利食い価格
expirationTimestamp int64 新しい有効期限タイムスタンプ(エポックミリ秒)
応答

200 ORDER_REPLACEDを含むExecutionResponse

404 注文が見つかりません

DELETE /v1/orders/{orderId} 予約注文をキャンセル

予約注文をキャンセルします。 ExecutionResponseを返します。

パラメーター
名前 配置場所 種類 必須 説明
orderId path int64 キャンセルする注文
応答

200 ORDER_CANCELLEDを含むExecutionResponse

404 注文が見つかりません

GET /v1/orders/history 注文履歴を取得

時間範囲内の過去の注文を返します。

パラメーター
名前 配置場所 種類 必須 説明
fromTimestamp query string 開始時刻(ISO-8601)
toTimestamp query string 終了時刻(ISO-8601)
応答

200 OrderListResponse

フィールド 種類 説明
orders Order[] 過去の注文の配列
hasMore boolean 追加ページが利用可能かどうか

ポジション

GET /v1/positions オープンポジションを取得

すべてのオープンポジションと予約注文を返します。

パラメーター

パラメータなし。

応答

200 Positionオブジェクトの配列

Response body
[
  {
    "positionId": 67890,
    "symbolId": 1,
    "tradeSide": "BUY",
    "volume": 10000000,
    "entryPrice": 112345.0,
    "stopLoss": 112000.0,
    "takeProfit": 113000.0,
    "unrealizedPnl": 155.25,
    "commission": -7.00,
    "swap": -1.20
  }
]

ポジション

フィールド 種類 説明
positionId int64 ポジションID
symbolId int64 シンボルID
tradeSide string BUYまたはSELL
volume int64 セント単位の取引高
entryPrice double VWAP約定価格
stopLoss double 損切り価格
takeProfit double 利食い価格
unrealizedPnl double 含み損益
commission double 請求された手数料
swap double スワップ金額
GET /v1/positions/{positionId} ポジション詳細を取得

関連する注文と取引を含むポジションを返します。

パラメーター
名前 配置場所 種類 必須 説明
positionId path int64 ポジションID
応答

200 PositionDetailResponse

フィールド 種類 説明
position Position ポジションオブジェクト
orders Order[] 関連する注文
deals Deal[] 関連する取引
PUT /v1/positions/{positionId} ポジションの損切り/利食いを修正

オープンポジションの損切りおよび/または利食いを更新します。 ExecutionResponseを返します。

パラメーター
名前 配置場所 種類 必須 説明
positionId path int64 ポジションID
リクエストボディ application/json
フィールド 種類 説明
stopLoss double 新しい損切り価格(削除する場合はnull)
takeProfit double 新しい利食い価格(削除する場合はnull)
trailingStopLoss boolean トレーリング損切りを有効化
Example request body
{
  "stopLoss": 111500,
  "takeProfit": 113500,
  "trailingStopLoss": false
}
応答
POST /v1/positions/{positionId}/close ポジションを決済

オープンポジションを全部または一部決済します。 一部決済の場合は、ポジションの全取引高より小さい値を使用してください。 ExecutionResponseを返します。

パラメーター
名前 配置場所 種類 必須 説明
positionId path int64 ポジションID
リクエストボディ application/json
フィールド 種類 必須 説明
volume int64 決済する取引高(セント単位)
Example – full close (1 lot)
{
  "volume": 10000000
}
応答

422 NOT_ENOUGH_MONEY – 一部決済に必要な証拠金が不足しています


Deals

GET /v1/deals 取引履歴を取得

指定された期間内に実行された取引を返します。

パラメーター
名前 配置場所 種類 必須 デフォルト 説明
fromTimestamp query string 開始時刻(ISO-8601)
toTimestamp query string 終了時刻(ISO-8601)
maxRows query int32 50 返す取引の最大数
応答

200 取引オブジェクトの配列

Response body
[
  {
    "dealId": 11111,
    "orderId": 12345,
    "positionId": 67890,
    "symbolId": 1,
    "tradeSide": "BUY",
    "volume": 10000000,
    "filledVolume": 10000000,
    "executionPrice": 112345.0,
    "executionTimestamp": 1700000000000,
    "dealStatus": "FILLED",
    "commission": -7.00
  }
]

取引

フィールド 種類 説明
dealId int64 取引ID
orderId int64 この取引をトリガーした注文
positionId int64 ポジションID
symbolId int64 シンボルID
tradeSide string BUYまたはSELL
volume int64 リクエストされた取引高(セント単位)
filledVolume int64 約定した取引高(セント単位)
executionPrice double 約定価格
executionTimestamp int64 約定時刻(エポックミリ秒)
dealStatus string ステータス – 以下の値を参照
commission double 請求された手数料

dealStatusの値

意味
FILLED 注文が完全に約定
PARTIALLY_FILLED 注文の一部が約定しました
REJECTED トレーディングサーバーによって拒否されました
INTERNALLY_REJECTED サーバーに到達する前に内部的に拒否されました
ERROR 実行中にエラーが発生しました
MISSED 注文が失効しました(例:市場のギャップ)

スキーマ { #execution-response-schema }

ExecutionResponse

すべての注文の実行、修正、およびキャンセル操作は、このオブジェクトを返します。

フィールド 種類 説明
orderId int64 影響を受けた注文ID
positionId int64 影響を受けたポジションID
executionType string 結果タイプ – 以下の値を参照
order Order 注文の詳細(該当する場合)
position Position ポジションの詳細(該当する場合)
deal Deal 取引の詳細(該当する場合)

executionTypeの値

意味
ORDER_ACCEPTED 予約注文が受理されました
ORDER_FILLED 注文が完全に約定しました
ORDER_REPLACED 注文が修正されました
ORDER_CANCELLED 注文がキャンセルされました
ORDER_EXPIRED 注文の期限が切れました
ORDER_REJECTED 注文が拒否されました
ORDER_CANCEL_REJECTED キャンセルリクエストが拒否されました
ORDER_PARTIAL_FILL 注文の一部が約定しました
SWAP ポジションスワップが適用されました
DEPOSIT 口座への入金
WITHDRAW 口座からの出金
BONUS_DEPOSIT_WITHDRAW ボーナスの入金または出金

レート制限

ゲートウェイは複数のレベルでレート制限を適用します。

レベル 説明
IPごと 単一のIPアドレスからの総リクエスト数を制限
ユーザーごと 単一のトークンに対するすべての口座の総リクエスト数を制限
口座ごと 単一の取引口座を対象とするリクエスト数を制限

レート制限の超過

レート制限を超過すると、APIは429 Too Many RequestsRetry-Afterヘッダーとともに返します。


エラーハンドリング

リクエストが失敗すると、APIはJSONエラーレスポンスを返します。

Error response format
{
  "error": {
    "code": "NOT_ENOUGH_MONEY",
    "message": "Insufficient free margin for this order",
    "httpStatus": 422,
    "retryAfter": null
  }
}

エラーコード

コード HTTP 説明
INVALID_REQUEST 400 無効または欠落したリクエストパラメーター
UNAUTHORIZED 401 無効、期限切れ、または欠落したトークン
TRADING_BAD_VOLUME 400 取引高が無効です(最小値を下回っているか、ポジションを超えています)
NOT_ENOUGH_MONEY 422 余剰証拠金が不足しています
SYMBOL_NOT_FOUND 404 シンボルIDが存在しません
MARKET_CLOSED 409 シンボルのマーケットは現在閉鎖中です
MAINTENANCE 503 取引サーバーはメンテナンスモード中です
TIMEOUT 504 取引サーバーが時間内に応答しませんでした
GATEWAY_RATE_LIMIT 429 レート制限を超過しました – Retry-Afterヘッダーを参照してください

レート制限の処理

429レスポンスを受信した場合、Retry-AfterヘッダーとretryAfterフィールドは、次のリクエストを送信する前に待機する必要がある秒数を示します。