예스스탁
예스스탁 답변
2025-10-01 15:17:06.0
안녕하세요
예스스탁입니다.
input : length(14);
input : upperLevel(2.0);
input : lowerLevel(-2.0);
input : maxLevel(4.0);
input : minLevel(4.0);
input : highlightBreakouts(true);
var : src(0),alpha(0),atrv(0),pgo(0),pgoColor(0);
src = close;
alpha = 1 / length ;
ATRV = IFf(IsNan(ATRV[1]) == true, ma(TrueRange,length) , alpha * TrueRange + (1 - alpha) * IFf(isnan(ATRV[1])==true,0,ATRV[1]));
pgo = (src - ma(src, length)) / atrv;
pgoColor = iff(pgo > upperLevel , Lime , IFf(pgo < lowerLevel , Red , Salmon));
plot1(pgo,"PGO",pgoColor);
plot2(maxLevel, "Max Level",Black);
plot3(upperLevel, "Upper Level", Gray);
plot4(0, "Zero Level",Black);
plot5(lowerLevel, "Lower Level", Gray);
plot6(minLevel,"Min Level",Black);
즐거운 명절 되시기 바랍니다.
> 파생돌이 님이 쓴 글입니다.
> 제목 : 부탁드립니다
> 수고하십니다
예스로 부탁드립니다
//@version=3
// Copyright (c) 2018-present, Alex Orekhov (everget)
// Pretty Good Oscillator s c ript may be freely distributed under the MIT license.
study("Pretty Good Oscillator", shorttitle="PGO")
length = input(title="Length", type=integer, defval=14, minval=1)
upperLevel = input(title="Upper Level", type=float, step=0.1, defval=2.0)
lowerLevel = input(title="Lower Level", type=float, step=0.1, defval=-2.0)
maxLevel = input(title="Max Level", type=float, step=0.1, defval=4.0)
minLevel = input(title="Min Level", type=float, step=0.1, defval=-4.0)
highlightBreakouts = input(title="Highlight Overbought/Oversold Breakouts ?", type=bool, defval=true)
src = input(title="Source", type=source, defval=close)
pgo = (src - sma(src, length)) / atr(length)
pgoColor = pgo > upperLevel ? #0ebb23 : pgo < lowerLevel ? #ff0000 : #f4b77d
plot(pgo, title="PGO", linewidth=2, color=pgoColor, transp=0)
transparent = color(white, 100)
maxLevelPlot = hline(maxLevel, title="Max Level", linestyle=dotted, color=transparent)
upperLevelPlot = hline(upperLevel, title="Upper Level", linestyle=dotted)
hline(0, title="Zero Level", linestyle=dotted)
lowerLevelPlot = hline(lowerLevel, title="Lower Level", linestyle=dotted)
minLevelPlot = hline(minLevel, title="Min Level", linestyle=dotted, color=transparent)
fill(upperLevelPlot, lowerLevelPlot, color=purple, transp=95)
upperFillColor = pgo > upperLevel and highlightBreakouts ? green : transparent
lowerFillColor = pgo < lowerLevel and highlightBreakouts ? red : transparent
fill(maxLevelPlot, upperLevelPlot, color=upperFillColor, transp=90)
fill(minLevelPlot, lowerLevelPlot, color=lowerFillColor, transp=90)