Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • May 14 06:58

    oliver-zehentleitner on master

    Update README.md (compare)

  • May 14 06:56

    oliver-zehentleitner on master

    Update README.md (compare)

  • May 13 07:44

    oliver-zehentleitner on master

    setup win (compare)

  • May 13 07:36
    oliver-zehentleitner closed #22
  • May 13 07:33

    oliver-zehentleitner on master

    setup win (compare)

  • May 13 07:33

    oliver-zehentleitner on master

    setup win (compare)

  • May 13 06:46
    oliver-zehentleitner edited #22
  • May 13 00:43

    oliver-zehentleitner on master

    text (compare)

  • May 13 00:41
    oliver-zehentleitner assigned #22
  • May 13 00:41
    oliver-zehentleitner labeled #22
  • May 13 00:41
    oliver-zehentleitner opened #22
  • May 13 00:35

    oliver-zehentleitner on master

    windows setup (compare)

  • May 13 00:31

    oliver-zehentleitner on 0.8.0

    (compare)

  • May 12 23:54

    oliver-zehentleitner on master

    Update manager.py (compare)

  • May 12 23:52

    oliver-zehentleitner on master

    docs (compare)

  • May 12 23:50

    oliver-zehentleitner on master

    bug fix (compare)

  • May 12 22:50

    oliver-zehentleitner on master

    install update in bot version (compare)

  • May 12 21:16

    oliver-zehentleitner on master

    license (compare)

  • May 12 21:11

    oliver-zehentleitner on master

    install win (compare)

  • May 12 21:05

    oliver-zehentleitner on master

    install win (compare)

Oliver Zehentleitner
@oliver-zehentleitner
hi pablo! cool that you joined!
i updated the repository, its getting "complete" :)
i also added a CLI interface and i provide a small "jump-in-and-trail" bot :)
Pablo Bendiksen
@pablobendiksen

Congrats on the CLI! I know this constituted a next big step from our chats months ago. It looks good; it is a straightforward interface and its config file parameter greatly simplifies its usability. I find your documentation to be very thorough, this is good, keep it up.

Thanks for the extensibility with regards to futures and spot exchange compatibility. Will send you my inquiries and thoughts as I unpack the lib code base ideally starting this weekend.

Oliver Zehentleitner
@oliver-zehentleitner
i made a huge step
the cli interface is installed with pip together with the lib as linux and windows tool (ubtsl and ubtsl.exe) and is also available as a module like python3 -m ubtsl --help
or on windows py -m ubtsl --help
a friend is testing the tool very intensive, so a few updates will follow :)
Pablo Bendiksen
@pablobendiksen

ahh that's really great, Oliver! Yup, I see how the cli gets included with an install :)
But if I want to code for using the ubstl engine in conjunction with TA, I cannot use the cli.

I'm going to play around with the ubstl engine in the futures markets; I want to always instantiate it based on MACD signals. Is starting the engine programmatically as simple as calling its run() method?

It is very cool that you have a friend that is intensively testing the whole tool for you :)

Oliver Zehentleitner
@oliver-zehentleitner
in what way could you use the cli interface for ta?
we can add futures today or tomorrow. would be cool if you test it, since i dont trade futures...
2 replies
the cli interface is just a wrapper for the python lib:
ubtsl = unicorn_binance_trailing_stop_loss.BinanceTrailingStopLossManager(callback_error=callback_error,
callback_finished=callback_finished,
binance_public_key="aaa",
binance_private_key="bbb",
exchange="binance.com-testnet",
keep_threshold="20%",
reset_stop_loss_price=True,
send_to_email_address="blah@example.com",
send_from_email_address="blub@example.com",
send_from_email_password="pass",
send_from_email_server="mail.example.com",
send_from_email_port=25,
stop_loss_limit="1.5%",
stop_loss_market="LUNAUSDT",
stop_loss_order_type="LIMIT",
stop_loss_price=88,
stop_loss_side="SELL",
telegram_bot_token="telegram_bot_token",
telegram_send_to="telegram_send_to")
Oliver Zehentleitner
@oliver-zehentleitner
only the jump-in part is done in the cli interface.
so if you code you use the lib, not the cli!!!!
its all in one :)
lib and unix/windows execute able
Pablo Bendiksen
@pablobendiksen

in what way could you use the cli interface for ta?

I think that I cannot use the cli interface because I want to code for automated TA analysis and order execution. I think that would be fun.

we can add futures today or tomorrow. would be cool if you test it, since i dont trade futures...

that would be great! And fun on my end. Are there any unit tests that you use for this so that I can apply them in futures?

ubtsl = unicorn_binance_trailing_stop_loss.BinanceTrailingStopLossManager(callback_error=callback_error,
callback_finished=callback_finished,
binance_public_key="aaa",
binance_private_key="bbb",
exchange="binance.com-testnet",
keep_threshold="20%",
reset_stop_loss_price=True,
send_to_email_address="blah@example.com",
send_from_email_address="blub@example.com",
send_from_email_password="pass",
send_from_email_server="mail.example.com",
send_from_email_port=25,
stop_loss_limit="1.5%",
stop_loss_market="LUNAUSDT",
stop_loss_order_type="LIMIT",
stop_loss_price=88,
stop_loss_side="SELL",
telegram_bot_token="telegram_bot_token",
telegram_send_to="telegram_send_to")

Yup, I just saw from your client code example that the manager class simply need be instantiated for the engine to run; this is great

so if you code you use the lib, not the cli!!!!

Yup yup trust me I understand this ! I just wasn't aware that instantiating the manager class was all it took to run the program :)

Pablo Bendiksen
@pablobendiksen

its all in one :)

I see that, it's really great :D
All the code is very structured and very clean. Everything is well organized. It's a delight to read through the manager class's code base and even the client code.
I appreciate that you make something so big that required much dedication and effort freely available to everybody.

Pablo Bendiksen
@pablobendiksen
Dear Oliver,
Please forgive the fact that I have not started playing around with the ubtsl manager yet! I had every intention of having started by now but I get so busy. I tend to feel as if there are not enough hours in the day to do what I need to get done. Still, my final examination week will come in two weeks and I will have a lot more free time, then, to do the things that are more exciting to me, such as python programming for trading script development.
I trust that things continue going well for you and talk to you later :D
Oliver Zehentleitner
@oliver-zehentleitner
no worries :)
to be honest, i did a lot of work, but there are still gaps in the code. just wait one more week and you will get an almost ready software.
i still did not add other exchanges then isolated margin
i will ping you here as soon as its ready for you!
also docs are improved a lot. so its really worth to wait one week and then do a new restart on it with reading a full documentation and a ready lib/bot
@pablobendiksen test ping :)
Pablo Bendiksen
@pablobendiksen
I saw you starting to build the bot a few days ago, as well as implementing unit tests :D
Okay, thank you for understanding things on my end and, certainly - I can happily wait a week or so and then read the complete documentation with a new restart.
Very cool you are working lots on this. I hope to be able to be of help to this, or any project of yours!
And just ping me again if there is anything I can do for you, or if you'd like to contact me for any other reason!
Oliver Zehentleitner
@oliver-zehentleitner
@pablobendiksen its ready to start. can yo test trailing stop loss for futures especialy?
Pablo Bendiksen
@pablobendiksen

@oliver-zehentleitner that's so great to hear! Certainly, please allow me the weekend to test the trailing stop loss engine within Binance's Future's market!

This past week I made some progress with my bot, determining that websocket use does not aid me in fetching historic kline data (unless I gather this data myself throughout the ws subscriptions life). To grab recent trade volume information I have to rely on api calls for kline data; to avoid polling or spamming the database server I must optimize my current use of multiprocessing to enable inter-process communication.

I trust you, and the family, are doing well and I will message you after the weekend!

Oliver Zehentleitner
@oliver-zehentleitner
sure, thank you for taking the time! maybe we can do an appointment so that i could immediately fix and improve till it works fine
since python 3.8 or so there is a new option to use shared memory between sub processes. so i think they could get handled like threads (in point of communications between the modules). i want to implement such a thing directly to ubwa so with a simple flag a streams runs in an own subprocess instead of a thread. i think we can collaborate here too
10 replies
yes we are all fine, summer is coming :D
Pablo Bendiksen
@pablobendiksen
An appointment would be great, Oliver; let me play around with ubtsl this weekend using its futures functionality. I would like to 'wire' the engine use to initiate, and fall back, based on a MACD indicator use; this would be the start of building a TA set of indicators that collectively signal the engine; I think this would be fun to code down the line. But first, let me know if there is anything in specific I should be considering when instantiating, and using, the ubtsl manager class: I will also look around your code base for this as I know you had started using Python Unit Testing :)
haha yup, nice outdoor weather is upon us :)
Oliver Zehentleitner
@oliver-zehentleitner
i tryed to make a consistent description, read the readme files and i think you find all infos you need. if there is something missing i would be happy to add it! yes sounds like a good idea to make such a bot :D such one thing. i want to implement a feature to change ubtsl settings during runtime... but this is something of the next updates.
Pablo Bendiksen
@pablobendiksen
everything in due time, such as a cool additional feature to change instance settings during runtime
oh okay thank you - I will go through the readme files and will definitely let you know if anything is unclear or missing.
Pablo Bendiksen
@pablobendiksen

Hey Oliver,

Please forgive my delay but I am a little behind on working with the unicorn binance trailing stop loss engine! I've gone through the documentation and have started the project but I need to wrap my macd around the creation of the engine object and monitor it .

Can you tell me the difference between the manager params "stop_loss_start_limit" and "stop_loss_limit"? The manager's docstrings state that the stop_loss_start_limit value will instead be used at the start, until "it is caught up and trailed"... is the stop_loss_start_limit value a smaller percentage than the stop_loss_limit, and, if the price moves in the favorable direction enough so that the bigger percentage represented by the stop_loss_limit now 'fits' between the price and the start_limit value (or percentage) then the engine switches over to honoring the start_limit value?

Well, here is the link to the repo:

https://github.com/pablobendiksen/trend-activated-trailing-stop-loss-algo

and please, give me some time as this new week is my very last week of the academic term! So you can imagine I feel that I have very much to do until next weekend, at which point I can continue working on this :)
Thank you

Oliver Zehentleitner
@oliver-zehentleitner
stop_loss_start_limit is used till a possible gap of stop_loss_limit is reached. so you can set in the start a tighter limit which will expend as soon you are in the gain zone
i am so full of task too :D
no pressure! :D