Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Aug 11 12:30

    oliver-zehentleitner on master

    fixing logo typo (compare)

  • Aug 11 12:25

    oliver-zehentleitner on master

    fixing logo typo (compare)

  • Aug 10 15:20

    oliver-zehentleitner on master

    removed LUNA (compare)

  • Aug 10 15:09

    oliver-zehentleitner on master

    removed LUNA (compare)

  • Aug 10 15:07

    oliver-zehentleitner on master

    fixed error (compare)

  • Aug 10 14:11

    oliver-zehentleitner on master

    logo Merge remote-tracking branch 'o… (compare)

  • Aug 10 13:42

    oliver-zehentleitner on master

    Update README.md (compare)

  • Aug 10 13:37

    oliver-zehentleitner on master

    logo (compare)

  • Aug 10 13:23

    oliver-zehentleitner on master

    logo (compare)

  • Aug 10 13:22

    oliver-zehentleitner on master

    logo (compare)

  • Aug 10 13:19

    oliver-zehentleitner on master

    logo (compare)

  • Jul 18 08:52

    oliver-zehentleitner on master

    Update README.md (compare)

  • 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)

Oliver Zehentleitner
@oliver-zehentleitner
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")
only the jump-in part is done in the cli interface.
Oliver Zehentleitner
@oliver-zehentleitner
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
12 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
Pablo Bendiksen
@pablobendiksen

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

Thank you very much. You have voiced the same concept I was trying to communicate, as well. We can start the engine with a tighter limit and, once in the gain zone, replace this limit by the wider stop_loss_limit.

Pablo Bendiksen
@pablobendiksen

I understand. I think we work and study in a very large field that pushes us to pour lots of time into it.

Thank you for your patience, nevertheless; I will be done with the last assignment of the last course of the current semester, tomorrow. After this I can focus on playing around with ubtsl and figuring out some coding in Rust as I have some people I need to reach out to about a Rust task later next week, as well as maintaining my research work to be done.
I look forward to seeing the engine at work in the futures market as well as giving you some updates soon.

Oliver Zehentleitner
@oliver-zehentleitner
We can test within Minutes, i can guides you through a test if you want 😀
Pablo Bendiksen
@pablobendiksen

Thank you, Oliver; I suppose I am making it more complicated than it needs to be. One thought of mine for testing was - for a long position, as soon as the engine terminates, make an api call for the current market price as well as another api call for historic kline data and determine the highest price traded in the past x time interval; this information may be sufficient to determine if the specified delta was observed. However, with the kline fetching we would not know how far to look back to determine the highest trading price ... an alternative approach, then, would be to have a websocket connection for AggTrade and simply store the highest traded price, only updating it as soon as traded price is greater.

Is this too much?

Also, I have just ordered Micheal Lewis' "Flash Boys" :)

But okay! Learning about how to do a test would be beneficial for me; when are you available? And thank you.

This week I did a lot of research work and, as of just now, am coding into 'trend-activated-trailing-stop-loss-algo'; I'd like to test the engine while also developing this algorithm for finding the right asset, and entry point, based on trend direction values across more than one time frame.

Oliver Zehentleitner
@oliver-zehentleitner
If you want, i have time that week end...
Pablo Bendiksen
@pablobendiksen
Thank you, I do too. You are 6 hours ahead of me; is your Saturday afternoon or evening okay?
I would like to be of help and I would also like to learn how you test. Thanks!
Oliver Zehentleitner
@oliver-zehentleitner
Yes, Sounds good. I am in the Office, Just contact me 🤗
Pablo Bendiksen
@pablobendiksen
Okay, sounds good. I will contact you when I am awake and moving around.
Pablo Bendiksen
@pablobendiksen
hey Oliver! I hope that your weekend goes well and comfortable. What time are you around to meet?
Oliver Zehentleitner
@oliver-zehentleitner
Hi Pablo. Actually i am ready, Just watching a movie 😀 how about you?