ThinkorSwim-Python FIFO Bridge for Order Execution
Budget: $750 – $1,500 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.
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.