Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
In AutoTrading is a phantom (dummy) contract and a live (replay) contract possible?
I've played with a number of bots, mostly simple SAR ones that do not make money, but they still show a positive # of ticks on a high 80% of trades before moving adversely. I.e., very few trades are entered at the top or bottom of the move (except in the worst chop). So naturally I add a target and stop loss to catch the initial surge and limit my downside. But then, of course, the simple algo increases the total number of trades, and I am worse off than I started.
So my question is, can a bot have that first contract not actually trade live (or replay), but be used as a signal to the second contract to enter live (replay), the second contract having the stop loss/target requirements on it, but the second contract, after closing out, would not take another action, until the first contract signaled it again?
Is this a common mis-perception of trade analysis or am I on to something here?
Here's a picture of a bad patch of trades, that 8 out of 10 could have been profitable with a 5 tick PT and a 10 tick Stop. But building that in increases the number of trades.
I do it in Sierra Chart, so I'm pretty sure you can do it in Ninja. I just create a separate calculation with a virtual position using natural entries and exits and control the units with a series of if statements then make my entry the same as the virtual entry but exit on fixed stops and targets.
I have sort of done this. My development stuff tests its own performance using "internal trades." I wanted to be able to invoke OnBarUpdate from within the strategy without potentially actually initiating a trade.
Far from elegant, I ended up creating algorithms parallel to the commonly-called structures in NT (such as Performance and Position). In NT you have Position.MarketPosition types. Essentially, I added a new type myInternalPositon.myInternalPosition type that declares Flat, Long, and Shrot positions for the internal/virtual trades. Doing this, writing stop and target catch logic for the internal trades, and writing a wrapper around OnBarUpdate enables the strategy to backtest and optimize itself.
With the same logic, you could by default operate in the internal/virtual mode. Once you hit a certain success criteria, you could automatically switch on for real.
I can do this using one strategy as a "master trader" placing sim trades and another as the "slave trader" placing sim or live trades. So for every strategy you would have two running at once, one controlling the other.