Oanda forex candle chart tkinter widget.
This code is a complete script for a working chart provided that:
- There is a working internet connection.
- An
OANDA_TOKEN
environmental variable is set to a valid access token.
import tkinter
import os
from oanda_chart import ChartManager
root = tkinter.Tk()
manager = ChartManager(os.getenv("OANDA_TOKEN"))
chart = manager.create_chart(root, flags=True, width=700, height=400)
chart.grid(row=0, column=0, sticky="nsew")
root.rowconfigure(0, weight=1)
root.columnconfigure(0, weight=1)
root.mainloop()
The charts rely on the oanda-candles package which pulls candles from Oanda through their V20 Restful API The user must supply a secret token string that is associated with either a demo or real brokerage account with Oanda.
- This is strictly for tkinter applications.
- Only Oanda Forex candles are charted.
- User must supply a secret access token to their Oanda account.
- By dragging on chart user can pan about and candles are downloaded automatically as needed.
- Chart automatically keeps candles up to date with checks for recent prices every 5 seconds.
- Panning around can be done both in and out of a mode where the candles are adjusted to fit view.
- Dragging mouse on price scale makes candles taller or shorter.
- Dragging mouse on time scale makes them fatter or narrower (and so does mouse wheel).
- An optional Pair (instrument) selector with flags matching currency is an option for the chart.
- Pair (instruments) are also selectable from drop down.
- Granularity of candles (e.g. Monthly, hourly, etc) are limited to certain values supported by Oanda's V20 API.
- Bid, Mid, or Ask price can be selected for (default is Bid).
- All the selectors can be linked to one of several colors to enable changing a pair for one chart to also change it for others and such.
Some features a trader might expect of a candle applications but which are presently missing:
- There are no annotations supported yet (no putting lines, or text, etc in chart).
- There is not selection mechanism for candles to see stats on them specifically.
- There is no way to place an order or see your order info.
- There are no indicators other than the candles.