SOAP2 can export a recorded trade or a saved combo model to a portable JSON file, and import one back in — on the same machine, a different one, or shared with someone else. This page covers both, plus a related feature for saved models: rolling one onto a new expiry before it's automatically pruned.
Related:
In the Trade List window (Alt+T), select a recorded trade and use the toolstrip's Export / Import buttons.
_import
suffix). You choose the destination account from the toolstrip's account dropdown before importing; if
nothing is selected, it defaults to Demo Account (added to the account list
automatically if it isn't already there).Because the account is assigned at import time rather than carried in the file, the same exported trade can be imported into as many different accounts as you like, each as its own independent trade.
Saved models (combo-leg templates, not recorded trades) live in the per-symbol Models browser, opened with Ctrl+M from an Options Analysis window. Right-click a saved model in the list:
Since a JSON-imported model's contract IDs may be foreign to the current session, a leg that matches an expiry tab other than the one you're currently viewing may be recorded without live data until you switch to that tab.
Also in the Models browser's right-click menu: Copy to New Expiry opens a submenu listing the other expiry tabs currently open in that Options Analysis window. Pick one, and SOAP2:
Matching is exact strike only: if a leg's strike doesn't exist at the destination expiry, that leg is left out and reported by name (strike/right) in the status bar rather than silently moved to a different strike.
Note: the destination must currently be an open expiry tab in that Options Analysis window — you can't yet target an expiry that isn't already loaded as one of the (up to 4) tabs.
Saved models are pruned automatically once their legs expire — silently, with no warning, at the next app startup or the next time the "Load Model" dropdown is opened after settlement. To give you a chance to act first, the Models browser now flags any model whose earliest leg settles within the next few days: it's shown in bold dark red with an "expires ..." label, and stays visible in the list even if you're currently looking at a different expiry tab. Use Copy to New Expiry (above) on a flagged model before it disappears.
SOAP_Data\ImportExport — a dedicated staging folder,
separate from the live Trades\ and Models\ folders those files are otherwise
read from and written to.SOAP_Data\Models\{Symbol}_Model_*.csv — JSON export
reads from there, and JSON import (as well as Copy to New Expiry) writes back into the same folder.Does exporting a trade expose which account it came from? No — account information is deliberately excluded from the exported file, including per-execution account data.
What happens if I import a model whose legs don't match any open expiry tab? The existing "Load Model" validation applies: if none of the model's expiries match a currently open tab, the load is cancelled with a "wrong chain" message. Open the relevant expiry tab first.
Can Copy to New Expiry target an expiry I haven't opened yet in this session? Not yet — only expiries already open as a tab in the same Options Analysis window.
Does Copy to New Expiry ever change or delete the original model file? No — it always writes a new file with a fresh timestamp.
Go back to the main help page: SOAP2 Help Guide