freqtrade / freqtrade

Free, open source crypto trading bot
https://www.freqtrade.io
GNU General Public License v3.0
28.9k stars 6.19k forks source link

Folder structure complexity leading to bot malfunction on update #3179

Closed joe-nano closed 4 years ago

joe-nano commented 4 years ago

Hello Team,

Quick question, might sound dumb, but it's there a way to keep the folder structure less cluttered. There seem to be way too much confusion for some of us lesser folk. :)

So currently when I print path to folder, I get this. I have files populated within this folder but I can't the structure

root@JDCD:~/freqtrade/freqtrade# tree /path/to/folder /path/to/folder [error opening dir]

0 directories, 0 files

I do get something when I use the find . -type d | sed -e "s/[^-][^\/]*\// |/g" -e "s/|([^ ])/|-\1/" . |-strategy | |-pycache |-edge | |-pycache |-plot |-pairlist | |-pycache |-templates | |-subtemplates |-configuration | |-pycache |-pycache |-optimize |-commands | |-pycache |-resolvers | |-pycache |-data | |-history | | |-pycache | |-pycache |-exchange | |-pycache |-vendor | |-qtpylib | | |-pycache | |-pycache |-rpc | |-pycache |-user_data | |-notebooks | |-plot | |-hyperopt_results | |-strategies | | |-pycache | |-hyperopts | |-data | | |-binance | |-backtest_results

If I use find | sed 's|[^/]*/|- |g' .

Regards Joe

xmatthias commented 4 years ago

well from a user perspective, the only directory that should concern you is user_data and it's contents.

by supplying --userdir /some/directory to freqtrade commands you can also place this anywhere on your disk you like. (Personally, i usually run mine with --userdir ../userdir to keep the userdirectory versioned seperately).

The internal structure of freqtrade may seem like "many files" - but everything within __pycache__ directories is automatically generated by python.

Also, if you're a developer / trying to change freqtrade internals, then these files may concern you. But if you have some experience developing you'll soon realize that having more, small files will make a project much easier to maintain than having only a few large files.

Long story short

hroff-1902 commented 4 years ago

I did not get the point.

root@JDCD:~/freqtrade/freqtrade# tree /path/to/folder /path/to/folder [error opening dir]

0 directories, 0 files

What have you expected if you use the tree utility on a non-existing dir?

Are from the Udemy course and they teached you to place your custom strategies under freqtrade/strategies/ and custom hyperopts under freqtrade/optimize/?

joe-nano commented 4 years ago

I am from the Udemy course but that was not the issue

Hello some of the files seem to not be found and I'm having to install config files in multiple folders before the bot would run. I am not sure if this is supposed to be the case?

Not criticising I was just offering a suggestion and trying to understand why there are two freqtrade folders which makes it confusing to organise files. I printed out the directory structure to illustrate.

Regards, Joe

xmatthias commented 4 years ago

well if you're using the last version, you should be able to have the file in your user_data directory - so in user_data/config.json.

There is no other place the coniguration should be - so please remove it from all other places. Same for strategy / hyperopt files - all goes into user_data/<subfolder>.

joe-nano commented 4 years ago

Thank you Matthias I finally got it working, I have no intention of breaking it again. Thank you for your help.

hroff-1902 commented 4 years ago

and trying to understand why there are two freqtrade folders which makes it confusing to organise files. I printed out the directory structure to illustrate.

If you are about the freqtrade dir created by git and the freqtrade subdir in this -- this is the standard layout for python projects.

For example:

This is just a common convention for pythonistas, freqtrade codebase also follows it; so I just did not get the point you are talking about above...