커뮤니티
지표수식문의
2018-02-19 20:59:43
126
글번호 116706
질문드린 56721 번 정상표시가되지않습니다
다시한번 점검부탁드립니다
답변 1
예스스탁 예스스탁 답변
2018-02-20 11:26:52
안녕하세요
예스스탁입니다.
단순히 정상표기가 되지 않는다고만 하시면 어느 부분을 수정해 드려야 할지 알수 없습니다.
식에 수정해 드릴만한 부분이 보이지 않습니다.
첨부된 그림과 같이 나타나는 지표이며
분봉차트에서 현재 MACD가 12일간 MACD값 중 최저이면 1 아니면 0이 출력되는 지표식입니다.
차트에 최소 12일치의 데이터가 없으면 그려지지 않습니다.
해당 부분은 수식에 주석 붙여드립니다.
주석 참고하셔서 수정보완해 사용하시기 바랍니다.
input : short(12),long(26),n(12);
var : MACDV(0),cnt(0),dd(0),LL(0);
Array : DL[100](0);
#MACD
MACDV = MACD(short,long);
#날짜변경
if sdate != sdate[1] Then{
#차트 날짜수
dd = dd+1;
#당일 최저MACD값 저장할 배열변수DL[0]의 초기값은
#현재 MACD값으로 지정
DL[0] = MACDV;
#과거일의 값을 다음배열방으로 옮김
#기존 DL[0]은 DL[1]로, 기존DL[1]은 DL[2]로,기존DL[2]은 DL[3]으로 ....
for cnt = 1 to 99{
DL[cnt] = DL[cnt-1][1];
}
}
#DL[0]에 저장된 값보다 작은 MACD값이 발생하면
#DL[0]을 현재 MACD로 변경
if MACDV < DL[0] Then
DL[0] = MACDV;
#차트의 날짜가 최소 12일이상이면
if dd >= 12 then{
#12일간(DL[0]~DL[11])의 MACD의 최저값중
#가장 작은값 계산
LL = DL[0];
for cnt = 0 to n-1{
if DL[cnt] < LL Then
LL = DL[cnt];
}
#현재 MACD값이 12일간 최저이면
if MACDV == LL Then
plot1(1);#1 출력
Else
plot1(0);#아니면 0출력
}
즐거운 하루되세요
> jd01 님이 쓴 글입니다.
> 제목 : 지표수식문의
> 질문드린 56721 번 정상표시가되지않습니다
다시한번 점검부탁드립니다
다음글
이전글