Unique feature to user
Small tweaks often have a wide-ranging impact on the software, so it's not really viable most of the time.
We've tried to design the software so that people can modified to suit for that particular reason. We can maintain the integrity of the software but offer a lot of flexibility for customisation.
We've tried to design the software so that people can modified to suit for that particular reason. We can maintain the integrity of the software but offer a lot of flexibility for customisation.
I'm sure BA could create the functionality you want. But it would be very expensive and you need to ask yourself what would happen at the next release of BA?
BA would have to create another bespoke version for you, or you would miss out on the latest BA stuff or lose your tweak. And then you would have to pay again for your tweak to be applied to the latest version of BA.
The best way is to get your tweak included into BA (switchable if necessary).
Trust me, what you're asking for isn't sustainable for BA or you.
BA would have to create another bespoke version for you, or you would miss out on the latest BA stuff or lose your tweak. And then you would have to pay again for your tweak to be applied to the latest version of BA.
The best way is to get your tweak included into BA (switchable if necessary).
Trust me, what you're asking for isn't sustainable for BA or you.
fair comments, thanks guysgreenmark wrote: ↑Mon Jan 16, 2023 3:06 pmI'm sure BA could create the functionality you want. But it would be very expensive and you need to ask yourself what would happen at the next release of BA?
BA would have to create another bespoke version for you, or you would miss out on the latest BA stuff or lose your tweak. And then you would have to pay again for your tweak to be applied to the latest version of BA.
The best way is to get your tweak included into BA (switchable if necessary).
Trust me, what you're asking for isn't sustainable for BA or you.
actually, one (of many) ways to do this (which would have zero impact on the BA maintained codebase) would be via the use of custom plugins. these could be written by the users themselves, or commissioned by a user.
the current platform (in c# - i presume), could easily expose a software interface (i.e. a contract signature that the plugin would look for e.g. ICustom()) and the implementation would simply be down to the imagination of the end user's design goal.
this would actually be a great model as it would allow the BA engine to be used by the plugin eco-system in novel and interesting ways (without affecting any of the BA codebase). this could co-exist with (but not rely on) the rules engine, and would allow for very focussed functionality to be included, of which BA internals neither cared nor worried about.
food for thought...
- ShaunWhite
- Posts: 9731
- Joined: Sat Sep 03, 2016 3:42 am
Surely the plugins would need a framework to plug in to? Otherwise there's no shared information or functionality. The the versioning issues come back.
But the principal holds up, I initially only used BA as a transaction processor (via excel) and for position keeping until it became nessesary to handle that myself too.
I suspect if Korattt reveiled his top-secret cunning plan there'd be an equally cunning way to do it somehow.
- ShaunWhite
- Posts: 9731
- Joined: Sat Sep 03, 2016 3:42 am
Worked for a place once who decided that was a good idea, customer base of around 200 big firms. It was, as predicted, a fckn disaster 3 versions down the road even though they were getting charged about 100k a year for the pleasure of a custom stream. You couldn't even apply cross the piece enhancements and features because they'd all gone different ways.
i'm maybe assuming that the guys are using dependency injection, interfaces and clean architecture under the covers, thus making this pretty simple. but yes, if that's not the case, then it would entail significant reworking.!ShaunWhite wrote: ↑Mon Jan 16, 2023 5:35 pmSurely the plugins would need a framework to plug in to? Otherwise there's no shared information or functionality. The the versioning issues come back.
But the principal holds up, I initially only used BA as a transaction processor (via excel) and for position keeping until it became nessesary to handle that myself too.
I suspect if Korattt reveiled his top-secret cunning plan there'd be an equally cunning way to do it somehow.
- ShaunWhite
- Posts: 9731
- Joined: Sat Sep 03, 2016 3:42 am
Ah, Lorem ipsum dolor sit amet, consectetur adipiscing elit.
My reply will make as much sense to you as yours did to me . I should know better than to talk tech with you because I always come away feeling like Fred Flintstone.
You do not have the required permissions to view the files attached to this post.
I had to google those terms.jimibt wrote: ↑Mon Jan 16, 2023 6:01 pmi'm maybe assuming that the guys are using dependency injection, interfaces and clean architecture under the covers, thus making this pretty simple. but yes, if that's not the case, then it would entail significant reworking.!ShaunWhite wrote: ↑Mon Jan 16, 2023 5:35 pmSurely the plugins would need a framework to plug in to? Otherwise there's no shared information or functionality. The the versioning issues come back.
But the principal holds up, I initially only used BA as a transaction processor (via excel) and for position keeping until it became nessesary to handle that myself too.
I suspect if Korattt reveiled his top-secret cunning plan there'd be an equally cunning way to do it somehow.
this article sums it up pretty well: https://medium.com/clean-architecture/d ... 2baa862c5dDerek27 wrote: ↑Mon Jan 16, 2023 7:33 pmI had to google those terms.jimibt wrote: ↑Mon Jan 16, 2023 6:01 pmi'm maybe assuming that the guys are using dependency injection, interfaces and clean architecture under the covers, thus making this pretty simple. but yes, if that's not the case, then it would entail significant reworking.!ShaunWhite wrote: ↑Mon Jan 16, 2023 5:35 pm
Surely the plugins would need a framework to plug in to? Otherwise there's no shared information or functionality. The the versioning issues come back.
But the principal holds up, I initially only used BA as a transaction processor (via excel) and for position keeping until it became nessesary to handle that myself too.
I suspect if Korattt reveiled his top-secret cunning plan there'd be an equally cunning way to do it somehow.
it really will open up the door to more flexible architecture if you follow these principles. enjoy
nah, fear not Wilma... at the end of the day, it's all about horses for courses. If the code you require is tightly focussed on one core requirement, then why change your approach, given the learning curve required. that said, using dependency inversion/clean architecture can allow you to wire things up so you can really leverage your code components in a variety of loosely coupled configurations. one typical scenario might be to emulate streaming data coming from raw files on your hard drive (not a great use case i grant you). You could simply create an interface here (IStreaming()) and implement it against either the live BF stream, or against raw test files on your local drive, thus be able to test strategies with the same code that you'd use in production. (not very well explained, but hopefully on a wider basis you'll see some of the benefits).ShaunWhite wrote: ↑Mon Jan 16, 2023 7:23 pmAh, Lorem ipsum dolor sit amet, consectetur adipiscing elit.
My reply will make as much sense to you as yours did to me . I should know better than to talk tech with you because I always come away feeling like Fred Flintstone.Screenshot_20230116_200057.jpg
will ping you an example in due course!!
- ShaunWhite
- Posts: 9731
- Joined: Sat Sep 03, 2016 3:42 am
That's exactly how I do it. Switching between live or stored stream, with live or simulated orders. 3 dev phases with no risk patching code. And all the strategy code is driven by parameter files too so Guardianessque in that regard rather than hard coded.
It's the terminology rather than the design where I'm exposed.
I've always steered well clear of hard coding and write software with future modification in mind, but I think I'll read Jim's link later and see what I can learn.ShaunWhite wrote: ↑Tue Jan 17, 2023 2:18 pmThat's exactly how I do it. Switching between live or stored stream, with live or simulated orders. 3 dev phases with no risk patching code. And all the strategy code is driven by parameter files too so Guardianessque in that regard rather than hard coded.
It's the terminology rather than the design where I'm exposed.