커뮤니티
밑에 질문 다시 드립니다. 특정 구간의 고가...
2010-02-08 08:57:15
642
글번호 27931
제가 답변주신 내용을 참조하여 식을 짰으나 도저히 구현이 안되는 군요.
우선 답변내용은 인덱스를 input 받는식으로 하셨는데..
input이 아닌 장중에 구해지는 인덱스로는 불가능 한건지요.
저는 도저히 방법을 찾을 수가 없네요.
예를 들어.
if crossup(ma(c,3),ma(c,7) then {
인덱스1 = dayindex;
if crossdown(ma(c,3),ma(c,7) then {
인덱스2 = dayindex;
if dayindex+1 == 인덱스1 Then
고가 = H;
if 인덱스1 <> 0 and 인덱스2 <>0 then {
if dayindex+1> 인덱스1 and dayindex+1<= 인덱스2 Then{
if H > 고가 Then
고가 = H;
}}
if dayindex+1> 인덱스2 Then{
if C > 고가 Then
buy();
}
이런식으로 반드시 클로즈업, 클로즈다운이 둘다 일어나야하고
둘다 일어난 경우 그 구간의 고가(저가)를 구하는 식입니다.
지금 식으로는 그것이 구현되지 않는군요.
그럼 답변 부탁드립니다.
답변 1
예스스탁 예스스탁 답변
2010-02-08 16:24:18
안녕하세요
예스스탁입니다.
인덱스를 저장하여 하는 부분은
유동적인 부분이므로 해당 내용을 구현하시는 방법과는 맞지 않는 것 같습니다.
의도하시는 부분이 아래내용이 맞는지 모르겠습니다.
인덱스를 이용하지 않고 작성한 식입니다.
참고하시기 바랍니다.
var : Hval(0),Lval(0);
# 골드구간 최고가 계산
if crossup(ma(c,3),ma(c,7)) Then # 골드가 발생시 해당봉의 고가를 초기값으로 저장
Hval = H;
if ma(c,3) > ma(c,7) Then{ #골드구간에서
if H > Hval Then #저정된 값보다 큰 고가가 발생하면 갱신
Hval = H;
}
# 데드구간 최고가 계산
if CrossDown(ma(c,3),ma(c,7)) Then # 데드가 발생시 해당봉의 저가를 초기값으로 저장
Lval = L;
if ma(c,3) < ma(c,7) Then{ # 데드구간에서
if L < Lval Then #저정된 값보다 작은 저가가 발생하면 갱신
Lval = L;
}
if ma(c,3) < ma(c,7) Then{ # 데드구간에서
if H > Hval Then # 고가가 이전골드구간에서의 최고가보다 크면 매수
buy();
}
if ma(c,3) > ma(c,7) Then{ # 골드구간에서
if L < Lval Then #저가가 이전데드구간에서의 최저가보다 작으면 매도
Sell();
}
즐거운 하루되세요
> 천억벌자 님이 쓴 글입니다.
> 제목 : 밑에 질문 다시 드립니다. 특정 구간의 고가...
> 제가 답변주신 내용을 참조하여 식을 짰으나 도저히 구현이 안되는 군요.
우선 답변내용은 인덱스를 input 받는식으로 하셨는데..
input이 아닌 장중에 구해지는 인덱스로는 불가능 한건지요.
저는 도저히 방법을 찾을 수가 없네요.
예를 들어.
if crossup(ma(c,3),ma(c,7) then {
인덱스1 = dayindex;
if crossdown(ma(c,3),ma(c,7) then {
인덱스2 = dayindex;
if dayindex+1 == 인덱스1 Then
고가 = H;
if 인덱스1 <> 0 and 인덱스2 <>0 then {
if dayindex+1> 인덱스1 and dayindex+1<= 인덱스2 Then{
if H > 고가 Then
고가 = H;
}}
if dayindex+1> 인덱스2 Then{
if C > 고가 Then
buy();
}
이런식으로 반드시 클로즈업, 클로즈다운이 둘다 일어나야하고
둘다 일어난 경우 그 구간의 고가(저가)를 구하는 식입니다.
지금 식으로는 그것이 구현되지 않는군요.
그럼 답변 부탁드립니다.