ejtraderLabs / ejtraderCT

The best Python Ctrader FIX API Perfect for HFT
MIT License
59 stars 20 forks source link

Some way to "Group" orders & positions #13

Closed ngontayg123 closed 1 year ago

ngontayg123 commented 1 year ago

Hi Emerson,

First, thank you very much for this package, it's extremly useful!

I wanting to build a small copy trading script based on this repository, the orders will be copied from 3-5 master accounts to one salve account and i would like to know where the posistions/orders are come from.

I'm thinking about using Designation, or ClOrdId as identification So lets say master account A will send trade with Designation = "MA1", or ClOrdId = 'MA1' +get_time()... then api.positions(), api.orders() will response with the Designation or ClOrdId along with other informations (price, volumn etc...) and I can group them by Designation or ClOrdId

My questions are:

Thank you again :)

traderpedroso commented 1 year ago

Sorry for the delay in responding. I've had a lot of work these days. I'm sure it's possible to retrieve the ClOrdId, and I can certainly do it in a simple way. I will only be available on Thursday to add the suggested functions, but if I were in your place, I would use a queue manager like RabbitMQ. That way, you could add tags, channels, topics, etc., and have more efficient control over your orders ready to copy from 1 to 1000 or from 1000 to 1 without any control problems. You could also create a basic rule to check the price and the difference in the current price to avoid entering late, or even use the timestamp in the queue to check if there was any delay in the execution of your order. This way, you would know the real-time situation of the entire system. In 15 days, I will make available a nanosecond copy trade with a dashboard for MetaTrader and cTrader. I will add your needs as soon as possible. Thank you.

ngontayg123 commented 1 year ago

wow, thank you so much for this valuable information! I didn't expect that to get a response from you, but your idea far exceeded my expectations! Also, can't wait to see your copy trading dashboard, it sounds amazing :)

How can I buy you a beer btw? :)

traderpedroso commented 1 year ago

wow, thank you so much for this valuable information! I didn't expect that to get a response from you, but your idea far exceeded my expectations! Also, can't wait to see your copy trading dashboard, it sounds amazing :)

How can I buy you a beer btw? :)

I deeply appreciate your generous offer to sponsor my work. At this moment, however, I am primarily focusing on developing and sharing the work openly for everyone's benefit. Your contribution to this effort doesn't have to be financial – engaging with the project, using the code, raising issues, and contributing to discussions are all highly valuable ways to support the work. Thank you in advance for your interest and your contributions. Your involvement truly makes a difference.

traderpedroso commented 1 year ago

wow, thank you so much for this valuable information! I didn't expect that to get a response from you, but your idea far exceeded my expectations! Also, can't wait to see your copy trading dashboard, it sounds amazing :)

How can I buy you a beer btw? :)

I have made significant changes, but I haven't been able to test all of them yet. However, if you'd like to proceed, you can use the "dev" branch. Follow the link for installation and please review the documentation because there has been a code refactoring in this branch. The login process is slightly different. Select the "dev" branch and explore the complete documentation. I will be adding more functionality throughout the week, but I have ensured that it is more stable now.

pip install git+https://github.com/ejtraderLabs/ejtraderCT.git@dev

ngontayg123 commented 1 year ago

Hi Emerson,

Thank you so much! it work well on my side.

Much appreciated! you are such a nice guy :)