FX自動トレードを探求するブログ

oandapy解説|create_order() 注文

定義

create_order( account_id, order)

引数

引数必須説明
account_id strアカウントID
order dict 注文情報を指定。辞書のキーはオーダの種類(OrderType)によって異なる。

OrderType

説明
MARKET 成り行き注文
LIMIT 指値注文
STOP 逆指値注文
MARKET_IF_TOUCHEDMIT注文MIT注文はマーケットより低い(または高い)価格で買い(または売り)注文を行う方法
TAKE_PROFIT利食い注文 (A Take Profit Order)
STOP_LOSSストップロスオーダー(A Stop Loss Order)・逆指値注文やストップ注文
TRAILING_STOP_LOSSトレイリングストップ・リミット注文(A Trailing Stop Loss Order)
FIXED_PRICEA Fixed Price Order

LimitOrderRequest 指値注文

指値注文の場合、第二引数の辞書(order)のキーと値は以下のとおり。

キー
type“LIMIT”
instrument 商品名。ここでいう商品名とは通貨ペアのことを指す。
2つの通貨はアンダースコア(“_”)で区切る。
例:ドル円の場合は”USD_JPY”と指定。
units数量。買い注文の場合は正数。売り注文の場合は負数で指定する。
price指値
timeInForce注文の有効期限。 デフォルト:”GTC”
gtdTime “GTD”の場合の日時指定。
positionFill注文の約定時にアカウントのポジションがどのように変更されるかの指定。
triggerCondition トリガ条件
clientExtensions
takeProfitOnFill
stopLossOnFill
trailingStopLossOnFill
tradeClientExtensions

TakeProfitOrderRequest  利食い注文(Take Profit   Order)

「利食い指値」注文は基本的にストップ指値注文と同様の考え方ですが、主に利確に利用します。

利食い指値の場合は「トリガ価格」を設定し、マーケットの価格がトリガ価格に達したときに利確用の指値注文が発行されます。

利食い指値注文はストップ注文とは逆の発想になります。つまり、自分にとって有利な条件になった時に注文が約定する仕組みです。

たとえば、ドル円が110の時に利食い指値注文を出します。この時のトリガ価格は111円とします。そしてドル円のレートが111円以上に値上がりした時に注文が約定します。

つまり、ストップ指値注文では損切りを主な目的としていますが、利食い注文は利益を確定させる注文方法と考えると良いでしょう。

例えば、今持っているポジションが含み益が出ているとき、「この価格まで下がってきたら利益確保の成行注文で即座に約定させたい」、といった場合に使います。

利食い注文の場合第二引数の辞書(order)のキーと値は以下のとおり。

キー
type“TAKE_PROFIT “
tradeID トレードID
clientTradeID 価格しきい値が不履行だったときに、クローズされる取引のクライアントID
price利食い注文 のしきい値。このしきい値以上の市場価格で決済される
timeInForceTakeProfit Orderでは、“GTC”, “GFD” , “GTD”のいずれかが選択可能
gtdTime “GTD”の場合の日時指定
triggerCondition トリガ条件
clientExtensions

timeInForce

説明
GTC “Good unTil Cancelled” の略。キャンセルされるまで有効。
GTD“Good unTil Date”の略。 注文を有効にしておくことのできる日付と時間を設定。
GFD“Good For Day”の略。 当日の日中立会終了まで有効とする。
ニューヨーク時間の17時に自動的にキャンセルされる。
FOK “Filled Or Killed” の略。FOKとは、約定( Fill )か注文の失効(
Kill )を意味する。FOKは ザラ場 において、注文数量の全部が即座に約定しない場合、注文数量の全部を即座に失効させる条件。
IOC“Immediatedly paritally filled Or Cancelled”の略。
IOCとは、指定した価格かそれよりも有利な価格で、即時に一部あるいは全数量を約定させ、成立しなかった注文数量を失効(キャンセル)させる条件付注文。

triggerCondition

説明
DEFAULTTrigger an Order the “natural” way: compare its price to the ask for long Orders and bid for short Orders.
INVERSETrigger an Order the opposite of the “natural” way: compare its price the bid for long Orders and ask for short Orders.
BIDロング、ショートに関係なく、価格をBIDと比較して注文を実行する
ASKロング、ショートに関係なく、価格をASKと比較して注文を実行する
MIDロング、ショートに関係なく、価格を中値と比較して注文を実行する

概要

注文を依頼します

復帰値

サンプルコード

API_KEY='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
ACCOUNT_ID='123-456-7890123-456'

#注文内容
order = {
	"type": "LIMIT",
	"price" : "110.00",
	"instrument": "USD_JPY",
	"units": "1000",
	"positionFill": "DEFAULT"}

# APIへ接続
con = oanda.APIv20(environment="live", access_token=API_KEY)
response=con.orders.create_order( ACCOUNT_ID, order)
order = response.raw.json()

print(orders)

参照

OANDAのAPIの仕様は以下を参照してください。

http://developer.oanda.com/rest-live-v20/order-ep/

Comments are closed.