자동매매를 하고 싶은데 아래의 조건으로 가능할지요?
1. 관심종목을 '120일 신고가' 종목으로만 구성(관심종목 추가, 제외는 수동으로 진행 예정)
2. 관심종목 중 120일 신고가 가격기준 10% 하락시 매수 주문 실행(시장가)
3. 매수 가격기준 3% 상승시 매도 주문 실행(시장가)
참고로 코딩은 한번도 해보지 않은 사람입니다.
가능하시다면 코딩 부탁 드립니다.
답변 1
예스스탁
예스스탁 답변
2021-06-30 12:42:24
안녕하세요
예스스탁입니다.
수식의 기본흐름은 아래와 같습니다.
스팟시작시 지정한 이름의 관심그룹에서 종목코드를 가져와
해당 종목들의 종목객체를 만들고 5초간격으로 시세와 계좌를 감시해
전일최고가 대비 10% 하락하면 매수하고 매수 후 3%이상 상승하면 매도하게 됩니다.
스팟은 자바스크립트로 코딩가능한분이 사용하는 프로그램입니다.
스팟 수식답변은 식작성의 가이드 정도입니다.
아래 내용 참고하셔서 수정보완해 사용하시기 바랍니다.
var List = [];
var MK = [];
var OD = [];
var req;
function Main_OnStart()
{
Main.MessageList("Start");
var num = Main.GetItemCountOfInterest("120일신고가"); //관심그룹명 지정
Main.MessageList("관김그룹 종목수 : ",num);
if (num > 0)
{
for (var i = 0; i < num; i++)
{
List[i] = Main.GetItemCodeInInterest("120일신고가",i);//관심그룹명 지정
}
Main.MessageList("종목리스트",List);
if (List.length > 0)
{
Main.MessageList("좀목객체요청시작");
req = 0;
Main.MessageList("좀목객체요청",List[req]);
Main.ReqMarketData(List[req],2);
}
}
}
function Main_OnRcvMarketData(MarketData)
{
if (MarketData.code == List[req])
{
Main.MessageList("좀목객체수신",MarketData.code);
MK[req] = MarketData;
OD[req] = 0;
req = req+1;
if (req < List.length)
{
Main.MessageList("좀목객체요청",List[req]);
var S = Main.ReqMarketData(List[req],1);
if (S == -1)
{
Main.MessageList("좀목객체요청시간제한 15초뒤 다시 요청");
Main.SetTimer(1, 15000);//15초 타이머
}
}
else
{
Main.MessageList("좀목객체요청종료");
Main.SetTimer(2,3000);//3초 타이머
}
}
}
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
Main.KillTimer(1);
Main.MessageList("좀목객체재요청",List[req]);
var S = Main.ReqMarketData(List[req],1);
}
if (nEventID == 2)
{
if (MK.length > 0)
{
for (var i = 0; i < MK.length; i++)
{
Account1.SetBalance(MK[i].code, 0);
//전일최고가 대비 10% 이하이면 10주 시장가 매수
if (OD[i] == 0 && Account1.Balance.count == 0 && MK[i].current <= MK[i].GetPrevHigh(1)*0.90)//당일최고가이면 MK[i].current <= MK[i].high*0.90
{
Account1.OrderBuy(MK[i].code,10,MK[i].current,0);
OD[i] = 1;
}
if (OD[i] == 1 && Account1.Balance.count > 0 && MK[i].current >= Account1.Balance.avgUnitCost*1.03)
{
OD[i] = -1;
Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1);
}
}
}
}
}
즐거운 하루되세요
> 미소한방 님이 쓴 글입니다.
> 제목 : 수식을만들고싶습니다.
> 자동매매를 하고 싶은데 아래의 조건으로 가능할지요?
1. 관심종목을 '120일 신고가' 종목으로만 구성(관심종목 추가, 제외는 수동으로 진행 예정)
2. 관심종목 중 120일 신고가 가격기준 10% 하락시 매수 주문 실행(시장가)
3. 매수 가격기준 3% 상승시 매도 주문 실행(시장가)
참고로 코딩은 한번도 해보지 않은 사람입니다.
가능하시다면 코딩 부탁 드립니다.