General advise for system autometion on Binance

Hello guys!

I rarely ask any questions on the forum because it really has all the information needed when in comes to backtesting purposes. However, I struggle to find concise and methodical information about real implementation and automation of a system with brokers (except for interactive brokers). As I read it seems it is not an easy task (for enthusiast like me) and depending on the broker there are multiple approaches.

Could you please recommend a general guideline for implementation of automated system on Binance?
For example should I use Amibroker + REST communication or HTTP? Just I need general approach and advice. I have only basic experience with C++, AFL (2 years) and Python. That's why my question may sound dumb to some of you. However, I am keen to learn of course step by step.

Just as a side note I hired a programmer who coded my system on MQL5 and used MT5 with dll to connect to Binance to feed the data and execute the orders. Now coding another system for me but this time we will not use MT5 but custom desktop app.

Thank you in advance for your recommendation and sorry for any stupidities I may said.

:slight_smile:

Did you study what SpandexMan already done?
So there are 2 tasks to be solved:

  1. Get RT data to Amibroker, including BID-ASK.
  2. Make trading interface like we have IbController for Interactive Brokers.

My suggestion on that would be:

  1. Write a separate Python script that would write RT data from Binance to a file. The file would be read dynamically by Ami using afl code:
AB = CreateObject( "Broker.Application" ); 
AB.Import(0, "Currencies_data.txt","custom4.format" );
AB.RefreshAll();
  1. Is most difficult.
    After lunching test script I found that it is too slow (as indicator):
time =InternetOpenURL("https://testnet.binance.vision/api/v3/time");

if( time  )
{
     if( ( str = InternetReadString( time ) ) != "" )
     {
		extracted = StrMid(str,14,13);
        Title+= strformat( "\n%s", extracted);
     }
     InternetClose( time );
}

So my solution would be also :smile: a separate python script that would read a ami_requests.txt file with orders and requests from Amibroker and write binance_reply.txt with replies. Or use AmiPy to avoid file load-saves. Not sure which solution would be fast.

I also would be appreciated to get any advices on that.

What I’ve discovered works well is using a .abb AmiBroker batch and writing an exploration then exporting to file. Then you shell execute a Python script using pandas to place your parameters inside the order functions etc from the Binance Python connector library.

I know that I was using the time function before, but all the hard work has been done in the Python connector and at the time, I didn’t know what a get, or a post request was, and the HMAC was an extra step, and the Python Binance connector library handles all of that.

1 Like