커뮤니티

수식문의드립니다.

프로필 이미지
ride
2014-10-20 11:09:46
1341
글번호 223206
답변완료
안녕하세요. 예스스팟이용하여 현물주식을 분할 진입/청산 하고자 합니다. 1. 진입 a. 00시00분 부터 시작~ 00시00분까지 (시간외부입력) : 분할진입 실행시간 b. X초(분) 간격으로 (시간간격 외부입력) : 분할진입 interval c. (해당종목) 총 목표 진입수량 N주 (수량외부입력) => 지정된 시간(a)동안, X초(분)간격으로(b), 총 N주를(c) 나눠서 진입하고자 합니다. 2. 청산 a. 00시00분 부터 시작~ 00시00분까지 (시간외부입력) : 분할청산 실행시간 b. X초(분) 간격으로 (시간간격 외부입력) : 분할청산 interval c. (해당종목) 총 목표 청산수량 N주 (수량외부입력) => 지정된 시간(a)동안, X초(분)간격으로(b), 총 N주를(c) 나눠서 청산하고자 합니다. 진입/청산의 외부변수는 별도로 구분하여 주시면 감사하겠습니다. 감사합니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-11-04 19:39:07

안녕하세요 예스스탁입니다. 스크립트 객체화면설정은 첨부된 그림과 같습니다. 외부변수의 타입은 모두 숫자입니다. var EntryTotal,ExitTotal; var EntryStart,ExitStart; function Main_OnStart() { EntryTotal = 0; ExitTotal = 0; EntryStart = false; ExitStart = false; //1번 타이머(진입초간격으로 동작) Main.SetTimer(1, Math.floor(진입초간격*1000)); //2번 타이머(청산초간격으로 동작) Main.SetTimer(2, Math.floor(청산초간격*1000)); } function Main_OnTimer(nEventID) { Main.MessageList(nEventID) T = Math.floor(MarketData1.time/10000); //진입시작시간 이후이면 true if (EntryStart == false && T >= 진입시작) { EntryStart = true; } //진입끝 시간 이후이면 false, 1번 타이머 종료 if (EntryStart == true && T >= 진입끝) { EntryStart = false; Main.KillTimer(1); } //청산시작시간 이후이면 true if (ExitStart == false && T >= 청산시작) { ExitStart = true; } //청산끝 시간 이후이면 false, 2번 타이머 종료 if (ExitStart == true && T >= 청산끝) { ExitStart = false; Main.KillTimer(2); } //진입시작~진입끝 시간 이내(EntryStart가 true인 구간) //1번 타이머가 동작할때 최대누적수량까지만 진입 매수(매도3호가로 지정가 주문) if (EntryStart == true && nEventID == 1 && EntryTotal < 최대누적수량) { Account.OrderBuy(MarketData1.code, 분할진입수량, MarketData1.Ask(3), 0); EntryTotal = EntryTotal+분할진입수량; } //청산시작~청산끝 시작 이내에(ExitStart가 true인 구간) // 2번타이머가 동작시마다 최대누적수량 이내에서만 매도(매수3호가로 지정가 주문) if (ExitStart == true && nEventID == 2 && ExitTotal < EntryTotal) { Account.OrderSell(MarketData1.code,분할청산수량,MarketData1.Bid(3), 0); ExitTotal = ExitTotal+분할청산수량; } } 즐거운 하루되세요 > ride 님이 쓴 글입니다. > 제목 : 수식문의드립니다. > 안녕하세요. 예스스팟이용하여 현물주식을 분할 진입/청산 하고자 합니다. 1. 진입 a. 00시00분 부터 시작~ 00시00분까지 (시간외부입력) : 분할진입 실행시간 b. X초(분) 간격으로 (시간간격 외부입력) : 분할진입 interval c. (해당종목) 총 목표 진입수량 N주 (수량외부입력) => 지정된 시간(a)동안, X초(분)간격으로(b), 총 N주를(c) 나눠서 진입하고자 합니다. 2. 청산 a. 00시00분 부터 시작~ 00시00분까지 (시간외부입력) : 분할청산 실행시간 b. X초(분) 간격으로 (시간간격 외부입력) : 분할청산 interval c. (해당종목) 총 목표 청산수량 N주 (수량외부입력) => 지정된 시간(a)동안, X초(분)간격으로(b), 총 N주를(c) 나눠서 청산하고자 합니다. 진입/청산의 외부변수는 별도로 구분하여 주시면 감사하겠습니다. 감사합니다.