注文 エンドポイント


特定の口座における注文を取得する

特定の口座における全ての未決済の注文を取得します。 注: 未決済のテイクプロフィット注文およびストップロス注文は未決済取引オブジェクトに登録されており、このリクエストでは取得できません。

GET /v1/accounts/:account_id/orders

入力クエリパラメータ

maxId
任意 サーバーは、このIDとそれ以下の注文を降順で返信します(paginationの為)。
count
任意 取得する未決済注文の最大数。 デフォルトは50で、最大値は500。
instrument
任意 特定の銘柄に対する未決済注文のみ取得します。 デフォルトは全ての銘柄(all)です。
ids
任意 URLエンコードされ(%2C)、コンマで区切られた取得対象の注文IDのリスト。 リストに設定できるIDの最大数は50です。 このパラメータが設定された場合は、他のパラメータは設定できません。

$curl -X GET "http://api-sandbox.oanda.com/v1/accounts/12345/orders?instrument=EUR_USD&count=2"

レスポンス

ヘッダ
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 660
Link: <http://api-sandbox.oanda.com/v1/accounts/12345/orders?count=2&instrument=EUR_USD&maxId=175427625>; rel="next"
X-Result-Count: 8
ボディ
{
  "orders" : [
    {
      "id" : 175427639,
      "instrument" : "EUR_USD",
      "units" : 20,
      "side" : "buy",
      "type" : "marketIfTouched",
      "time" : "2014-02-11T16:22:07Z",
      "price" : 1,
      "takeProfit" : 0,
      "stopLoss" : 0,
      "expiry" : "2014-02-15T16:22:07Z",
      "upperBound" : 0,
      "lowerBound" : 0,
      "trailingStop" : 0
    },
    {
      "id" : 175427637,
      "instrument" : "EUR_USD",
      "units" : 10,
      "side" : "sell",
      "type" : "marketIfTouched",
      "time" : "2014-02-11T16:22:07Z",
      "price" : 1,
      "takeProfit" : 0,
      "stopLoss" : 0,
      "expiry" : "2014-02-12T16:22:07Z",
      "upperBound" : 0,
      "lowerBound" : 0,
      "trailingStop" : 0
    }
  ]
}

Pagination(ページ割り)

注文はcountとmaxIdパラメータによりページ割りができます。 一つのクエリで最大50件の注文が返信されます。 もし注文の件数がデフォルトもしくは指定された件数を上回っていた場合は、Linkヘッダと一緒にmaxIdが次のまだ未送信の注文のIDに設定されたURLが返信されます。


新しい注文を作成する

POST /v1/accounts/:account_id/orders

入力データパラメータ

instrument
必須 新規注文の銘柄
units
必須 注文単位
side
必須 売買区別(buy=買い、sell=売り)
type
必須 注文のタイプ ’limit’、 ‘stop’、 ‘marketIfTouched’、 ‘market’のいずれか。
expiry
必須 注文の有効期限。 注文のタイプが ’limit’、 ‘stop’、 ’marketIfTouched’のいずれかの場合、有効な日時フォーマットによる日時が設定される必要があります。
price
必須 注文のタイプが ’limit’、 ‘stop’、 ’marketIfTouched’のいずれかの場合、注文がトリガー(発動)する価格を設定します。
lowerBound
任意 成立下限価格
upperBound
任意 成立上限価格
stopLoss
任意 ストップロス価格
takeProfit
任意 テイクプロフィット価格
trailingStop
任意 トレーリングストップのディスタンス(pipsで小数第一位まで)

例 (‘market’ 注文)

$curl -X POST -d "instrument=EUR_USD&units=2&side=sell&type=market" "http://api-sandbox.oanda.com/v1/accounts/12345/orders"

レスポンス

ヘッダ
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 204
ボディ
{

  "instrument" : "EUR_USD",
  "time" : "2013-12-06T20:36:06Z", // 
  "price" : 1.37041,               // 
  "tradeOpened" : {
    "id" : 175517237,              // ID
    "units" : 2,                   // 
    "side" : "sell",               // 
    "takeProfit" : 0,              //   
    "stopLoss" : 0,                //   
    "trailingStop" : 0             //   
  },
  "tradesClosed" : [],
  "tradeReduced" : {}
}

例 (‘marketIfTouched’ 注文)

$curl -X POST -d "instrument=EUR_USD&units=2&side=sell&type=marketIfTouched&price=1.2&expiry=2013-04-01T00%3A00%3A00Z" "http://api-sandbox.oanda.com/v1/accounts/12345/orders"

レスポンス

ヘッダ
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 292
Location: http://api-sandbox.oanda.com/v1/accounts/12345/orders/175517237
ボディ
{

  "instrument" : "EUR_USD",
  "time" : "2013-01-01T20:36:06Z",      // 
  "price" : 1.2,                        // 
  "orderOpened" : {             
    "id" : 175517237,                   // ID
    "units" : 2,                        // 
    "side" : "sell",                    // 
    "takeProfit" : 0,                   //   
    "stopLoss" : 0,                     //   
    "expiry" : "2013-02-01T00:00:00Z",  //  (RFC3339)
    "upperBound" : 0,                   //   
    "lowerBound" : 0,                   //   
    "trailingStop" : 0                  //   
  }
}

注文に関する情報を取得する

GET /v1/accounts/:account_id/orders/:order_id

$curl -X GET "http://api-sandbox.oanda.com/v1/accounts/1234/orders/43211"

レスポンス

ヘッダ
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 290
ボディ
{
  "id" : 43211,                        // ID
  "instrument" : "EUR_USD",            // 
  "units" : 5,                         // 
  "side" : "buy",                      // 
  "type" : "limit",                    // 
  "time" : "2013-01-01T00:00:00Z",     //  (RFC3339)
  "price" : 1.45123,                   // 
  "takeProfit" : 1.7,                  //   
  "stopLoss" : 1.4,                    //   
  "expiry" : "2013-02-01T00:00:00Z",   //  (RFC3339)
  "upperBound" : 0,                    //   
  "lowerBound" : 0,                    //   
  "trailingStop" : 10                  //   
}

既存の注文を変更する

PATCH /v1/accounts/:account_id/orders/:order_id

入力データパラメータ

注: 特定したパラメータのみが変更され、残りのパラメータは変更されません。 任意のパラメータを削除したい場合は値に0を設定してください。

units
任意 注文単位
price
任意 注文がトリガー(発動)する価格
expiry
任意 注文の有効期限。 有効な日時フォーマットによる日時が設定される必要があります。
lowerBound
任意 成立下限価格
upperBound
任意 成立上限価格
stopLoss
任意 ストップロス価格
takeProfit
任意 テイクプロフィット価格
trailingStop
任意 トレーリングストップのディスタンス(pipsで小数第一位まで)

$curl -X PATCH -d "stopLoss=1.3" "http://api-sandbox.oanda.com/v1/accounts/12345/orders/43211"

レスポンス

ヘッダ
HTTP/1.1 200 OK
Server: nginx/1.2.9
Content-Type: application/json
Content-Length: 284

ボディ
{
  "id" : 43211,                        // ID
  "instrument" : "EUR_USD",            // 
  "units" : 5,                         // 
  "side" : "buy",                      // 
  "type" : "limit",                    // 
  "time" : "2013-01-01T00:00:00Z",     //  (RFC3339)
  "price" : 1.45123,                   // 
  "takeProfit" : 1.7,                  //   
  "stopLoss" : 1.3,                    //   
  "expiry" : "2013-02-01T00:00:00Z",   //  (RFC3339)
  "upperBound" : 0,                    //   
  "lowerBound" : 0,                    //   
  "trailingStop" : 10                  //   
}

注文をキャンセルする

DELETE /v1/accounts/:account_id/orders/:order_id

$curl -X DELETE "http://api-sandbox.oanda.com/v1/accounts/12345/orders/43211"

レスポンス

ヘッダ
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 130
ボディ
{
  "id" : 54332,                   // ID
  "instrument" : "EUR_USD",       // 
  "units" : 2,
  "side" : "sell",
  "price" : 1.30601,              // 
  "time" : "2013-01-01T00:00:00Z" // 
}