커뮤니티

수식문의

프로필 이미지
ksks
2026-07-06 14:38:34
76
글번호 232693
답변완료

아래는 일반 봉차트상의 슈퍼트렌드돌파 종목검색식입니다만,

이를 하이킨아시차트에서 슈퍼트렌드돌파 종목검색식으로 변환해주길 원합니다.


input : AtrPeriod(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);

var1 = Ema(C,200);


if CurrentBar > 1 Then

{

src = (H+L)/2;


alpha = 1 / AtrPeriod ;

source = max(high - low, abs(high - close[1]), abs(low - close[1]));

ATrV = alpha * source + (1 - alpha) * ATrV[1]; //지수가중이평방식

//ATrV = ma(source,AtrPeriod); //단순이평방식

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;

if CROSSUP(c,supertrend) Then

Find(1);

}

종목검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2026-07-06 16:07:39

안녕하세요 예스스탁입니다. input : AtrPeriod(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); var : haClose(0),haOpen(0),haHigh(0),haLow(0); #Heiken Ashi 시고저종 haClose = (O+H+L+C)/4; haOpen = iff(index == 0,open,(haOpen [1] + haClose [1])/2) ; haHigh = MaxList(High, haOpen, haClose) ; haLow = MinList(Low, haOpen, haClose) ; var1 = Ema(haClose,200); if CurrentBar > 1 Then { src = (haHigh+haLow)/2; alpha = 1 / AtrPeriod ; source = max(haHigh - haLow, abs(haHigh - haClose[1]), abs(haLow - haClose[1])); ATrV = alpha * source + (1 - alpha) * ATrV[1]; //지수가중이평방식 //ATrV = ma(source,AtrPeriod); //단순이평방식 upperBand = src + factor * AtrV; lowerBand = src - factor * AtrV; prevLowerBand = lowerBand[1]; prevUpperBand = upperBand[1]; if lowerBand > prevLowerBand or haClose[1] < prevLowerBand Then lowerBand = lowerBand; Else lowerBand = prevLowerBand; if upperBand < prevUpperBand or haClose[1] > prevUpperBand Then upperBand = upperBand; Else upperBand = prevUpperBand; if haClose > UpperBand Then direction = 1; if haClose < LowerBand Then direction = -1; if direction == 1 Then supertrend = lowerband; Else supertrend = upperband; if CROSSUP(haClose,supertrend) Then Find(1); } 즐거운 하루되세요