Platform differencescTrader C# to EasyLanguage: What Changes and How We Handle It
cTrader and TradeStation usually trade different instruments, use different languages and run code in different ways. These are the differences that decide whether a converted script behaves like the original — and what we do about each of them.
In cTraderIn TradeStationHow we handle it
Language
C# on cTrader’s Automate API, with classes, collections and .NET libraries
EasyLanguage — a bar-by-bar language with its own functions and objects
We keep the logic and restructure the code for EasyLanguage; .NET libraries are rewritten or replaced one by one.
Instruments
Forex, CFDs and other symbols from your cTrader broker
US stocks, ETFs and futures through TradeStation
If the instrument changes, we agree which one replaces each cTrader symbol and adapt sizes, price distances and sessions.
Trade size
Volume in units, from the symbol’s lot size and volume step
Shares or contracts — fixed, or from a dollar amount per trade
Sizes are recalculated for the TradeStation symbol and checked against your risk rules.
Positions
Positions found by label, on a hedging or netting account
One strategy position — long, short or flat — built from named entries
Each entry and its exits are mapped to TradeStation’s strategy position, with account synchronisation agreed separately; hedged positions are redesigned, and we agree how the strategy works alongside manual trades and positions already open at start.
Calculation
OnBar as a new bar opens and OnBarClosed for the last closed bar — both wait for the next bar’s first tick; OnTick for each tick
Strategies calculate on bar close unless intrabar order generation is on
We match which bar each piece of logic reads — forming or closed — and when orders are sent, and check intrabar behaviour.
Time and sessions
The cBot’s time zone setting and the symbol’s sessions
Bar times follow the chart’s setting — local or exchange time
We compare sessions, bar timestamps and the time zone each version’s logic uses — matching chart clocks alone isn’t enough.
Historical fills
cTrader backtesting on tick data or bar data
Look-Inside-Bar Back-testing for intrabar fills
We choose how intrabar history is calculated and filled for each strategy, so both backtests are compared on similar assumptions.
What may not carry over one to one
Some things depend on the platform itself: forex and CFD symbols the cBot trades, which TradeStation may not offer; cTrader Cloud, which has no TradeStation counterpart; and .NET libraries, web requests and file access, which are checked one by one. A TradeStation strategy trades the symbol of its chart: a cBot that trades several symbols independently can run as separate strategies, but if a signal on one instrument drives orders on another, or a shared risk limit applies, how the parts work together and how they are tested is agreed separately. We point these out before work starts and agree the closest TradeStation equivalent with you.