커뮤니티

수식문의

프로필 이미지
ksks
2026-08-16 21:26:21
44
글번호 233253
답변완료

아래의 슈퍼트렌드 돌파 수식에

60일이격도가 100을 돌파하는 것을 추가하고 싶습니다.

(슈퍼트렌드 돌파일에 60일이격도가 100을 동시돌파)


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-08-18 13:12:19

안녕하세요 예스스탁입니다. 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); var2 = Disparity(60); 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) and CrossUp(var2,100) Then Find(1); } 즐거운 하루되세요