oandapy adalah pembungkus python untuk REST API OANDA.
Menggunakan pip:
$ pip install git+https://github.com/oanda/oandapy.git
oandapy bergantung pada permintaan python, yang akan diinstal secara otomatis.
Sertakan modul oandapy dan buat instance oandapy dengan kredensial akun Anda. Untuk FxGame dan FxTrade, token akses harus disediakan.
import oandapy
oanda = oandapy.API(environment="practice", access_token="abcdefghijk...")
Argumen kata kunci ke fungsi dipetakan ke fungsi yang tersedia untuk setiap titik akhir di dokumen Oanda API, sehingga perubahan pada API tidak akan ditahan saat Anda menggunakannya oleh perpustakaan ini. Untuk setiap panggilan api, oandapy mengembalikan objek python asli, yang dikonversi dari JSON sehingga Anda tidak perlu melakukannya.
Kelas EndpointsMixin di oandapy.py menampung mixin dari semua titik akhir API Oanda.
response = oanda.get_prices(instruments="EUR_USD")
prices = response.get("prices")
asking_price = prices[0].get("ask")
# required datetime functions
from datetime import datetime, timedelta
# sample account_id
account_id = 1813880
# set the trade to expire after one day
trade_expire = datetime.utcnow() + timedelta(days=1)
trade_expire = trade_expire.isoformat("T") + "Z"
response = oanda.create_order(account_id,
instrument="USD_CAD",
units=1000,
side='sell',
type='limit',
price=1.15,
expiry=trade_expire
)
Buat kelas streamer khusus untuk menyiapkan cara Anda ingin menangani data. Setiap centang dikirim melalui fungsi on_success
dan on_error
. Karena metode ini adalah metode abstrak, Anda perlu mengganti metode ini untuk menangani data streaming.
Contoh berikut mencetak hitungan kutu dari aliran lalu memutus sambungan.
class MyStreamer(oandapy.Streamer):
def __init__(self, count=10, *args, **kwargs):
super(MyStreamer, self).__init__(*args, **kwargs)
self.count = count
self.reccnt = 0
def on_success(self, data):
print data, "n"
self.reccnt += 1
if self.reccnt == self.count:
self.disconnect()
def on_error(self, data):
self.disconnect()
Inisialisasi instance streamer khusus Anda, dan mulai sambungkan ke streaming. Lihat http://developer.oanda.com/rest-live/streaming/ untuk dokumentasi lebih lanjut.
account = "12345"
stream = MyStreamer(environment="practice", access_token="abcdefghijk...")
stream.rates(account, instruments="EUR_USD,EUR_JPY,US30_USD,DE30_EUR")
Prosedur yang sama dapat digunakan untuk acara streaming.
stream = MyStreamer(environment="practice", access_token="abcdefghijk...")
stream.events(ignore_heartbeat=False)