커뮤니티
종목검색 부탁드립니다.
2026-02-24 09:28:19
68
글번호 230730
안녕하세요. 늦은 새해 복 많이 받으시길 바랍니다.
아래 조건 검색식 부탁드립니다.
1. 일봉에서
1) CrossUp(C,Supertrend 20,3) 가 발생 2) 1~60봉전 CrossUp(C,Supertrend 20,1) 발생한 종목
2. 120분봉에서
1) 당일내 CrossUp(C,Supertrend 20,3) 가 발생 2) 1~60봉전 CrossUp(C,Supertrend 20,1) 발생한 종목
감사합니다..
답변 1
예스스탁 예스스탁 답변
2026-02-24 12:36:25
안녕하세요
예스스탁입니다.
문의하신 내용은 일봉, 분봉 수식 내용은 같습니다.
종목검색화면에서 주기만 일봉이나 분봉으로 지정하고 검색하시면 됩니다.
현재봉에서 Supertrend(20,3) 상향돌파하고
1봉전~60봉전에 Supertrend(20,1)을 상향돌파가 1회이상 있는 종목을 검색합니다.
input : period1(20),multiplier1(3);
input : period2(20),multiplier2(1);
var : src(0);
var : AtrV1(0),upperBand1(0),lowerBand1(0), prevLowerBand1(0), prevUpperBand1(0);
var : prevSuperTrend1(0), direction1(0),alpha1(0),source1(0),SuperTrend1(C);
var : AtrV2(0),upperBand2(0),lowerBand2(0), prevLowerBand2(0), prevUpperBand2(0);
var : prevSuperTrend2(0), direction2(0),alpha2(0),source2(0),SuperTrend2(C);
src = (H+L)/2;
if CurrentBar > 1 Then
{
alpha1 = 1 / period1 ;
ATrV1 = IFf(IsNan(ATrV1[1]) == true, ma(TrueRange,period1) , alpha1 * TrueRange + (1 - alpha1) * IFf(isnan(ATrV1[1])==true,0,ATrV1[1]));
upperBand1 = src + multiplier1 * AtrV1;
lowerBand1 = src - multiplier1 * AtrV1;
prevLowerBand1 = lowerBand1[1];
prevUpperBand1 = upperBand1[1];
if lowerBand1 > prevLowerBand1 or close[1] < prevLowerBand1 Then
lowerBand1 = lowerBand1;
Else
lowerBand1 = prevLowerBand1;
if upperBand1 < prevUpperBand1 or close[1] > prevUpperBand1 Then
upperBand1 = upperBand1;
Else
upperBand1 = prevUpperBand1;
if C > UpperBand1 Then
direction1 = 1;
if C < LowerBand1 Then
direction1 = -1;
if direction1 == 1 Then
SuperTrend1 = lowerband1;
Else
SuperTrend1 = upperband1;
alpha2 = 1 / period2 ;
ATRV2 = IFf(IsNan(ATRV2[1]) == true, ma(TrueRange,period2) , alpha2 * TrueRange + (1 - alpha2) * IFf(isnan(ATRV2[1])==true,0,ATRV2[1]));
upperBand2 = src + multiplier2 * AtrV2;
lowerBand2 = src - multiplier2 * AtrV2;
prevLowerBand2 = lowerBand2[1];
prevUpperBand2 = upperBand2[1];
if lowerBand2 > prevLowerBand2 or close[1] < prevLowerBand2 Then
lowerBand2 = lowerBand2;
Else
lowerBand2 = prevLowerBand2;
if upperBand2 < prevUpperBand2 or close[1] > prevUpperBand2 Then
upperBand2 = upperBand2;
Else
upperBand2 = prevUpperBand2;
if C > UpperBand2 Then
direction2 = 1;
if C < LowerBand2 Then
direction2 = -1;
if direction2 == 1 Then
SuperTrend2 = lowerband2;
Else
SuperTrend2 = upperband2;
if CrossUp(C,SuperTrend1) and CountIf(CrossUp(C,SuperTrend2),60)[1] >= 1 Then
Find(1);
}
새해 복 많이 받으시고
즐거운 하루되세요