egze

egze

Really enjoying your channel. Hope you never stop doing it :slight_smile:

Wondering, how you would implement a feature where traders could create and launch strategies through UI. You know how tradingview has a DSL for custom strategies?

1
Post #21
CinderellaMan

CinderellaMan OP

Really enjoying your channel. Hope you never stop doing it :slight_smile:

Comments like are really giving me power to work through those episodes - thank you. I don’t know how long I will be able to continue with them - I can’t be unemployed forever and it’s almost full-time job to get them out every week or two(or I simply still suck at creating them so it takes longer for me :wink: ).

Wondering, how you would implement a feature where traders could create and launch strategies through UI. You know how tradingview has a DSL for custom strategies?

That is a REALLY cool idea. Sounds like this could a follow-up course to this one - and it would surely be a huge learning experience for me as well - that’s definitely going right now on my “to do” list :slight_smile:

Frontend would be a big part of this as well so probably worth to extend to some GUI first and only then when it’s more visual I could afford to push it to visual DSL :slight_smile:

I need to brainstorm on this :wink: thank you for the idea :+1:

3
Post #22
CinderellaMan

CinderellaMan OP

Just managed to push 6th video out :champagne:

This one focuses on storing trade events inside PostgreSQL DB. It will lay a foundation for storing different stuff inside the database for purposes of analytics, charting, backtesting etc.

I hope you will enjoy this one as it took 4 tries to record whole code as I had bugs upon bugs… :slight_smile:

5
Post #23
CinderellaMan

CinderellaMan OP

7th video is now out!

We will create a new application called BinanceMock. It will have the same functionality as the Binance module so we will be able to use them interchangeably. In the future episode(s) the BinanceMock will become a foundation to allow us to perform backtesting. Besides creating the the application itself, we will also modify the leader and the trader to reference the config to figure out which client to use instead of the previously hardcoded Binance module.

4
Post #24
CinderellaMan

CinderellaMan OP

Hello :wave:

It took me way too long but I finally managed to finish the next episode :champagne:

In the 8th episode, we will modify the naive traders to broadcast the Binance orders
structs to a new PubSub topic. We will add a handler function to
the DataWarehouse.Subscribers.Worker module to be able to
store the Binance Orders into the database. To be able to store
them inside DB we will also add a migration script and Ecto schema.

Enjoy :heart:

5
Post #25
egze

egze

Wohoo! This course is gold!

You should think about publishing an eBook or something :wink:

3
Post #26
CinderellaMan

CinderellaMan OP

:heart: Wow, those words mean the world to me :slight_smile: honestly! It’s so hard to find time and energy to record those videos, especially recently many unexpected things happened, but I really love to make those exactly because of comments like yours - thank you!

You should think about publishing an eBook or something

Don’t temp me :wink: I’m still learning what and how to do stuff but I was considering a “follow up” course or even putting those videos in written form for people that prefer to read books :slight_smile: I’m not sure would that work out but either way don’t have time for that now - need to do those videos going! :wink:

4
Post #27
Maxtonx

Maxtonx

It’s really good. I’m following every video of yours and I’m learning a lot. Thanks for doing this.

1
Post #28
unlogic

unlogic

Thank you very much for making this series. I’ve been following along with great interest. It’s clear a lot of work went into making these. It’s really helped me get a better grasp of OTP as a whole and how it’s used to set up supervision trees. Most examples don’t cover the design and implementation in detail so you can get a fully working solution. This is great.

One question though: How hard would it be to decouple the traders from Binance? So that you could create a new streamer for something like Kraken, but use the same trader code to do the work?

Or would it be best to just add a new trader for each trading platform?

1
Post #29
CinderellaMan

CinderellaMan OP

Thank you very much, indeed, it takes a lot of time but it’s worth it :slight_smile: makes me happy and leaves this world a little bit better as it spreads the Elixir :wink:

How hard would it be to decouple the traders from Binance? So that you could create a new streamer for something like Kraken, but use the same trader code to do the work?
Or would it be best to just add a new trader for each trading platform?

The idea behind dividing the communication using PubSub was intended to show that parts of apps between PubSub are like blocks that you can freely swap to suit your needs - as far as I understand you are talking about 2 different topics and I’m not sure each one so I will respond to both:

  • different source of data like Kraken to be the only source - that’s fine just convert the data coming from Kraken to standardized struct that rest of the system accepts (in case of hedgehog it’s the Streamer.Binance.TradeEvent)
  • you want to stream data from multiple exchanges in parallel and here depends on the purpose you can take 2 approaches:
    • stream each exchange data to a different topic and subscribe to both(or more) if you want to do arbitrage for example
    • stream data to the same topic with an additional field called source or something similar - this could be useful for example to produce “average” prices, not that good for the current naive strategy as it would have plenty of meaningless messages broadcasted to it (it would pattern match on the “binance” source and ignore the rest)

I hope that helps - this is not a financial advise :wink:

1
Post #30