jd-gui 를 실행해서 추출된 jar 파일을 넣어줍니다. 학생시절 작성했던 코드라 그런가 다행히 암호화도 안되어있군요 ㅎㅎ
자 그럼 이코드들을 실제 프로젝트로 살려봅시다 jd-gui 에서 소스코드를 모두 저장합시다.
소스 코드들이 잘 저장되었습니다. 안드로이드 프로젝트를 하나 생성하고 커서에서 해당 폴더로 오픈해줍니다. 그리고 커서에 해당 코드들을 잔뜩 때려넣고 안드로이드 게임 소스코드라며 프로젝트에 추가해달라고합시다.
프로젝트에 소스코드가 모두 들어갔습니다. 이젠 res 파일을 apk에 압축을 풀고 해당 폴더에 모두 넣어줬습니다.
아무래도 디컴파일해서 그런가 res id 까지는 맵핑을 안해줍니다. 그래서 직접 파일들을 추가한 뒤 R id 를 참조하여 매칭해달라고 부탁하니 잘 매칭해주네요. 커서 ai 가 아니였다면 하나씩 확인하고 넣었어야 할 작업입니다. ㅠ 그리고 빈프로젝트를 생성해서 넣은거라 매니페스트나 일부 작업이 안되었을수있습니다. 이것도 연결해달라고 부탁해봤습니다.
구조까지 파악해주면서 설명해주네요~!
자 돌려봅시다. 아 역시나 fc 가 발생하네요 한번에 될거라고 기대안했습니다.(기대했음)
코드 전체를 검토해서 에러를 잡아줘 와 같은 애매한 요청은 해결을 못하고 오히려 미궁속으로 프로젝트를 빠뜨리고 있었습니다. 커서 AI 를 사용할때에는 나와 같이 코딩을 하는 것이지 너무 맡기면 안될것같다는 생각도 하게되었습니다. 몇개 오류를 오히려 만들어내서 디버깅이 조금 힘들었습니다. 일단 1차 적으로 GPT 에게 부탁해서 리터칭한 이미지를 교체하는데 성공했습니다. 화면봤으니 오늘은 여기까지하고 내일 이어서 작성하도록 할게요.
2일차
타이틀을 제외한 기본이미지들은 이렇게 챗Gpt에게 리터칭을 요청했습니다
팁을 드리자면 요청할때 한번에 이미지를모아서 요청해야 그림체가 잘유지됩니다
이렇게 필요한이미지들을 리터칭 해줬습니다 일단 오늘목표는 프론트 화면과 메뉴 그리고 마을 까지 진입하는걸 목표로해보죠
비트코인의 가격이 요동을 치고 있습니다. 특정 가격에 알람을 설정하려니 무슨 가격에 해야할지 애매합니다. 단타 위주로 하는 저에게는 아래 정보가 필요했습니다. 1. 30분내에 1000 불 이상 떨어지는 지점 2. 하락 후에 지지가 시작되는 지점 위 두가지 조건에 부합할 경우 텔레그램으로 메세지를 보내는 프로그램을 제작하려고합니다.
사용할 서비스는 아래와 같습니다. 1. 커서 ai 로 파이썬 코드 작성. 2. fly.io 를 통한 코드 배포 (서버올리기) 자 이렇게 하면 나만을 위한 비트코인 가격 알리미 서비스가 생성될거에요.
코드생성 시작해봅시다. 먼저 커서에 폴더를 생성해서 열어주세요. 이번에 저는 "bitcoinalert" 폴더를 생성해서 커서로 열어줬습니다. 따로 작업할거 없습니다 바로 커서에게 부탁해봅시다.
"비트코인 5분봉을 실시간으로 가져와서 30분동안 1000 달러 이상떨어질 경우 텔레그램으로 메세지를 보내는 프로그램을 파이썬으로 작성해줘"
이렇게 간단하게 파이썬 코드가 작성되었습니다. 너무 빈번한 호출은 바이낸스에서 block 처리가 될수 있으니 가격은 1분에 한번 업데이트하는걸로 해줄게요. 그리고 알람이 한번 오면 계속 오는 상황을 방지하기 위해서 초기화 해달라고도 부탁할게요.
"현재 가격을 1분에 한번씩 체크하는걸로 해서 5분봉 차트를 계속 업데이트해주고 30분 내에 1000달러 이상 떨어진 상황이 발생해서 메세지를 보냈다면 시간을 초기화하고 해당 시간 부터 다시 카운트 하는걸로해줘"
30분 내에 1000 불 이상 하락하는 경우는 기능이 추가가 잘되었습니다. 이제 지지 하는 경우를 판단할수있게 부탁해봅시다.
30분동안 1000 달러 이상 하락했을때 매수 진입 결정단계를 아래조건들을 참조하여 만족할 경우 메세지를 추가로 보내줘. ** 매수 진입 결정 단계 ** 1. 캔들의 길이가 점점 짧아져서 매도세가 약해진다. 2. 이전 캔들의 종가와 현재 캔들의 종가가 거의 차이나지않거나 높아진다. 3. 캔들이 아래꼬리를 그리면서 마감하기 시작한다.
지지 체크도 추가되었습니다.
아래 커맨드 창에 현재 작성중인 파일이 잘동작하는지 실행해봐주세요. py 작성중인파일.py 몇분 정도 있어보면 가격 변동내용이 업데이트 되는걸 볼수가 있었습니다.
가입 진행해주세요. 신용카드 인증이 되어야 합니다. 신용카드 인증까지해주세요. 0$ 결제니 걱정마세요~
fly.io 를 통해서 배포하려고해 지금까지 작성된 py 코드를 배포할거야
커서 ai 가 친절하게 설명해주고 있습니다. 해당 커멘드를 그대로 진행하시면 배포가 완료됩니다. 이제 텔레그램 메세지가 정상적으로 오는지 그대로 켜두고 확인해봐주세요 ^^ # fly.io 가 유료로 변경이되었네요 ㅠ 돌리다보니 가격이 카운트 됩니다.... 천원 수준이라 상관없을것같긴합니다. 참고해서 테스트 해봐주세요^^;
차근 차근 하나씩 진행해보면서 우리도 자동매매를 만들어봅시다. 자동매매는 나씨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번항목이 만족이 되는 시점부터 캔들의 길이가 짧아 지고 거래량이 줄어드는지 체크한다.