Auto-Trading Solutions for Thinkorswim® Overview
//2024 Edition//
Welcome, fellow traders! If you’re here, it’s probably because you’re curious about auto-trading solutions on the Thinkorswim® platform. Let me start by giving a big shout-out to the moderators of this forum for keeping us all on track and ensuring a safe space for sharing knowledge.
Now, if you’re anything like me, you’ve likely encountered the allure of those “get-rich-quick” schemes promising big wins with little effort. We’ve all learned the hard way that trading isn’t easy—it’s a risky game that requires education and diligence.
Let me be clear: this review isn’t about pushing any trading bots or promising overnight riches. I’m simply sharing what I’ve learned as a way of giving back to this amazing community.
I’ve learned a ton from many of you, and I still consider myself a student in this ever-evolving world of trading.
Shoutout to
@BenTen and
@MerryDay - Thank you for your tools and amazing tutorials!
So, Can You Really Auto-Trade with Thinkorswim®?
As we know, Thinkorswim® doesn’t support fully automated buy and sell orders; it requires manual input. Sure, you can set up conditional orders, but they still need to be created manually and only execute once.
But is there a way to truly automate trading on Thinkorswim®?
If you’ve ever stayed up late, you might have caught Ron Popeil on TV, enthusiastically selling his rotisserie ovens and getting the audience to chant: “Set it and forget it!”
As humans, we naturally seek ways to make life easier—hence our love for automation.
I’d like to structure this post around a few key questions to guide our exploration:
- What should the criteria be for selecting and accepting a solution?
- What technologies and best practices are available to the general public?
- What are the most popular solutions or experiments out there today?
- What are the strengths, weaknesses, and areas for improvement?
Also, dear reader, before we jump to any conclusions, let’s agree on something important: there’s really no such thing as a one-size-fits-all when it comes to people, power tools, software, or trading strategies.
With that said, let’s dive in...
My Auto-Trading Solution Selection Criteria
With over 15 years of experience in the FinTech sector, I've established non-negotiable criteria that guide my selection of any technology or solution:
- Meeting User Expectations
The solution must deliver on its promises.
- Manageability and Maintainability
The solution must not be complex to learn and operate.
It must have monitoring capabilities with straightforward support controls.
- Functionality Improvements
The solution must be adaptable and ready for enhancements to address any limitations.
As a trader and Thinkorswim® user, I have a well-structured workspace equipped with essential tools, including indicators, watchlists, and scanners. I follow best practices, particularly the
3 timeframes X 3 non-collinear indicators approach. For those interested, here are a few recommended reads:
Here’s a bit about my trading approach:
- Symbol Monitoring: I typically monitor around half a dozen symbols, focusing mainly on intraday or weekly stock trading.
- Risk Management: I manage risk through the use of trailing stops and ensure that I never trade more than 10% of my cash account.
- Practice over Live Trading: I spend more time using paperMoney® for practice rather than live trading, as I believe in honing my strategies in a controlled environment.
- Alerts and Notifications: I’m not a big fan of alerts—they tend to be resource hogs, and I already receive enough notifications throughout the day. At times, I feel overloaded, especially when watching 3-6 symbols with ~9 chart objects per symbol across my multi-screen workspace.
- Custom Watchlists: I love watchlists with custom quote columns, as they provide consolidated monitoring with real-time signals.
Given my setup and trading style, I’m particularly interested in an auto-trading solution that can save time and reduce the emotional aspects of trading.
What I Expect from an Auto-Trading Solution:
- Multi-Symbol Monitoring: The solution should be capable of monitoring multiple symbols, reacting to changes, and capturing events from my Thinkorswim® strategy (or strategies).
- Signal Interpretation and Evaluation: It should provide robust support for signal interpretation and evaluation.
- Order Execution: The solution should enable seamless assembly of order conditions and provide precise control over order triggering.
What I’m Looking for in a Tool:
- Non-Invasive: I want a tool that is free from sales pitches about getting rich quick, has no hidden fees, and doesn’t push metered promotions.
- Security and Reliability: The tool must provide a secure way to test, implement, and run my strategy automation.
- Active Support and Community: I value good documentation, an active development team, and a strong community for assistance and feedback.
Let me be clear: I’m not looking for freebies—I’m seeking a product that’s worth my time and investment. I’m realistic about my expectations and prepared for potential limitations.
Oh, and just to add a personal touch—I’m not a nutritionist, but I’m confident that many of you will agree with my trading “diet” and consistent routine. And yes, I also meditate!
Relevant Technology Tools and Approaches for achieving Automation
Considering the scope of this topic, I’ve identified two qualified categories:
1. Computer Screen / User Desktop Application Monitoring and Manipulation:
Achieved using Robotic Process Automation (RPA) technologies.
The idea is based on replacing human actions with automation flows.
Many organizations find noticeable improvements in productivity with RPA, especially when working with legacy applications that can’t be replaced quickly. However, RPA requires preparation, customization, and ongoing maintenance. Essentially, you’re creating a macros-driven “digital employee” that requires a fully cloned and isolated environment. Any disturbance in the desktop (e.g., maximizing/minimizing application windows, opening new applications, changing the position or resolution of the display, etc.) could cause the process to abort or malfunction. Vendors claim that their products have become more stable in recognizing changes and taking actions, but I’m not here to judge.
2. Platform Native Integration Capabilities:
Achieved using Application Programming Interfaces (API) supported by the vendor (in our case, Charles Schwab).
- The Thinkorswim® Windows desktop client supports exporting/streaming quotes data to Microsoft Excel using the RealTimeData (RTD) protocol.
For those interested in learning more, here are some useful resources:
- As of spring 2024, Charles Schwab re-opened limited support for API products, offering market-data and order-management capabilities to retail traders. You can get started by visiting their developer portal: Schwab Developer Portal.
Per my findings, Schwab is still improving its APIs and backend support.
One of the major downsides at the moment,
- The lack of support for integration testing (no sandbox environment)
- No order routing through a paper trading account.
There’s an active ex-TDA users community building a Schwab Python wrapper library—check out
schwab-py. It’s a great crowd with lots of experience on the Thinkorswim® platform and a FREE Discord community.
Popular Thinkorswim® Auto-Trading Solutions, Attempts, or Experiments
Based on my research, there have been numerous attempts to create an auto-trading tool for Thinkorswim®. Many of them are discussed on this forum—search for threads like {"API Trading" | "ALGO Trading"}.
Here are a few useful threads:
There’s also a great thread on ALGO trading:
Special thanks to
@SilverWolf for sharing his AutoHotKey scripts:
Here are a few threads discussing the automation of the Moving Average Master strategy with Macro Recorder (
https://www.macrorecorder.com/):
As I briefly touched on in my earlier posts:
In my ongoing search for the most practical auto-trading solution, guided by the selection criteria I outlined above,
I decided to experiment with Algokick (
https://algokick.com/).
Although the product is still in BETA, it shows considerable potential.
That said, there are some limitations that I’ll discuss further below.
From watching the Algokick
YouTube tutorials, it’s evident that this product’s architecture is strongly rooted in Thinkorswim®’s native integration capabilities.
Why Algokick Could Be a possible Game-Changer
Integration with Thinkorswim® Desktop Client:
Algokick supports sourcing custom quotes data from the established watchlist through the RTD protocol. If you may recall, Thinkorswim® allows users to create up to 19 custom quote fields that can be added as a column to various watchlists. Once created and added to the watchlist, the output of that field can then be exported in real-time to Algokick.
One of the most valuable features of the product,
when porting your trading strategy - its ability to store and map complex data types, such as JSON like key-value pairs.
Below is an example of a CUSTOM quotes watchlist column thinkScript code:
CSS:
AddLabel(Yes, "{ " + "U4_MrktFcstTrend: " + U4_MrktFcstTrend + "," + "U5_VolBasedBuySellMomentum: " + U5_VolBasedBuySellMomentum + "," + "U6_VolBasedBuySellTrend: " + U6_VolBasedBuySellTrend + "," + "U6_StdDevReader: " + U6_StdDevReader + " }" , COLOR.WHITE);
that produces a JSON-like string as output:
JSON:
{ U4_MrktFcstTrend: 2,U5_VolBasedBuySellMomentum: 1,U6_VolBasedBuySellTrend: 1,U6_StdDevReader: -1 }
NOTE: I have also experimented with mapping single column values to numeric datatypes in Algokick.
When integrated into a trading strategy, this allows for streaming multiple indicator signals from a single column (with time-aggregation set at the column level).
Considering the "rule of thumb" chart setup with 3 timeframes x 3 non-collinear indicators, when porting to Algokick, the ideal approach involves creating 3 custom quote columns, each containing the signals from 3 indicators grouped into a single JSON key-value pair string per column. Once this is done, you can apply the timeframe aggregations from your charts to these columns.
Summing Up:
By porting your studies or strategy logic to watchlist column(s), you transform your trading workspace into a unified, market-data-driven matrix of symbols and custom signals. This approach allows you to consolidate key data points and strategy outputs into a single, easily manageable view, reducing the clutter and complexity often associated with maintaining multiple charts.
Instead of tracking numerous charts, each with its own set of indicators and signals, you can centralize all relevant information in the watchlist columns. This not only makes it easier to monitor multiple strategies simultaneously but also enhances your ability to quickly identify trading opportunities across different symbols. The streamlined setup improves efficiency, minimizes the risk of missing critical signals due to screen overload, and provides a cleaner, more organized trading environment. This is especially beneficial for traders who manage several strategies or need to keep track of numerous assets, as it allows for faster decision-making and a more focused trading process.
An idea kept to yourself is like a caricature sketch hidden in a drawer—funny, but no one gets the joke. Share it, and watch it become a masterpiece of collaboration
As part of my testing, I ported a few trading strategies—both user-defined and based on studies provided by Charles Schwab—exposing multiple signals (e.g., Buy and Sell momentum flags, trend confirmations, etc.) to ensure seamless integration with my existing setup.
I think it is worth mentioning, the product includes a preconfigured Thinkorswim® workspace, which is shared as part of the tutorials. Good start for beginners.
If you are new to trading and thinkscript and want to learn more about trading strategies, this forum has massive resources covering
Strategies & Chart Setups. I recommend following the magic of thinkscript virtuoso
@samer800.
Also, I recommend subscribing to
Trader Talks: Schwab Coaching Webcasts.
Here are some of my favorite tutorials from famous Charles Schwab educator Ken Rose:
Strategies Session 1
Strategies Session 2
Strategies Session 3
Trading Multiple Symbols: This is what truly sets this product apart from traditional chart screen-monitoring tools. When integrated with your “Positions’ Candidates” watchlist, Algokick sends real-time signals for evaluation and order execution, seamlessly auto-trading your strategies’ entries and exits.
Mapping Watchlist Symbols and Configuring Orders:
Algokick provides support for mapping watchlist symbols, signals and configuring orders.
It offers an Expression Wizard for assembling conditions for evaluating strategy signals and triggering orders.
paperTrading®: Without a doubt, this is the most important feature the product offers. Acting as a mediator between the Thinkorswim® desktop and web client, it allows for seamless, user-controlled switching between modes.
Security and Reliability: Algokick uses secure API tokens to facilitate authentication, ensuring that your data and automation processes remain secure.
Monitoring: The Algokick workstation features a well-established Health Monitor panel and built-in alerting system to notify you if the AutoTrading service is interrupted.
Replay Feature: Algokick offers a straightforward Replay feature that allows you to upload trading session logs for backtesting and refining your strategies. I’ve used it a few times after tweaking the logic for trigger conditions. While some users might find this feature too basic and hope it could replace Thinkorswim® OnDemand, I find it quite useful, as it lets me work with quotes based on data collected from my strategy runs.
Product team and Community Support:
As a Thinkorswim® desktop user, I experienced a smooth onboarding process with no delays. After registration, I jumped into the tutorials and reached out with questions whenever I needed help identifying the best approach for integrating my logic. Given that this product is available for FREE, it’s hard to find anything to complain about! Plus, their team is highly responsive, consistently providing fixes and updates that can be easily downloaded from the user portal.
Limitations and Findings:
a. If you are a Mac user, you are out of luck. The RTD is a Microsoft Office Excel proprietary protocol, and Algokick is a Microsoft Windows application.
The only solution: Install the Thinkorswim® desktop client on a Microsoft Windows workstation dedicated to auto-trading with Algokick.
b. During the download and installation, Microsoft Windows might display a warning because this beta version isn't signed as a Microsoft Trusted Publisher. Per my experience, for startups, the decision not to use an
Extended Validation (EV) code signing certificate often comes down to cost and prioritization. While not having an EV certificate might trigger security warnings, many startups focus on building trust through other means, such as maintaining transparency, engaging with their user community, and regularly updating their software to ensure security and reliability. This approach allows startups to allocate resources more effectively while still fostering user confidence.
While I'm not here to tell you what to do! I can only share that my continuously running antivirus and firewall software didn't detect anything suspicious.
c. This product is not suited for scalpers. While Algokick seamlessly integrates with Thinkorswim®, it is relying on broker’s speed to execute orders.
c. This product seems well-suited for trading stocks and futures. While I don’t trade options myself, from what I’ve seen on the Order Assembly screen, it appears that options support may be lacking. I encourage those who trade options to try it out and share their feedback.
d. When porting thinkscript logic, it's best to allocate the majority of the calculations to Thinkorswim® desktop, exposing strategy signals as numeric values. I have found this approach works better for integrating with Algokick when mapping signals and simplifies the management of triggering criteria assembly.
e. Implementing risk management with this product isn’t as straightforward as I’d hoped. I’ve already reported this to their development team and requested the addition of a TRAILSTOP % based configuration. However, since I’m not trading penny stocks, which are extremely volatile, this isn’t a major dealbreaker for me. I expect it will be resolved in future updates.
In Summary
In my opinion, Algokick stands out as a strong contender for automating trading on Thinkorswim®. It offers more stability and integration than traditional screen-monitoring tools, which rely on mouse movements and clicks to manage orders. While there are some limitations, especially for Mac users, Algokick may just be the tool that brings us closer to that almost-perfect trading setup—efficient, effective, and easy to use.
My Final Thoughts
"Algotrading" is not for everyone!
If you're just beginning your trading journey, it's crucial to take a step back and build a solid foundation first. Understanding the market, its nuances, and how your own personality interacts with trading pressures are key components that should not be overlooked.
Trading isn't just about speed, especially for retail traders like us. The allure of quick profits can be tempting, but without a deep understanding and experience, it can lead to costly mistakes.
Please start with paper trading! Use this invaluable tool to practice without risking your hard-earned money. Paper trading allows you to test strategies, learn from your mistakes, and refine your approach in a risk-free environment. Trust me, mastering the basics and testing your strategies on a virtual platform will set you up for much greater success in the long run.
Don't hesitate to share your opinions, findings, and experiences with trade automation tools you've encountered on your trading journey. Remember, our collective knowledge is what drives our success!
Happy trading!
“
Perfection is achieved not when there is nothing more to add,
but when there is nothing left to take away.” - Antoine de Saint-Exupéry