Comments (5)
Really amazing work.
Creation of something like this take years of constant thinking and hours and hours of market data analysis, experimentation and heads down coding.
Truly an impressive feat!
From decades of mission-critical system design and management I know how hard this was to pull off successfully and how much more work it is than would appear on the surface. Truly an impressive set of capabilities.
You have a really big head start on me here. I did not start focusing directly on this work until I exited my previous career via early retirement ( from Software and Systems Engineering, Enterprise Architecture, Advanced Analytics and Data Management at a Fortune 100 company).
Your work confirms a longer term vision I have been evolving, and doing deep technical research but have not yet started coding.
Develop the the real-time operational core independent of any strong dependencies NT (or any specific ) and above that in a modular (as loosely coupled as I can get it) layer on NT, Machine Learning, AI Learning and maybe other vendors products as they surface
Using each of those other components and vendor products just where they add tremendous value, avoiding areas of constraint and weakness.
But the core is fully independent, reliable, redundant, fast ... all the other great adjectives.
from ninjatrader8.
Both test clients eventually locked up.
"running with out 1 hitch in 1 year i do use small fine grain locks such as
lock (account.Positions)"
Great!
I have been reading on this since I got up.
After trying to ferret out the object model I believe we should test
lock (Account.Orders)
Account.CancelAllOrders(this.Instrument);
and if that does not work then capitulate and test.
lock (Account.All)
Account.CancelAllOrders(this.Instrument);
from ninjatrader8.
A Question on locking basics my brains is down to one brain cell the other is on strike
public List OrdersActive
{
get
{
lock (ordersRT)
return ordersRT;
}
}
so if we now do a lock somewhere else
bool someFoo =false;
lock(OrdersActive)
{
someFoo= OrdersActive.Count()>0;
}
// is this not double locking... and is it needed...?
is that not the same as the get lock?
someFoo= OrdersActive.Count()>0;
Answered
In Multi-threaded run: is it the double locking? .. No
The first lock expires on advent of the second curly bracket in the first block. The second lock is independent and required to prevent the first lock from taking place again while the second lock is in use.
An important question here that is a burden or a blessing is .. does the 'return ordersRT' return a copy?
Blessing: If so (is a copy) that copy is not locked and independent. Use of it does not require locking if only one thread will use it at a time.
Burden: Copying is slow and loads up Garbage Collector work.
from ninjatrader8.
"running with out 1 hitch in 1 year i do use small fine grain locks such as
BUT....... thinking about it the control center locks up and if you click on it, you get 2 verison of NT8 running in the process list...
have to kill both so i have a scheduled tasks that checks for this every 1 minute and restarts it.. .it doenst happen a lot as i dont click on it during trading... user interaction seems to hang NT8 - so i let the algos run and really do not interfere
in its defence i am pulling loads and have implemented automation to a level never imagined by NT
Picture removed due to NDA constraints - even though its mine - its exclusively provided to a small group of commercial clients only
this would take 8 hours to load unless it was done programmatically ;-) takes 15 to 20mins to proper start algos trading in realtime. not showboating but this a display of the power of decoupling it all and moving away from strategies as live trading tools for large scale true swing trading 100% unattanded even the server stops and starts and loads nt etc... the only thing i do is roll contracts and save workspaces - historical data for 65 futures contracts are replicated out from 1 main machine... each client only loads 1 day - but on a weekend cycle is will restart reboot NT8 and download 7. prior to the sunday open etc
so to me the role of a strategy is for backtesting -and maybe some realtime sunday to Friday attended interactive trading.. but when i got this beast strategies are only for testing hypothesis prior to running in large scale parrallel realtime tests.
So very much so we have great power in NT8 and we need not stay inside the box using strategies.....
from ninjatrader8.
from ninjatrader8.
Related Issues (20)
- Compilation Error HOT 1
- Greetings! HOT 4
- Question HOT 2
- Blazor and Maui HOT 1
- Regarding the latest build. Did you intend to include Resource.resx and @SMA.cs ? HOT 17
- NinjaTrader 8 Installation Zip File required for easy import into NinjaTrader HOT 2
- File Structure ATSQuadroStrategyBase.GUI Folder HOT 1
- Which code to compile HOT 2
- Bug in OnOrderUpdate with case OrderState.Working: HOT 1
- Getting Compile error for UserControlNinjaBuddy\xaml\txt.cs HOT 3
- Code Breaking Changes - Renamed folder from ATSQuadroStategyBase to ATSQuadroStrategyBase
- DateTime.Now and Then (backtests) HOT 6
- String.Format Index error inside example Exception HOT 1
- Compile error HOT 1
- ATSIndicatorQSBStrategyInfoBar.PNL not being updated HOT 1
- does replay mode get a timeout from the workflow? HOT 1
- does unsafe mode have a bug - OrdersActive List is not populated in "Unsafe Mode HOT 1
- ATSIndicatorQSBStrategyVisualiser is also not populated with data HOT 2
- Compilation Error With Base HOT 2
- Rithmic trade entry executions does not trigger Stops and Targets due to execution caveat in NinjaTrader 8 with Rithmic HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ninjatrader8.