첨부 이미지
그림1
안녕하세요!
첨부파일은 아래 수식을 적용한 것입니다!
고점에서 0.65 하락하거나 저점에서 0.65 상승을 하면 색상이 바뀌도록 수정을 부탁드립니다! 그리고 0.65는 수정 할 수 있도록 외부변수로 부탁드립니다!
꼭 아래 수식을 수정해서 만들어 주시길 부탁드리는건 아닙니다!
이해를 돕고져 참고 파일처럼 고점에서 0.65 하락, 또는 저점에서 0.65 상승 하여 완성봉이 되면 참고 파일 처럼 나타나는 수식을 희망합니다!
감사합니다!
input : factor(3), AtrPeriod(10);
var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0);
var : prevSuperTrend(0), superTrend(0), direction(0),alpha(0),source(0);
if CurrentBar > 1 Then {
src = (H+L)/2;
// ATR계산(ATR 계산시 지수가중이동평균(rma)이용)
alpha = 1 / AtrPeriod ;
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;
prevSuperTrend = superTrend[1];
if prevSuperTrend == prevUpperBand Then {
if close > upperBand Then
direction = -1;
Else
direction = 1;
}
Else {
if close < lowerBand Then
direction = 1;
Else
direction = -1;
}
if direction == -1 Then
superTrend = lowerBand;
Else
superTrend = upperBand;
}
Plot1(C,"종가");
plot2(superTrend,"superTrend",IFf(C > superTrend, green, REd), 0, 0);
답변 1
예스스탁
예스스탁 답변
2023-02-15 13:02:09
안녕하세요
예스스탁입니다.
올려주신 내용은 수식으로 처리가 가능하지 않습니다.
지표사이에 색을 채우는 기눙은 설정창의 채우기로만 가능한데
채우기 옵션이 단지 2개의 지표값의 비교로만 가능합니다.
다른 조건을 주어 설정할 방법이 없습니다.
도움을 드리지 못해 죄송합니다.
즐거운 하루되세요
> qha71 님이 쓴 글입니다.
> 제목 : 수정 부탁드립니다
> 안녕하세요!
첨부파일은 아래 수식을 적용한 것입니다!
고점에서 0.65 하락하거나 저점에서 0.65 상승을 하면 색상이 바뀌도록 수정을 부탁드립니다! 그리고 0.65는 수정 할 수 있도록 외부변수로 부탁드립니다!
꼭 아래 수식을 수정해서 만들어 주시길 부탁드리는건 아닙니다!
이해를 돕고져 참고 파일처럼 고점에서 0.65 하락, 또는 저점에서 0.65 상승 하여 완성봉이 되면 참고 파일 처럼 나타나는 수식을 희망합니다!
감사합니다!
input : factor(3), AtrPeriod(10);
var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0);
var : prevSuperTrend(0), superTrend(0), direction(0),alpha(0),source(0);
if CurrentBar > 1 Then {
src = (H+L)/2;
// ATR계산(ATR 계산시 지수가중이동평균(rma)이용)
alpha = 1 / AtrPeriod ;
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;
prevSuperTrend = superTrend[1];
if prevSuperTrend == prevUpperBand Then {
if close > upperBand Then
direction = -1;
Else
direction = 1;
}
Else {
if close < lowerBand Then
direction = 1;
Else
direction = -1;
}
if direction == -1 Then
superTrend = lowerBand;
Else
superTrend = upperBand;
}
Plot1(C,"종가");
plot2(superTrend,"superTrend",IFf(C > superTrend, green, REd), 0, 0);