API(C#)를 이용한 자동매매 개발 #5

in #kr7 years ago (edited)

지난시간에 주문화면, 호가창을 만들기로 했는데
궁극적인 목표는 자동매매이므로 로직을 먼저 입혀놓고 돌린후에 주문화면, 호가창알 만들어도 될것같다.

로직이랄것도 별거 없다. 5분만에 생각했으니 뭐 할말 다 했다...
빗썸에서 거래되는 6개 종목 중

  1. 60분봉 최근 5봉 중 현재 등락이 가장 큰 것
  2. 현재 등락이 0.5% 이상
  3. 최근 5봉 중 -1% 봉이 존재하면 제외

1~3번을 만족하는 종목이 4개 이상일 때,
현재봉 등락률이 제일 큰 종목을 매수!!

인데, 아직 주문은 안하고, 개인적으로 로그만 확인해볼 요량이다.
과거 차트 흐름들을 쭉 보니, 2~3일에 한번?정도 발생이 예상된다.

미리 로직먼저 해놓길 잘 한것 같다.
적용하고 로그만 보면 되니, 이제 호가주문창을 만들어보자.

혹 궁금해 하는 사람을 위해 아래는 소스를 남겨둡니다.

private string IsGlobalBuySignal()
        {
            // 6종목 중 4개 이상이 상승
            // 60봉의 최근5개봉보다 현재봉 (등락, 가격)이 제일 큰 종목 중, 최고등락을 종목을 선택
            // 최근 5봉중 등락 -1% 미만은 제외

            Dictionary<string, double> maxRateDic = new Dictionary<string, double>();

            foreach (string currency in usingCurrencyList)
            {
                double maxRate = 0;
                double rate;
                //double maxClose = 0;
                //double close;
                bool skip_conditon = false;
                for (int i = 1; i <= 5; i++)
                {
                    rate = logicDic[currency].GetRate(SERIES_TYPE.MIN_60, i);

                    if (rate < -1)
                    {
                        skip_conditon = true;
                        break;
                    }

                    if (maxRate < rate)
                        maxRate = rate;
                }

                if (skip_conditon)
                    continue;

                if (0.5 <= logicDic[currency].GetRate(SERIES_TYPE.MIN_60, 0) &&
                    maxRate < logicDic[currency].GetRate(SERIES_TYPE.MIN_60, 0))
                {
                    maxRateDic[currency] = maxRate;
                }
            }

            if (maxRateDic.Count < 4)
                return null;

            return maxRateDic.FirstOrDefault(x => x.Value == maxRateDic.Values.Max()).Key;
        }

당장 수익내려고 만들기 보다는,
대략적인 구성을 해놓아야 나중에 접근이 쉬울것같아서 해놓은거고
몇 시간(?), 일(?) 후에 시그널이 발생한다면 다음 포스팅때 같이 공개하겠습니다. ^^
자랑하려는거는 아니고, 위 소스가 작동하면 이렇게 된다... 정도만 참고하면 될듯.

#현재까지 완료된 실행파일 : http://bitcoin.cowincomfunny.com/
API제한이 있으니(Private는 초당10회) 프로세스를 여러개 실행하면 안됩니다

Sort:  

와~~~~ 대단합니다. kr-dev에 막강한 것들이 나오고 있습니다. 기대됩니다.

꾸준히 기능추가 할 예정입니다. ^^ 감사합니다.

감사합니다. 아주 흥미진지합니다

저도 시그널이 기대되네요 ^^

뉴비는 언제나 응원!이에요.
팁! : 스팀파워가 50%일때보다 100%일때 보팅파워가 더 세단 걸 알고 계신가요?
10.42% 보팅
현재 보상량 : [ 평균 - 0.70 / 7개 / 합계 : 4.93 ]

  • kr-newbie 보안관 봇! (beta 0.5.0 - 2017/07/17)

점점 좋아지는군요!

아직 갈 길이 멉니다~^^