As per my above title, this bot is totally broken when comparing Sim vs Trade. The issue is not a missed trade based on network latency or not able to execute a trade but with actual totally incorrect triggered buy and sell signals.
Why are we accepting more PR's on useless features when the core of this bot is broken?
Are you saying that the bot isn't placing orders when the strategy returns a 'buy' or 'sell' signal, or are you saying that the strategy isn't producing the buy or sell signals when it should? The former would be the "core" of the bot, while the latter is probably mis-configured strategy settings.
How can it be the strategy when it's the same strategy used in both and with same options, this was Trading in Paper mode also. I'm not talking about a few mins of discrepancy but a huge difference.
Is it exchange specific? Are you using maker or taker? Can you be a little more descriptive about the specific problem you're experiencing?
See #1378 for your issue (at least i guess that you mean this as completely broken)
About the question why other prs are accepted. Why not there a people contributing patches for stuff they use, if they dont use sims why should the patch those? Thats including me why should i investigate on thongs i dont use w/o getting anything out of it? You are not even willing to explain what exactly is broken (there are a lot of things broken) and for which of those broken things you want a patch. if you would p.e. Attach screenshots like in the pr everyone would understand what your problem is...
Why are we accepting more PR's on useless features when the core of this bot is broken?
I'd also accept PR's that fix the core, since this is an opensource project you can't force people to work on certain things, so you have to row with what you have. I look forward to your PR's.
Yes a sim SHOULD be CLOSE to a live trade using the same parameters and strategy, currently it does not always match, partially this is due to maker/taker percentages and slippage or just the time it takes for an order to be fulfilled, other times I can only guess why. I plan on looking into this some time in the future, if only to answer the question of Why.
Also of note, some of us that has started contributing are still getting familiar with the code base. As for me, I have not tackled some of the things I see within the different commands unless I know for sure they are not going to break current functionality, and since I do not know the full ins and outs of the engine yet, I only change very minor things within them. And this will remain this way until I am comfortable. To gain that comfort I work on items outside of the code and slowly work my way in learning it, hence the contributions I've made that effect exchanges, or utilities.
I have already made the mistake of changing a core piece without fully understanding what it impacted, this resulted a breakage that was not obvious unless you did the math over a period of time, individual calculations were correct, but the accumulative effect was bad. luckily someone noticed this on the pull I submitted, and it didn't make it into the codebase.
I myself have a full-time 60hr/w job and a family so time is limited, as are others here, we contribute for various reasons, some because they use it and fix items they use, others like me it is a diversion from the daily demands of there own job/school and will wander around the code for fun (a hobby).
If the demand that I HAVE to fix something specific that I am not currently working on or interests me, the chances are I would say no, as my fun time morphs into worktime due to that demand, being ASKED is a different story altogether.
This is one (My) reason why something as you see as broken is not fixed.
I find this a fun project to tinker on, I like getting feedback from peers when things work, I also like getting constructive criticism from them as well (usually later, rather than at the time of reading), it helps to improve what I am doing. But the moment it turns into a job, I'm done. I already have one of those, I don't need another.
Why are we accepting more PR's on useless features when the core of this bot is broken?
Because people are contributing their time/knowledge to improve the code in one way or another.
For the record, i personally rarely use sim mode.
All of my "production" bots a trading live (mainly to pay themselves) and i change/improve stuff as i see fit/necessary/useful, arrogant as i am mostly to myself of course, as they do.
Will i completely agree that sim/live are two different worlds, as each mode is almost running its own code, i find the accusation that for this reason the "core" is broken ridiculous.
Stuff like #1378 definitely goes in the right direction to closes this gap by trading on a simulated exchange, but rest assured we most certainly never get the bot to perform in a sim just like he would in live mode. There are simply to many variables (most we can't even influence, leave alone predict) involved to make a e.g 10 days 50% profit simulation in the past reproduce the same result in a 10 days live session in the future.
Non the less i am definitely interested to hear what exactly "is broken" so somebody, maybe even me, can look into it and make a PR.
The code is open source and hosted on github for a reason.
Even if your coding skills are limited there are plenty of ways to contribute to the project in a useful way.
But rest assured, bitching alone isn't one of them :hankey:
Thanks for the write up guys, for those who fail to understand what the issue is:
The results would be totally different with signals being triggered on different times, so it's not something about slippages or something similar.
It seems to be something around the calculation at runtime in live mode being different, maybe the lookbacks are totally wrong or does not adhere to periods correctly.
I wish I had the time to look into it but I don't atm, if I do i'll def spend more time debugging this. If sim and live can work somewhat the same then the time people are working on strats can be more worthwhile, at the moment we don't know what the hell is going on, so it's like adding shit on top of shit, you might think that it's getting people involved and learning but it's just making it even more complex and you'll end up never fixing this stuff. This is my 2 cents amigos, don't get offended just my personal opinion from working on codebases such as these.
Dear issue reporter,
We have slightly changed our github issue policy and would now kindly request folks that have questions that they ask them in our zenbot subreddit.
You can find it here: https://reddit.com/r/zenbot
This issue will be closed, but if you disagree with your ticket being marked as a question feel free to leave a comment defending your case.
Thanks for contributing time and effort!
Greetings,
馃
Most helpful comment
Yes a sim SHOULD be CLOSE to a live trade using the same parameters and strategy, currently it does not always match, partially this is due to maker/taker percentages and slippage or just the time it takes for an order to be fulfilled, other times I can only guess why. I plan on looking into this some time in the future, if only to answer the question of Why.
Also of note, some of us that has started contributing are still getting familiar with the code base. As for me, I have not tackled some of the things I see within the different commands unless I know for sure they are not going to break current functionality, and since I do not know the full ins and outs of the engine yet, I only change very minor things within them. And this will remain this way until I am comfortable. To gain that comfort I work on items outside of the code and slowly work my way in learning it, hence the contributions I've made that effect exchanges, or utilities.
I have already made the mistake of changing a core piece without fully understanding what it impacted, this resulted a breakage that was not obvious unless you did the math over a period of time, individual calculations were correct, but the accumulative effect was bad. luckily someone noticed this on the pull I submitted, and it didn't make it into the codebase.
I myself have a full-time 60hr/w job and a family so time is limited, as are others here, we contribute for various reasons, some because they use it and fix items they use, others like me it is a diversion from the daily demands of there own job/school and will wander around the code for fun (a hobby).
If the demand that I HAVE to fix something specific that I am not currently working on or interests me, the chances are I would say no, as my fun time morphs into worktime due to that demand, being ASKED is a different story altogether.
This is one (My) reason why something as you see as broken is not fixed.
I find this a fun project to tinker on, I like getting feedback from peers when things work, I also like getting constructive criticism from them as well (usually later, rather than at the time of reading), it helps to improve what I am doing. But the moment it turns into a job, I'm done. I already have one of those, I don't need another.