예스스탁
예스스탁 답변
2024-08-29 14:31:21
안녕하세요
예스스탁입니다.
예스랭귀지에는 sum이라는 함수가 없습니다.
봉마다 누적하면 accum, 봉수를 지정해 누적하면 AccumN함수를 사용하셔야 합니다.
Input: BBPeriod(20), BBMultiplier(2), RSIOverbought(70), RSIOversold(30);
Var: MiddleBand(0), UpperBand(0), LowerBand(0), RSI(0), StdDev(0), Gain(0), Loss(0), AvgGain(0), AvgLoss(0);
MiddleBand = Ema(Close, BBPeriod);
StdDev = Sqrt(AccumN(Power(Close - MiddleBand, 2), BBPeriod) / BBPeriod);
UpperBand = MiddleBand + BBMultiplier * StdDev;
LowerBand = MiddleBand - BBMultiplier * StdDev;
Gain = IFF(Close > Close[1], Close - Close[1], 0);
Loss = IFF(Close < Close[1], Close[1] - Close, 0);
AvgGain = Ema(Gain, 14);
AvgLoss = Ema(Loss, 14);
RSI = 100 - (100 / (1 + AvgGain / AvgLoss));
If (Close < LowerBand And RSI < RSIOversold) Or (Close > UpperBand And RSI > RSIOverbought) Then
Find(1);
즐거운 하루되세요
> nicebs 님이 쓴 글입니다.
> 제목 : 문의
> Input: BBPeriod(20), BBMultiplier(2), RSIOverbought(70), RSIOversold(30);
Var: MiddleBand(0), UpperBand(0), LowerBand(0), RSI(0), StdDev(0), Gain(0), Loss(0), AvgGain(0), AvgLoss(0);
MiddleBand = Ema(Close, BBPeriod);
StdDev = Sqrt(Sum(Power(Close - MiddleBand, 2), BBPeriod) / BBPeriod);
UpperBand = MiddleBand + BBMultiplier * StdDev;
LowerBand = MiddleBand - BBMultiplier * StdDev;
Gain = IFF(Close > Close[1], Close - Close[1], 0);
Loss = IFF(Close < Close[1], Close[1] - Close, 0);
AvgGain = Ema(Gain, 14);
AvgLoss = Ema(Loss, 14);
RSI = 100 - (100 / (1 + AvgGain / AvgLoss));
If (Close < LowerBand And RSI < RSIOversold) Or (Close > UpperBand And RSI > RSIOverbought) Then
Find(1);
여기에 StdDev = Sqrt(Sum(Power(Close - MiddleBand, 2), BBPeriod) / BBPeriod); 이부분
선언되지 않은 SUM이라는데 왜인지 궁금합니다.
nicebs
2024-08-29 21:43:09
혹시 이런 검색식이 약간의 수정으로 구현이 될까요?
Input: Period(20), Threshold(10000);
Var: ForeignBuySum(0), TotalForeignBuy(0);
// 최근 Period 동안의 외국인 매수량 합계를 계산
For i = 0 to Period - 1 begin
ForeignBuySum = ForeignBuySum + ForeignBuy[i];
end;
// 기준 Threshold 이상인 경우 신호 발생
If ForeignBuySum > Threshold Then
Find(1);
Else
Find(0);
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의
>
안녕하세요
예스스탁입니다.
예스랭귀지에는 sum이라는 함수가 없습니다.
봉마다 누적하면 accum, 봉수를 지정해 누적하면 AccumN함수를 사용하셔야 합니다.
Input: BBPeriod(20), BBMultiplier(2), RSIOverbought(70), RSIOversold(30);
Var: MiddleBand(0), UpperBand(0), LowerBand(0), RSI(0), StdDev(0), Gain(0), Loss(0), AvgGain(0), AvgLoss(0);
MiddleBand = Ema(Close, BBPeriod);
StdDev = Sqrt(AccumN(Power(Close - MiddleBand, 2), BBPeriod) / BBPeriod);
UpperBand = MiddleBand + BBMultiplier * StdDev;
LowerBand = MiddleBand - BBMultiplier * StdDev;
Gain = IFF(Close > Close[1], Close - Close[1], 0);
Loss = IFF(Close < Close[1], Close[1] - Close, 0);
AvgGain = Ema(Gain, 14);
AvgLoss = Ema(Loss, 14);
RSI = 100 - (100 / (1 + AvgGain / AvgLoss));
If (Close < LowerBand And RSI < RSIOversold) Or (Close > UpperBand And RSI > RSIOverbought) Then
Find(1);
즐거운 하루되세요
> nicebs 님이 쓴 글입니다.
> 제목 : 문의
> Input: BBPeriod(20), BBMultiplier(2), RSIOverbought(70), RSIOversold(30);
Var: MiddleBand(0), UpperBand(0), LowerBand(0), RSI(0), StdDev(0), Gain(0), Loss(0), AvgGain(0), AvgLoss(0);
MiddleBand = Ema(Close, BBPeriod);
StdDev = Sqrt(Sum(Power(Close - MiddleBand, 2), BBPeriod) / BBPeriod);
UpperBand = MiddleBand + BBMultiplier * StdDev;
LowerBand = MiddleBand - BBMultiplier * StdDev;
Gain = IFF(Close > Close[1], Close - Close[1], 0);
Loss = IFF(Close < Close[1], Close[1] - Close, 0);
AvgGain = Ema(Gain, 14);
AvgLoss = Ema(Loss, 14);
RSI = 100 - (100 / (1 + AvgGain / AvgLoss));
If (Close < LowerBand And RSI < RSIOversold) Or (Close > UpperBand And RSI > RSIOverbought) Then
Find(1);
여기에 StdDev = Sqrt(Sum(Power(Close - MiddleBand, 2), BBPeriod) / BBPeriod); 이부분
선언되지 않은 SUM이라는데 왜인지 궁금합니다.
예스스탁
예스스탁 답변
2024-08-30 09:37:27
안녕하세요
예스스탁입니다.
올려주신 수식에서 ForeignBuy라는 변수로 보면
투자주체별 데이터를 이용하고자 하는 내용인 것 같습니다.
종목검색에는 투자주체별 데이터가 제공되지 않아
수식으로 가능하지 않습니다.
즐거운 하루되세요
> nicebs 님이 쓴 글입니다.
> 제목 : Re : Re : 문의
> 혹시 이런 검색식이 약간의 수정으로 구현이 될까요?
Input: Period(20), Threshold(10000);
Var: ForeignBuySum(0), TotalForeignBuy(0);
// 최근 Period 동안의 외국인 매수량 합계를 계산
For i = 0 to Period - 1 begin
ForeignBuySum = ForeignBuySum + ForeignBuy[i];
end;
// 기준 Threshold 이상인 경우 신호 발생
If ForeignBuySum > Threshold Then
Find(1);
Else
Find(0);
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의
>
안녕하세요
예스스탁입니다.
예스랭귀지에는 sum이라는 함수가 없습니다.
봉마다 누적하면 accum, 봉수를 지정해 누적하면 AccumN함수를 사용하셔야 합니다.
Input: BBPeriod(20), BBMultiplier(2), RSIOverbought(70), RSIOversold(30);
Var: MiddleBand(0), UpperBand(0), LowerBand(0), RSI(0), StdDev(0), Gain(0), Loss(0), AvgGain(0), AvgLoss(0);
MiddleBand = Ema(Close, BBPeriod);
StdDev = Sqrt(AccumN(Power(Close - MiddleBand, 2), BBPeriod) / BBPeriod);
UpperBand = MiddleBand + BBMultiplier * StdDev;
LowerBand = MiddleBand - BBMultiplier * StdDev;
Gain = IFF(Close > Close[1], Close - Close[1], 0);
Loss = IFF(Close < Close[1], Close[1] - Close, 0);
AvgGain = Ema(Gain, 14);
AvgLoss = Ema(Loss, 14);
RSI = 100 - (100 / (1 + AvgGain / AvgLoss));
If (Close < LowerBand And RSI < RSIOversold) Or (Close > UpperBand And RSI > RSIOverbought) Then
Find(1);
즐거운 하루되세요
> nicebs 님이 쓴 글입니다.
> 제목 : 문의
> Input: BBPeriod(20), BBMultiplier(2), RSIOverbought(70), RSIOversold(30);
Var: MiddleBand(0), UpperBand(0), LowerBand(0), RSI(0), StdDev(0), Gain(0), Loss(0), AvgGain(0), AvgLoss(0);
MiddleBand = Ema(Close, BBPeriod);
StdDev = Sqrt(Sum(Power(Close - MiddleBand, 2), BBPeriod) / BBPeriod);
UpperBand = MiddleBand + BBMultiplier * StdDev;
LowerBand = MiddleBand - BBMultiplier * StdDev;
Gain = IFF(Close > Close[1], Close - Close[1], 0);
Loss = IFF(Close < Close[1], Close[1] - Close, 0);
AvgGain = Ema(Gain, 14);
AvgLoss = Ema(Loss, 14);
RSI = 100 - (100 / (1 + AvgGain / AvgLoss));
If (Close < LowerBand And RSI < RSIOversold) Or (Close > UpperBand And RSI > RSIOverbought) Then
Find(1);
여기에 StdDev = Sqrt(Sum(Power(Close - MiddleBand, 2), BBPeriod) / BBPeriod); 이부분
선언되지 않은 SUM이라는데 왜인지 궁금합니다.