Files
skirmish/src/skirmish/exchange/core.clj
T

22 lines
915 B
Clojure

(ns skirmish.exchange.core
(:require [skirmish.util :refer [block-thread]]
[skirmish.middleware.core :refer [create-exchange-apis-for]]
[skirmish.exchange.exchange :refer [create-exchange-for-security empty-book]]
[kinsky.async]
[kinsky.client]))
(defn create-exchange-for [exchange-api]
(let [initial-book empty-book
new-order-publisher (:new-order-publisher exchange-api)
trades-submitter (:trades-submitter exchange-api)
orders-submitter (:orders-submitter exchange-api)]
(create-exchange-for-security initial-book
new-order-publisher
trades-submitter
orders-submitter)))
(defn -main [config exchange-apis]
(doseq [{sec-id :sec-id} (:securities config)]
(create-exchange-for (get exchange-apis sec-id)))
(block-thread))