예스스탁
예스스탁 답변
2021-10-13 10:36:52
안녕하세요
예스스탁입니다.
1
vols1 = 0;
vols2 = 0;
작성하신 for문에서는 값을 누적하는 변수의 초기값은 모두 0이어야 합니다.
현재식에서는 현재봉의 거래량이 초기값으로 잡혀서 현재봉거래량이 모두 중복으로 들어가게 됩니다.
2
거래량 이평은 아래와 같이 간단히 작성하시면 됩니다.
avg1 = ma(V,4);
avg2 = ma(V,5)[4];
3
Buy("매수", AtStop, DEf , 1);
AtStop은 봉완성시에 가격을 지정하고 다음봉 현재가와 지정한 가격을 비교해 신호가 발생하는 타입니다.
Atstop뒤는 가격을 지정하는 부분으로 DEF를 사용하는 부분이 아닙니다.
작성하신 수식내용으로는 onclose타입을 사용하셔야 합니다.
시스템은 청산이 없으면 최초 매수조건만족한 봉에 매수신호를 발생후에 더이상 신호가 없게 됩니다.
청산이 있어야 반복적으로 신호가 발생하므로 아래식에 청산내용을 청산을 추가하셔야 합니다.
4
var: i(0), j(0), vols1(0), vols2(0), avg1(0), avg2(0), day(0), od(6), BuySignal(False), k(0), closechart(0);
day = DayOpen(0);
avg1 = ma(V,4);
avg2 = ma(V,5)[4];
if avg1 > 5*avg2 and L[0] < c[0] and DayOpen(0) > L[0] and Volume[1]*3 <= Volume[0] and c[0] > DayOpen(0) Then
Buy("매수", OnClose, DEf , 1);
즐거운 하루되세요
> 선형대수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 안녕하세요, 제가 시가돌파 식을 만들고 싶어서 따로 공부를 하고 만들어봤는데 문제가 생겨서 문의드립니다.
var: i(0), j(0), vols1(0), vols2(0), avg1(0), avg2(0), day(0), od(6), BuySignal(False), k(0), closechart(0);
day = DayOpen(0);
vols1 = Volume;
vols2 = Volume;
For k = 0 to 3
vols1 = vols1 + Volume[k];
avg1 = vols1/4;
For od = 4 to 8
vols2 = vols2 + Volume[od];
avg2 = vols2/5;
if avg1 > 5*avg2 and L[0] < c[0] and DayOpen(0) > L[0] and Volume[1]*3 <= Volume[0] and c[0] > DayOpen(0) Then
Buy("매수", AtStop, DEf , 1);
제가 원하는 것은 1분봉 기준으로 주식종목이 시가를 돌파할 때 거래량 평균이 폭증할 때 매수 신호를 발생시키는 것인데, 위의 코드 상으로는 잡히는 신호가 없어서 문의드립니다. 위의 코드에 문제점과 시가돌파를 위한 종목 검색 및 시스템 코드를 알려주실 수 있을까요?
감사합니다