커뮤니티
수식 수정
2026-03-01 21:14:31
365
글번호 230818
안녕하세요?
수식을 수정해 주시기 바랍니다.
감사합니다.
- 1. 2026-3-2.zip (0.05 MB)
답변 3
예스스탁 예스스탁 답변
2026-03-03 14:58:28
안녕하세요
예스스탁입니다.
2)번 내용은 함수에서 판단 가능하지 않습니다.
Inputs: price(Numeric),Period(NumericSimple);
var : sum1(0),sum2(0),TH(0),TL(0),ii(0);
if Bdate != Bdate[1] Then
{
sum1 = 0;
sum2 = 0;
mdayAtr1 = Nan;
}
Else
{
if price[1] > price then
TH = price[1];
else
TH = price;
If price[1] < price then
TL = price[1];
else
TL = price;
sum1 = sum1 + (TH-TL);
sum2 = sum2 + 1;
if ii < Period Then
mdayAtr2 = sum1/sum2;
Else
mdayAtr2 = ma(TH-TL,Period);
}
즐거운 하루되세요
에구머니
2026-03-03 15:45:05
뭔가 for 문이 필요할 것 같은데, for문도 없고,
ii 에 대해서는 뭔가 초기식도 없고, 증감식도 없고 웬지 생뚱맞게 등장한 것 같습니다.
수식을 검토해 주시기 바랍니다.
8시45~9시까지 참조데이터가 안나오면 함수값이 안 나와도 좋습니다.
단, 9시 10분부터는 제대로 값이 나오면 좋겠습니다. (5분봉일 경우에...)
////////////////////
함수식은 여기까지면 되었고,
지표식으로
5분봉, 참조데이터에 사용할거고, period = 14로 고정할건데,
어제 최초로 계산되는 09시 5분부터
최초로 14개가 다 계산된
ma(abs(var1-var1[1]),14)의 값은 어떻게 호출하나요?
예스스탁 예스스탁 답변
2026-03-04 09:11:42
안녕하세요
예스스탁입니다.
1
sum2가 봉수를 카운트 하여 변경했는데 이전 것이 남겨 있었습니다.
함수식에 봉수를 카운트 하는 sum2가 있어 해당 값으로 수정해 드립니다.
Inputs: price(Numeric),Period(NumericSimple);
var : sum1(0),sum2(0),TH(0),TL(0);
if Bdate != Bdate[1] Then
{
sum1 = 0;
sum2 = 0;
mdayAtr1 = Nan;
}
Else
{
if price[1] > price then
TH = price[1];
else
TH = price;
If price[1] < price then
TL = price[1];
else
TL = price;
sum1 = sum1 + (TH-TL);
sum2 = sum2 + 1;
if sum2 < Period Then
mdayAtr2 = sum1/sum2;
Else
mdayAtr2 = ma(TH-TL,Period);
}
2
input : Period(14);
var : R(0,Data2),i2(0,Data2),v1(0,Data2);
var : PreV1(0,Data1);
R = data2(mdayAtr2(C,Period));
#매일 Period번재 충족하는 첫값 저장
if IsNan(R) == true Then
i2 = 0;
Else
{
i2 = i2+1;
if i2 == Period Then
v1 = R;
}
#Data1날짜변경시 다른변수에 값 저장해 사용
if Data1(Bdate != Bdate[1]) Then
preV1 = v1;
Plot1(R);
plot3(Prev1);
즐거운 하루되세요
다음글
이전글