API(C#)를 이용한 자동매매 개발 #5
지난시간에 주문화면, 호가창을 만들기로 했는데
궁극적인 목표는 자동매매이므로 로직을 먼저 입혀놓고 돌린후에 주문화면, 호가창알 만들어도 될것같다.
로직이랄것도 별거 없다. 5분만에 생각했으니 뭐 할말 다 했다...
빗썸에서 거래되는 6개 종목 중
- 60분봉 최근 5봉 중 현재 등락이 가장 큰 것
- 현재 등락이 0.5% 이상
- 최근 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회) 프로세스를 여러개 실행하면 안됩니다
와~~~~ 대단합니다. kr-dev에 막강한 것들이 나오고 있습니다. 기대됩니다.
꾸준히 기능추가 할 예정입니다. ^^ 감사합니다.
wow
indeed
감사합니다. 아주 흥미진지합니다
저도 시그널이 기대되네요 ^^
뉴비는 언제나 응원!이에요.
팁! : 스팀파워가 50%일때보다 100%일때 보팅파워가 더 세단 걸 알고 계신가요?
10.42% 보팅
현재 보상량 : [ 평균 - 0.70 / 7개 / 합계 : 4.93 ]
점점 좋아지는군요!
아직 갈 길이 멉니다~^^