예스스탁
예스스탁 답변
2025-04-16 13:05:55
안녕하세요
예스스탁입니다.
input : period(10),multiplier(3);
var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0);
var : prevSuperTrend(0), direction(0),alpha(0),source(0),SuperTrend(C);
if CurrentBar > 1 Then
{
src = (H+L)/2;
alpha = 1 / period ;
source = TrueRange;
ATrV = IFf(IsNan(ATrV[1]) == true, ma(source,period) , alpha * source + (1 - alpha) * IFf(isnan(ATrV[1])==true,0,ATrV[1]));
//ATrV = ma(source,AtrPeriod); //단순이평방식
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;
if CrossUp(C,supertrend) Then
var1 = supertrend[1];
}
var : A(0),avgTR(0),B(0),D(0),E(0);
var : e1(False),e2(false),e3(False);
var : R(0);
A=ma(c,17);
avgTR=ma(max(max(h-L,abs(c[1]-h)),abs(c[1]-L)),17);
B=avgTR*2;
D=A+B;
E=BollBandUp(17,2);
e1=crossup(E,D);
e2=crossdown(E,D);
e3=crossdown(c,E);
if e1 or e2 or e3 Then
var2 = O;
R = RSI(5);
if R >= 70 and CrossUp(C,var1) and CrossUp(C,var2) Then
Find(1);
즐거운 하루되세요
> ikksoo 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 안녕하세요 평소 지표 관련 도움 주심에 감사드립니다.
RSI(5)가 70 이상 시, 종가가 다음의 2가지 조건을 돌파 / 또는 우상향하는 종목 검색식 부탁 드립니다.
1.
A = supertrend(14, 3);
ValueWhen(1, CrossUp(C, A), A(1));
2.
A=avg(c,17);
ATR=avg(max(max(h-L,abs(c(1)-h)),abs(c(1)-L)),17);
B=ATR*2;
D=A+B;
E=Bbandsup(17,2);
e1=crossup(E,D);
e2=crossdown(E,D);
e3=crossdown(c,E);
valuewhen(1,e1 or e2 or e3,o)
감사합니다.