Quickstart¶
Create a project and print each confirmed BTC/USDT one-minute bar.
Create the project¶
aurum create signal-watch
cd signal-watch
The scaffold contains CMakeLists.txt, main.cpp, and config.hpp.
Replace main.cpp with:
#include <aurum/sdk.hpp>
#include <aurum/venue/okx.hpp>
using namespace aurum;
class SignalWatch final : public sdk::Application {
public:
SignalWatch() : sdk::Application({.mode = sdk::RuntimeMode::LIVE}) {
bind<Datafeed>(venue::okx::Bar("BTCUSDT", "1m"));
on(TOPIC<"bar://okx/BTCUSDT@1m">,
[](const Tick<schema::BarRow>& tick) {
if (tick.payload.close_timestamp == 0) return;
log::info("BTCUSDT close={}", tick.payload.close.to_string());
});
}
};
AURUM_EXPORT(SignalWatch)
Run it¶
aurum run .
aurum run resolves the installed SDK, compiles the project when necessary,
and starts it in the foreground. Press Ctrl-C to stop.
Check the project contract¶
The generated CMakeLists.txt declares a literal name and version through
aurum_project. Forge uses both values as deployment identity:
aurum_project(
NAME signal-watch
VERSION 0.0.1
)
Increment VERSION before pushing a replacement release. Forge rejects an
existing name@version instead of overwriting it.
Next steps¶
Market Data explains topic keys and payloads.
Simulation and Replay adds a paper account and replay mode.
Deploy a Project packages and pushes a version to Forge.