!QCL Solutions

Scalable Solutions for Institutional-Level Trading

Questions: A customer asked “What is the best way to reach you?”

Answer: For a faster response, please email a description of your technical solution needs to [email protected].  You will receive a quote via the email address that you provide.

Due to volume and timing, I have not been able to return every phone call. I apologize and am building a support team. In the meantime, please email me at the link above.


David O’Dell

Question: A customer asked how to track the 321 Crack Spread in TradeStation, like he has seen on a Bloomberg terminal and other platforms.

Answer: The 321 Crack Spread is based on shorting 3 contracts of Crude Oil, being long 2 contracts of Gasoline and being long 1 contract of Heating Oil.  Calculating the 321 Crack Spread involves three data streams. Traditionally for Gasoline one would use the NY Harbor Unleaded (HU) contract which no longer exists. The E-mini Gasoline (QU) contract follows HU well, but has little liquidity. So I have replaced the HU contract with the highly liquid NY Harbor Blendstock (RB) contract in the following formula:

CrackSpread = -3 * (Close Data1) + 2 * (Close Data2 * 42) + 1 * (Close Data3 * 42);

Data1 = @CL
Data2 = @RB (replacement for the defunct @HU contract)
Data3 = @HO

Let me know by email and I’ll provide you with a more detailed EasyLanguage indicator and an example workspace charting the CrackSpread.

I’ll email the zipped folder to you. Send the request below.
Or email request directly to [email protected].



There is more information about the 321 Crack Spread here:

321 Crack Spread explanation

321 Crack Spread Q&A


David O’Dell

Question: A customer asked how a TradeStation EasyLanguage Strategy can be set to send both a profit target and stop orders of an open position, to TradeStation servers.

Answer: They can’t both be placed with TradeStation EasyLanguage Strategies. Here’s my IM to the customer: “Strategies place limit order immediately. But as soon as it has a stop order which is closer, and stops are being sent to the servers, it pulls the limit order and places the stop. Both aren’t in the market at the same time. Strategies do not use OCO-bracket relationships. Strategies manage this on the user’s machine via the ‘strategy engine’.”

What you can do, as covered in the IM, is send Strategy orders directly to the TradeStation Order Execution Network. That way, if your machine goes offline and price was closer to your stop than target at the time, your stop will be in effect. Here is a picture of the Strategy dialog for setting the stop order handling feature. 

Alternatively, you can use RunCommand in EasyLanguage to issue PlaceOrder macro instructions. This way you can send real OCO brackets. There are caveats to this approach, but they are well worth learning if you wish to trade with Bracket orders systematically at TradeStation.


David O’Dell

Question: A customer stated that he was using OwnData to import custom daily data from Yahoo to TradeStation. He said that he could not get it to work and asked for help. Is there an easy way?

Answer: Yes. I have used OwnData and it is a fine product, but not a necessary one for the task. I regularly do this myself with various sources of daily data. I’ve found the easiest solution is to create daily data files in csv format (so they can be easily edited in Excel), save them in a predefined folder structure, and create or add to an Attributes.INI file in each respective folder (telling TradeStation how to interpret the data files). The only operation necessary in TradeStation is to assign a symbol prefix that works with each Attributes.INI file.

Instructions below are based on a demonstration folder called “MyData”.

I’ll email the zipped folder to you. Send the request below.
Or email request directly to [email protected].



It contains an example daily data file for SPY from the Yahoo site. Along with it is the necessary Attributes.INI file. Download and unzip the folder. Place it where you can locate it easily, as in the root directory of your C-drive, i.e. at “C:\”. Then follow these instructions for using the 3rd-party data file for the first time in TradeStation:

Once you have created a prefix, any new data files that are of the same format, can be added to the folder with the correct Attributes.INI file. Simply add a description line for the new data file in the Attributes.INI file, and TradeStation can use it, without having to create another prefix or go through the new-symbol setup process.

Generally when there are problems reading new data, it is related to data being out of sequence. The left columns of the data file for Date and Time must be chronologically ordered from oldest to newest going from top to bottom.


David O’Dell


No comments

!QCL Solutions!QCL Solutions, LLC develops and deploys scalable software and hardware solutions for professional traders. !QCL Solutions is focused on extending high-end trading applications, automated systems, technical analyses, information access, computing and colocation services for investment managers to compete and grow. Technical solution for the serious business of electronic money management requires experience and discipline. We work with TradingApp subscribers and like-minded firms.

Sign up for products on the TradeStation TradingApp Store.
Below are featured solutions for TradeStation customers to trade effectively with scalable systems.

TicketTrader Add-On TicketTrader is designed for price improvement and market impact control through order slicing algorithms. TicketTrader allows you to step into target positions with multiple orders over time, limiting order quantities based on market activity, and enacting variably aggressive limit and stop prices relative to spreads. Use market orders or periodically convert to market when orders must fill. TicketTrader takes care of the details for you in trading and tracking application-owned positions.
TicketManager Add-On Professional Algorithmic Auto-Trading of TradeStation Strategies with robust scalable operations for price improvement and market impact control. TicketManager aggregates and manages all your strategies. Equity-curve optimize and automate, unleash the power of RadarScreen trading, and more. Don’t get bogged down with alarms trying to keep your strategies synchronized. Break free to focus your business forward. For enhanced algorithmic management, TicketManager integrates MDVelocity data feeds.
AutoBrackets Add-On Automate your TradeStation Strategies to place each signal, with matching stop and limit orders paired in brackets. Have all your orders in the market for effective protection against disconnections and other interruptions, secure from system derailment, incomplete coverage and over-execution risks. Enjoy global controls, use with TicketManager, and more. Exploit the power and flexibility of EasyLanguage Strategies to place, pair and manage your orders your way with dialog-free fluidity.
MDVelocity Add-On MDVelocity focuses on newest indications of buy and sell interest available in the market, so that trading systems can gauge where future trades may happen. Current inside bid and ask quotes can be old and misrepresent trading interests. Rolling period volume weighted averages of incoming quotes better indicate supply demand forces. Go beyond mere prices, quantities and levels, with rate and recency of incoming quotes fully considered. Automatically integrates with TicketManager algo trading for enhanced price improvement and market impact control. Find real value in market depth with MDVelocity.
OptionsX Add-On OptionsX is a toolset for automated options trading relative to underlying symbols in TradeStation Charts and RadarScreen. It is designed for traders looking to enhance the buying power and profit potential of their strategies through options. Turn any strategy into an automated options trading system easily with opStrategiesMonitor. Even automate options trading for lists of underlying symbols with opMPTrader in RadarScreen.

!QCL Solutions on Twitter !QCL Solutions on LinkedIn tsAddOn

This website is not meant to provide investment or trading advice. Any decisions you make based upon information contained in this website, or through links, are done solely at your own risk.   

References to investment and trading performances should not be construed as recommendations of any investment or trading methodology. Past performance of any investment or trading methodology is no guarantee of future results.

If you choose to trade, be aware that risk of loss can be substantial. Leveraged trading such as through options, futures, and forex exposes traders to heightened risk. Furthermore, traders may sustain losses greater than their investments, regardless of which asset classes are traded. Before trading, carefully consider inherent risks in light of your financial condition.