OANDAPYV20を使って成り行き注文をして決済をしてみます。
環境や前提
バージョン等
- Python 3.6.0
- oandapyV20 0.6.3
前提条件
OANDA APIのアクセストークンの取得
OANDA APIを使うためOANDA APIのアクセストークンを取得する必要があります。
アクセストークンを取得するためにデモ口座か本番口座を作る必要があります。
OANDA Japanからデモ口座か本番口座を作ってから読んでください。
アクセストークンについては前の記事を参考にしてもらえればと思います。
PythonからOANDA APIを使いやすくするライブラリのインストール
pipで簡単にインストールできます。
pip install oandapyv20
実装
成り行き注文
単にUSD/JPYを成り行き注文を行うコードを書いていきます。
まずモジュールをimportしてAPIに接続します。
import oandapyV20 import oandapyV20.endpoints.orders as orders client = oandapyV20.API(access_token="******")
APIへのリクエストのパラメータを作成します。
data = { "order": { "instrument": "USD_JPY", "units": "-1000", "type": "MARKET", } }
instrumentが通貨ペア、unitsで発注量を決めます。10000で1万通貨になります。+で買い、-で売りになります
次に以下のコードでオーダーを作成し、リクエストを送ります。
account_id = "*************" r = orders.OrderCreate(account_id, data=data) client.request(r)
これで、成り行き注文を行うことができます。
決済
次に今あるポジションを決済するコードを書いていきます。
まずは決済に必要なモジュールをimportします。
import oandapyV20.endpoints.positions as positions
次にリクエストを作成します。
data = {"shortUnits":"ALL"}
shortUnitsで売りポジションの決済できます。逆にlongUnitsで買いポジションの決済ができます。ALLは文字通りすべてのポジションを決済します。
あとは、以下のコードでAPIにリクエストを行います。
r = positions.PositionClose(accountID=account_id, instrument="USD_JPY", data=data) client.request(r)
終わりに
今回はとりあえず売り注文を入れて、ポジションを決済する方法を紹介しました。
まだまだわからないことだらけなので調べて紹介していきます。