chromabox / jpyrate_oanda

OANDAのStreaming APIを利用して為替レートを簡単に取得するサンプル

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

jpyrate_oanda

OANDAのStreaming APIを利用して為替レートを簡単に取得するサンプルです。 ストリーミングなので持続的接続をしていて、相場のレートが変われば逐一表示されます。

使用するには、OANDAとのデモ口座契約が必要です。 (デモ口座は無料です)

デモサーバのレートを使用していますが、実際のレートとそんなに変わらない感じです。

使い方

コンパイル

以下のパッケージを使用しています。

  • g++
  • STL(libstdc++)
  • libcurl-dev (opensslでもnssでも何でもいい)

ので、あらかじめインストールしてください。

Ubuntuの場合は次のようにしたら良いかもしれません。

$ sudo apt-get install g++ libstdc++6 libcurl4-nss-dev

その後makeでOK。

コマンド

jpyrate_oandaと打つだけです。

すると、アクセストークンと口座番号を聞いてくるので、入力します。 アクセストークンはあらかじめ発行しておいてください。 アクセストークンは、My fxTrade Practice Account→APIアクセスの管理→Personal Access Token で発行した値です

サンプルではUSD/JPY(ドル円)のレートをStreamから取得するようにしています。

おまけでスプレッド(売値と買値の差)を表示しています。 OANDAさんは大体0.3ですが、この差が大きくなる場合は資金の流動性がなくなってきているか、相場の急変が発生していることがわかります。

[2015-01-23 14:42:45] bid: 118.593 ask: 118.596 sp: 0.3
[2015-01-23 14:43:44] bid: 118.594 ask: 118.597 sp: 0.3
[2015-01-23 14:43:44] bid: 118.596 ask: 118.599 sp: 0.3
[2015-01-23 14:43:44] bid: 118.600 ask: 118.603 sp: 0.3
[2015-01-23 14:43:44] bid: 118.603 ask: 118.606 sp: 0.3
[2015-01-23 14:43:44] bid: 118.602 ask: 118.605 sp: 0.3
[2015-01-23 14:43:44] bid: 118.600 ask: 118.603 sp: 0.3
[2015-01-23 14:43:44] bid: 118.597 ask: 118.600 sp: 0.3
[2015-01-23 14:43:44] bid: 118.595 ask: 118.598 sp: 0.3
[2015-01-23 14:43:44] bid: 118.594 ask: 118.597 sp: 0.3
[2015-01-23 14:43:45] bid: 118.594 ask: 118.597 sp: 0.3
[2015-01-23 14:43:45] bid: 118.591 ask: 118.594 sp: 0.3
[2015-01-23 14:43:51] bid: 118.588 ask: 118.591 sp: 0.3
[2015-01-23 14:43:51] bid: 118.584 ask: 118.587 sp: 0.3
[2015-01-23 14:43:51] bid: 118.581 ask: 118.584 sp: 0.3

時刻 売り値 買い値 スプレッド の順番で表示します。 Ctrl+Cで終わります。

制限

エラー処理は手抜きです。 再接続とかせず、いつのまにか終わってるのでその辺はご注意を。

注意

アクセストークンの取り扱いには十分ご注意を。

これはOANDAのStreaming APIを使用しています。 API契約書に従ってください。 個人で細々と使う分にはまぁ良いと思いますが、データを商用利用するとか、そういうのはまずいと思います。

謝辞

参考文献

OANDA RESTAPI 仕様書(日本語でわかりやすいです) http://developer.oanda.com/docs/jp/

About

OANDAのStreaming APIを利用して為替レートを簡単に取得するサンプル

License:MIT License


Languages

Language:C++ 99.0%Language:Prolog 1.0%