In short
- Do it yourself if you know C#, have time to experiment and want to implement simple logic on price or volume.
- Hire a developer for order flow logic, for strategies that place real orders, and when the indicator has to run on other machines with other ATAS versions or time zones.
- Either way, the work starts with rules written down so precisely that two people understand the same thing, not with code.
What you need to do it yourself
An ATAS indicator is a C# class that inherits from Indicator. Strategies inherit from ChartStrategy. ATAS calls OnCalculate for every candle. There the code reads the candle with GetCandle and writes results into data series that ATAS draws on the chart.
- A Windows machine with ATAS. ATAS runs on Windows only; on a Mac you need a virtual machine.
- Visual Studio (the free Community edition is enough) with the matching .NET SDK.
- References to the ATAS libraries from the program folder, above all
ATAS.Indicators.dll. - Working knowledge of C# and object-oriented programming.
- The finished DLL goes into
Documents\ATAS\Indicators(strategies intoStrategies). If it does not appear, restart ATAS.
ATAS provides developer documentation with examples. For a moving average or a simple signal on closing prices, that is enough with some patience.
Pitfalls from real projects
I have actually run into each of these in client work. None of them is flagged as a warning in the documentation.
The wrong .NET version
ATAS 7 runs on .NET 8, newer ATAS 8 versions on .NET 10. A DLL built for the wrong target framework does not load, often without a clear error: the indicator simply does not show up. On top of that, a DLL built against a newer ATAS version will not load on an older one. That is why I always build against the oldest version the client uses.
Time zones
Since ATAS 8, candles carry the data feed time, not the computer clock. An indicator that should act at 9:30 works on the developer’s machine and stays silent for a client in another time zone. Market Replay hides the bug because it runs through every time of day. The fix: use the computer clock as reference, or offer the time offset as a setting.
Saved settings
ATAS saves all settings of an indicator with the chart. If a new version changes a default, the user keeps seeing the old value and wonders why the change does not work. The fix: rename the setting, or remove the indicator once and add it again.
Crash in the settings window
A shared abstract base class with public settings, or special characters in display names, has crashed ATAS for me as soon as the indicator was merely selected. Since then, every indicator inherits directly from Indicator, shared logic lives in helper classes, and display names avoid special characters.
Unreadable chart label
ATAS appends every setting marked as a parameter to the name at the top left of the chart. With ten settings the line becomes unreadable. A short display name and your own ToString method fix it.
Order flow: the real reason for ATAS
People choose ATAS mostly for the cluster data: volume and delta at each price inside the candle. That makes absorption, imbalances and volume profiles possible. The hard part is rarely the code, it is the definition. What exactly is absorption? How much volume, across how many price levels, in what time? So before I write a line of code, I ask for examples on the chart and write the rules back for confirmation.
Whether ATAS or NinjaTrader suits your strategy better is covered in ATAS vs NinjaTrader.
When a developer is worth it
- Strategies with real orders: OCO, stop, partial targets, break-even. A bug here costs money, not just time.
- Order flow logic: cluster data, delta, absorption, volume profiles.
- Distribution: the indicator has to run for other traders, with other ATAS versions, time zones or a licence lock.
- Time: when learning it would cost you more evenings than the project is worth to you.
For reference: my ATAS projects so far were fixed prices between $265 and $350 for indicators and strategies, and $150 to $165 for extensions such as a licence lock. The full list is in the guide How much does a trading bot cost?.
How a project runs with me
- You describe the rules and show examples on the chart.
- I write the rules back and you confirm them.
- You get a test version as a DLL.
- We compare it in Market Replay and on the live chart.
- Delivery including source code.
Notice: I write software to your specification. This is not investment advice and not a signal service. You alone decide on strategy, sizing and risk. Trading futures, CFDs, forex and crypto is risky and can lead to the loss of your entire capital. Backtests and past results say nothing about future results.