The advantage of manual trading is that I can make complete decisions, so I am responsible for all trading. However, it is not possible to view charts or multiple charts at the same time for 24 hours, and since humans are not computers, it is virtually impossible to trade by considering other information, such as new announcements from exchanges and on-chain analysis.
The biggest problem is that although I have marked the support and resistance zones of various coins on the chart, it is easy to miss them because coin prices fluctuate so quickly. Additionally, central exchanges have mechanisms to resolve arbitrage for each exchange, and this is done automatically by the system rather than being operated by human hands. However, there is still room for individuals to seek capital gains. The Kimchi Premium is an example. In fact, many bots are constantly running, aiming for kimchi premium arbitrage. The logic of making money with Kimchi Premium is not that difficult, but most general investors are not interested in how to implement it. There are actually some logics that are open source on GitHub, so if you are curious, you can search for them. However, a lot of trial and error and testing will be required before it is directly put into practice.
Currently, the project that best implements automatic trading among GitHub open source projects is freqtrade. I plan to clone this project to implement the following:
1. My own auto trading strategy. 2. Kimchi premium automatic trading.
Implementing Kimchi premium automatic trading will require a lot of overhauling of the structure of freqtrade, which is basically implemented assuming that trading is currently conducted on possibly trading by only one exchange. If you try to do something that is difficult from the beginning, you may give up, so I thought that implementing freqtrade's basic strategies and actually testing them was the top priority. Therefore, I decided to proceed as follows:
- Install freqtrade on AWS EC2, create a freqtrade daemon in dry-run mode, and test performance (using sample strategy).
- Conduct small automatic trading in live-run mode (using sample strategy), connect to the hosted freqtrade web server on a laptop, and test issuing commands via Telegram.
- Create my own strategy, test it first, then apply it in practice.
- Implement the Kimchi premium model and strategy, test it, and then apply it in practice.
First, to understand what kind of system freqtrade is, you need to read the documentation carefully. A rough overview is well organized at Freqtrade Documentation. However, as a developer, you cannot help but wonder about the detailed mechanism by which automatic trading is carried out, and for this, it is essential to analyze the source code and structure it. Additionally, if you download open source, detailed explanations are provided in developer.md. Freqtrade also supports Docker, so if it is a server with good performance, it is fastest and most convenient to install using it. However, due to cost and performance issues, I will install and run the freqtrade module directly on the EC2 server.
The freqtrade module receives various commands and is equipped with many functions, but the most important and core function is the automatic trading trade command. To find out how the trade mechanism works, we analyzed it by drawing a function diagram through CodeSee Function Maps in VSCode. Because the source code for the freqtrade module is so extensive, it is difficult to get an outline in your head just by following the source code. Therefore, it seems beneficial to use these extensions well when analyzing sources. But, you should know that codesee map is not persistently free and I am not advertising it.
Using CodeSee Map, you can follow and draw function diagram
1. Freqtrade Module Installation Complete
2. Make config file by cli
3. Setting Server Timezone(how to? : https://velog.io/@mangojuhan/How-to-change-the-remote-serverlinux-timezone)
4. Executing freqtrade by forefront
![]()
Looking at EC2 monitoring, CPU usage and network output were not that high, perhaps because there were no transactions. In the next post, we will download the chart data from the local environment and perform backtesting of the sample strategy first.