TOS-Alpaca Trading Automation Bridge Developer
Budget: $250 – $750 USD
I'm seeking an experienced developer to implement a FIFO-based named pipe bridge between ThinkorSwim (TOS) and Alpaca, with the primary goal of real-time order execution automation. Core Objective: To create a Python-based bridge that listens for trade signals generated by a custom TOS strategy (via a ThinkScript study), and executes those trades via Alpaca’s API using a FIFO (First In, First Out) named pipe. Key Functions Required: - Read trade signals from ThinkorSwim via a named pipe. - Translate signals into appropriate Alpaca API calls. - Execute the following order types: - Market Orders - Limit Orders - Stop Orders - Support trade management functions, including: - Modifying open orders (e.g. adjusting limit prices) - Cancelling pending orders - Logging executed trades for confirmation/troubleshooting Preferred Technical Stack: - Language Python (required) - Platform Interfaces: - ThinkorSwim (signal generation via ThinkScript study; you will not need to write ThinkScript but must interface with it via named pipe) - Alpaca API (order execution) Ideal Candidate Should Have: - Strong proficiency in Python, especially with inter-process communication (IPC) using named pipes (FIFO) on Unix or Windows. - Prior experience building bridges or trading bots involving ThinkorSwim, Alpaca, or other broker APIs. - Understanding of order types and trade lifecycle (entry, exit, modification, cancellation). - Familiarity with Alpaca's REST/WebSocket API for order placement and tracking. - Strong attention to latency and error handling for robust live trading. Nice to Have: - Experience with real-time trade logging and UI feedback - Ability to scale the bridge to handle multiple ticker strategies concurrently - Knowledge of risk management rules and trade sizing logic Code Structure & Configurability: The code should be modular and well-organized, with clear separation between components such as signal parsing, order execution, and configuration. Key variables—such as ticker symbols, position sizing, order types, and Alpaca API credentials—should be placed in a dedicated configuration file (e.g., config.yaml, .env, or a settings section at the top of the script) to allow for easy updates without digging into core logic. Please include inline comments and function-level documentation to highlight editable areas, making it simple to maintain and adjust the bridge over time without requiring a complete rewrite.