예스스탁
예스스탁 답변
2024-09-19 14:20:26
안녕하세요
예스스탁입니다.
키움 슈퍼트렌드는 계산내용을 알수 없습니다.
트레이딩뷰 수식을 변환한 내용으로 작성해 드립니다.
1
input : period(14), factor(3);
var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0);
var : prevSuperTrend(0), superTrend(C), direction(0),alpha(0),source(0),t(0);
if CurrentBar > 1 Then {
src = (H+L)/2;
// ATR계산(ATR 계산시 지수가중이동평균(rma)이용)
alpha = 1 / period ;
source = max(high - low, abs(high - close[1]), abs(low - close[1]));
ATrV = alpha * source + (1 - alpha) * ATrV[1];
upperBand = src + factor * AtrV;
lowerBand = src - factor * AtrV;
prevLowerBand = lowerBand[1];
prevUpperBand = upperBand[1];
if lowerBand > prevLowerBand or close[1] < prevLowerBand Then
lowerBand = lowerBand;
Else
lowerBand = prevLowerBand;
if upperBand < prevUpperBand or close[1] > prevUpperBand Then
upperBand = upperBand;
Else
upperBand = prevUpperBand;
if C > UpperBand Then
direction = 1;
if C < LowerBand Then
direction = -1;
if direction == 1 Then
supertrend = lowerband;
Else
supertrend = upperband;
Plot1(superTrend,"UpTrend",IFf(C > superTrend,Red,Blue));
}
2
input : period(14), multiplier(3),기간(14),간격봉수(26);
var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0);
var : prevSuperTrend(0), superTrend(C), direction(0),alpha(0),source(0),t(0);
if CurrentBar > 1 Then {
src = (H+L)/2;
// ATR계산(ATR 계산시 지수가중이동평균(rma)이용)
alpha = 1 / period ;
source = max(high - low, abs(high - close[1]), abs(low - close[1]));
ATrV = alpha * source + (1 - alpha) * ATrV[1];
upperBand = src + multiplier * AtrV;
lowerBand = src - multiplier * AtrV;
prevLowerBand = lowerBand[1];
prevUpperBand = upperBand[1];
if lowerBand > prevLowerBand or close[1] < prevLowerBand Then
lowerBand = lowerBand;
Else
lowerBand = prevLowerBand;
if upperBand < prevUpperBand or close[1] > prevUpperBand Then
upperBand = upperBand;
Else
upperBand = prevUpperBand;
if C > UpperBand Then
direction = 1;
if C < LowerBand Then
direction = -1;
if direction == 1 Then
supertrend = lowerband;
Else
supertrend = upperband;
}
var : mav(0),조건(False),bs(-1);
mav = ma(C,기간);
조건 = mav>mav[1] && Crossup(supertrend,mav);
if 조건 Then
bs = 0;
Else
{
if bs >= 0 Then
bs = bs+1;
}
if bs > 0 && bs < 간격봉수 && Crossdown(supertrend,mav) && mav>mav && C[1] < supertrend[1] Then
Find(1);
즐거운 하루되세요
> 하이모리 님이 쓴 글입니다.
> 제목 : 검색식 부탁드립니다. 감사합니다.
> 키움식 period(14),multiplier(3),기간(14),간격봉수(26)
S = supertrend(period, multiplier);
M = ma(C,기간);
조건 = M>M(1) && Crossup(S,M);
//이평선이 상승중이며 수퍼트랜드가 이평선돌파
bs = Barssince(조건);
//bs라는 변수에 조건이 발생하고 지나간 봉의개수를 알수있다
//1보다크면 먼저발생
bs > 0 && bs < 간격봉수 &&
Crossdown(S,M) &&
M>M(1) &&
C(1)<S(1)
1.키움의 supertrend 지표식부탁드립니다.
2.종목검색식 부탁드립니다.
항상 감사드립니다. 즐거운 명절 보내세요~