Files
FX-ML-Trading-Engine/QuantTrader/execution/__pycache__/oanda_adapter.cpython-312.pyc
T

51 lines
9.2 KiB
Plaintext
Raw Normal View History

2025-11-14 22:56:44 +00:00
Ë
ÕiBãó²dZddlmZddlZddlmZddlmZddlmZddl m
Z
m Z ddl Z dd l
mZmZmZmZmZdd
lmZdd lmZmZdd lmZGd
de«Zy)z+OANDA REST adapter (mock/stub for Phase 3).é)Ú annotationsN)Úasdict)Údatetime)ÚPath)ÚDictÚOptionalé)Ú CancelAckÚExecutionAdapterÚOrderAckÚ OrderParamsÚ
PositionState©Úload_oanda_config)Ú
MetricsLoggerÚ log_event)Ú
OrderStorecóžeZdZdZ d d
dZddZeddd«ZddZddZ ddZ
dd „Z dd
Z dd Z
y)Ú OandaAdapterz#https://api-fxpractice.oanda.com/v3Nc
óþ|xs tjjdd«|_|xs tjjdd«|_|xs |j
|_||_||_||_ t|«|_ t| «|_
tj«|_|j j"j%d|jddœ«|xs
t'«|_y)OANDA_ACCOUNT_IDÚÚ OANDA_TOKENzBearer zapplication/json)Ú
Authorizationz Content-Type)ÚosÚenvironÚgetÚ
account_idÚtokenÚBASE_URLÚbase_urlÚ
timeout_msÚ
retry_backoffÚ max_retriesrÚmetrics_loggerrÚ error_logÚrequestsÚSessionÚsessionÚheadersÚupdaterÚ order_store)
Úselfrrr,r!r"r#r$Ú metrics_pathr&s
úR/Users/chuan/Documents/Projects/FX_Backtest/QuantTrader/execution/oanda_adapter.pyÚ__init__zOandaAdapter.__init__ð¯
©
¯©Ð7IÈ2Ó(NˆŒØÒ?œbŸj™jŸn™n¨]¸BÓŒ
Ø Ò1 D§M¡MˆŒ
ØŒØÔØÔÜ+¨LÓÔܘi›ˆŒÜ×)ˆŒ Ø ×Ñ×ÀÇ
Á
¸|Ð6LÐ^pÑ$qÔ6¬*«,ˆÕócó"|j|S)N)r!)r-Úpaths r/Ú _endpointzOandaAdapter._endpoint.sØ—--  Ð'r1có,t|«}|dd|i|¤ŽS)Nr,©r)Úclsr3r,Úcfgs r/Ú from_configzOandaAdapter.from_config1sä ÓÙÑ2˜{Ð2¨cÑ2r1c
ó,|jjjdd¬«|jjdd¬«5}|j dt j «j«d|d|d «ddd«y#1swYyxYw)
NT)ÚparentsÚexist_okÚazutf-8)ÚencodingÚ[z] z: Ú
)r&ÚparentÚmkdirÚopenÚwriterÚutcnowÚ isoformat)r-ÚcontextÚmessageÚfhs r/Ú
_log_errorzOandaAdapter._log_error6svØ ×Ñ×#¨D¸4Ð
^‰^×
Ñ
 ¨wÐ
Ô
7¸2Ø H‰HŸÓ*×7°r¸'¸À"ÀWÀIÈRÐ 8×
7ús Á<B
Â
Bc óØ|j}t|j«D} |jj||fd|j
dz i|¤Ž}|jdk\r7|jd|j«tj|«|dz}Œw|jdk\r,|jd|j«|j«|j«|j«cSt!d |d
|d |jd «#t j$r@}|jdt|««tj|«|dz}Yd}~ŒBd}~wwxYw)
timeoutg@networkéÚ server_erroriÚ client_errorzFailed Ú z after z retries)r#Úranger$r)Úrequestr"r'ÚRequestExceptionrJÚstrÚtimeÚsleepÚ status_codeÚtextÚraise_for_statusÚjsonÚ RuntimeError)r-ÚmethodÚurlÚkwargsÚbackoffÚattemptÚrespÚexcs r/Ú_requestzOandaAdapter._request;s=Ø×ܘT×.ˆGð
Ø+t—|‘|×+¨F°CÑÇÁÐSYÑAYÐdÐ]cÑdð ×Ñ 3Ò °· ± Ô
˜7Ô˜1‘ ØØ×Ñ 3Ò °· ± Ô× × —99“;Ò ð#/ô$˜W V H¨A¨c¨U°'¸$×:JÑ:JÐ9KÈ8ÐUøô×
Ø  ¬3¨s«8Ô