요즘 코인이 참 핫합니다.
AI 를 활용하여 우리가 자동 매매를 만들수 있을까요?
차근 차근 하나씩 진행해보면서 우리도 자동매매를 만들어봅시다.
자동매매는 나씨TV 님의 기본 5분봉 3틱 룰로 진행해보려고 합니다.
저희 프로그램은 아래와 같은 순서로 동작하게 될겁니다.
1. 가격이 하락하고 있는 것을 체크
2. 조건들이 맞을 경우 가격이 더이상 안떨어지는 지점에 진입
3. 익절 /손절 조건
커서에게 일을 시켜봅시다.
우리 프로그램의 가장 중요한 포인트는 "하락이오면 반등이 온다."라는 모토로 진행할 것이다. 파이썬으로 작성할거고 GUI 가 존재하는 프로그램이다. 트레이딩을 할 금액을 정해줄수 있고 선물 배율을 3~20 배 시드바로 선택할수 있다. 기능은 시작버튼이 존재하고 종료도 가능하다. 코드의 주요 로직에 대한 설명은 아래를 참고한다. 아래 규칙을 이용하여 3번의 숫자를 카운팅한뒤 진입하는 방식이고 이 방식을 "5분봉 3틱 룰" 이라고 명시한다. 틱이란 카운팅을 하는 단어로 이해하면되고 3번 카운트가 되면 진입을 준비한다라는 뜻이다. ** 매수 진입 준비 단계 ** 1. 양봉에서 음봉으로 전환할때에는 카운팅 하지 않는다. 2. 1의 상황에서 음봉이 이전 봉들의 평균보다 월등히(2배) 클 경우 1틱으로 인정한다. 3. 음봉이후 이전 음봉대비 일정 크기 이상 차이가 나면 1틱으로 인정해주고 단 이전 봉 마감가보다 높거나 큰 차이가 없으면 같이 묶어주고 틱으로 치지 않는다. 4. 3틱 카운트 후 안전하게 해당 분봉이 끝나고 다음 분봉이 갱신 된 후 양봉이 나와주는것 같으면 진입 준비한다. 5. 음봉들 사이에 양봉이 크게 나오면 (2배 이상) 나오면 틱을 초기화한다. 6. 1틱때 값과 3틱 끝날때 값이 600달러 이상인 경우만 해당한다. |
우리의 커서가 열심히 일해서 위와 같이 코드를 작성해주었습니다
아래 커맨드를 콘솔창에 입력하여 기본적으로 필요한 요소들을 설치해주세요.
pip install -r requirements.txt
매수 준비단계에서는 떨어지는 가격을 보고 이제 한번 사야봐야겠다 ~라고 맘을 잡는 기간이라면
이번에는 진입을 결정하는 단계를 작성시켜보겠습니다. 아래와 같이 커서에게 요청하도록 하죠
** 매수 진입 결정 단계 ** 1. 캔들의 길이가 점점 짧아져서 매도세가 약해진다. 2. 이전 캔들의 종가와 현재 캔들의 종가가 거의 차이나지않거나 높아진다. 3. 캔들이 아래꼬리를 그리면서 마감하기 시작한다. |
자 사는 것까지 시켜보았습니다.
샀으면 이제 이것들을 관리를 해야겠죠? 아래와 같이 다시 시켜봅시다.
** 매수 후 관리 단계 ** 순환매라는 기능으로 규칙은 아래와 같다. 1. 1차매수 후 계속 하락한다면 다시 5분봉 3틱룰 또는 15분봉 3틱 룰을 적용하여 2차 매수에 들어간다. 2. 2차 매수 후 반등이오면 2차 매수한 금액은 다시 정리한다. 3. 2차 매수 후 반등이 오지않는 경우 빠르게 매도하고 다시 5분봉 3틱룰 또는 15분 3틱 룰 적용하여 2차 매수 시기를 잡는다. 순환매 예시를 들어준다면 아래와 같이 수익을 내는 구조이다. 1. 최초 10160 원 3000개 매수(누적수량 3000/평단 10160) 2. 하락 10.060 원 3000개 매수(누적수량 6000/평단 10110) 3. 상승 10.100 원 3000개 매도(누적수량 3000/평단 10110) -> 10110 원 - 10110원 x 3000 = 30000 원의 마이너스 실현 손익 발생 4. 하락 10010 원 3000개 매수 (누적수량 6000/평단 10060) 5. 상승 10100 원 전량 매도(수익실현) -> 10110 원 - 10060원 x 6000 = 240000 원의 실현 손익 발생 6. 240000 - 30000 원 = 210000 원의 최종 수익 발생 |
매수 후 관리 하는 것 까지 추가해보았습니다.
이제 프로그램을 실행하고 GUI 를 조금 수정해보도록 해보죠
커서가 이쁘게 수정해주었네요. 이제 실제로 프로그램이 얼마나 잘 돌아가는지 테스트를 해봐야 할듯합니다.
실제 돈으로 돌리면 너무 맘이 아프겠죠? 테스트용으로 하나 만들어달라고 합시다.
테스트모드 라고 GUI 에 추가해주고 이모드가 켜져있을 경우에는 바이낸스 실제 주문을 하지않고 가상의 돈을 사용하여 매수하고 매도하는 방식으로 테스트 할수 있게해줘 |
자 테스트 모드로 한 몇일 돌려보도록 하죠.!
2025 년 5월 27일
진입을 안하고있습니다
좀 더 심플한 형식이 좋을듯 합니다
추후 다시 만들어보도록하죠!
2025년 5월 31일 다시 제작하고 있습니다.
더 심플한 조건을 작성해보았습니다.
1. 30분 동안 700 달러 이상 하락한다.
2. 1번 시점발생 부터 체크를 시작하여 거래량+과매도 만족하는지 체크한다.
3. 2번항목이 만족이 되는 시점부터 캔들의 길이가 짧아 지고 거래량이 줄어드는지 체크한다.
4. 3번항목이 만족되면 시드의 30% 를 진입한다.
5. 시드 진입 후 다시 조건을 초기화 하여 같은 상황이라면 추가로 30%를 진입한다.
6. 마찬가지로 모든 시드가 들어간 경우 -8% 까지 온다면 손절한다.