커뮤니티
227515 재문의
2025-10-31 12:58:30
212
글번호 227541
안녕하세요?
"data2이면 data2(dayatr(10))와 같이 작성해 사용하시면 됩니다. "
라고 답변을 주셨는데,
저는 예컨대, var1 = data2(C) + data3(C) - 3*data4(C);
var2 = dayatr(var1, period);
등으로 사용할 예정이라서, dayatr 함수의 인풋에
input: CC(Numeric), per(Numeric)
등으로 인풋값이 하나 더 있는 함수를 원합니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2025-10-31 14:29:23
안녕하세요
예스스탁입니다.
1
dayATR(var1,10)과 같이
단일값으로 계산하시면 아래와 같이 함수 내용을 변경하시면 됩니다.
Inputs: price(Numeric),Period(NumericSimple);
var : sum1(0),sum2(0),TH(0),TL(0);
if Bdate != Bdate[1] Then
{
sum1 = 0;
sum2 = 0;
}
If Bdate == bdate[1] and price[1] > price then
TH = price[1];
else
TH = price;
If Bdate == bdate[1] and price[1] < price then
TL = price[1];
else
TL = price;
sum1 = sum1 + (TH-TL);
sum2 = sum2 + 1;
dayATR = sum1/sum2;
2
만약 고가,저가,종가로 사용할 값이 있는 경우에는
아래와 같이 3개의 값을 외부변수로 처리하시면 됩니다.
Inputs: Cprice(Numeric),Hprice(Numeric),Lprice(Numeric),Period(NumericSimple);
var : sum1(0),sum2(0),TH(0),TL(0);
if Bdate != Bdate[1] Then
{
sum1 = 0;
sum2 = 0;
}
If Bdate == bdate[1] and Hprice[1] > Cprice then
TH = Hprice[1];
else
TH = Cprice;
If Bdate == bdate[1] and Lprice[1] < Cprice then
TL = Lprice[1];
else
TL = Cprice;
sum1 = sum1 + (TH-TL);
sum2 = sum2 + 1;
dayATR = sum1/sum2;
즐거운 하루되세요