커뮤니티

수식검토

프로필 이미지
심홍
2026-05-27 18:23:12
26
글번호 232173
답변완료

수고하십니다

### 초기질의 ###

1번검색식과 2번검색식을 각각 검토 후 수정 부탁드립니다


### 재질의 ###

먼저 질의하였습니다

1번식은 거래대금을 변경하면 된다고 하셨는데 얼마로 설정해야 하나요

2번식은 5분봉과 30분봉에서 검색이 된다고 하셨는데 분봉에서 지표와 달라서 적용이 불편합니다

질의요점

1. 15분봉 매매에 활용하려고 합니다

2. 지표도 15분봉으로 세팅되어 있습니다

3. 15분봉에 한정해서 검색되는 방법은 없는지요


### 1번 검색식 ###


input : P1(20),P2(200),Period(100),DoD(1.03),데드구간봉수(5);

input : 거래대금(10);//억단위

var : vwap(0),vwma(0),mav1(0),mav2(0);

var : mx(0),mn(0),T(0),T1(0),T2(0),deadbars(0);


mav1 = ma(c,P1);

mav2 = ma(c,P2);


vwap = AccumN((H+L+C)/3 * V, Period) / AccumN(V, Period);

vwma = AccumN(C * V, Period) / AccumN(V, Period);


mx = max(vwap,vwma);

mn = min(vwap,vwma);


//조건1

Condition1 = mav1 > mav2 and mav2 > mav2[1] and

Money >= 거래대금*100000000 and

c >= DayClose(1)*DoD and

c > DayOpen;


#종가라 기준선중 큰값을 돌파하면

if T <= 0 and CrossUp(c,mx) Then

{

T = 1; #T는 1

#조건1을 만족했으면 T는 2

if Condition1 == true Then

T = 2;


T1 = T[1]; #T1는 직전구간(데드구간) T값

T2 = T1[1]; #T1 전전구간(직전골드구간) T값


#현재골드봉이고 직전데드구간은 -1로 끝났고 직전골드봉은 조건1이 만족

if T1 == -1 and T2 == 2 and deadbars >= 데드구간봉수 Then

Find(1);

}


if T >= 0 and CrossDown(c,mn) Then

{

T = -1;

T1 = T[1];

T2 = T1[1];

deadbars = 0;

}

Else

{

if T == -1 Then

deadbars = deadbars+1;

#조건2체크 : 데드 구간에서 고가가 기준선 중 작은값보다 크거나 작은 봉이 하나라도 있으면 T는 -1에서 0

if T == -1 and H >= mn Then

T = -2;

}





### 2번 검색식 ###

/* [설정] 입력 변수 */

Input : p1(20), p2(200), period(100), 상승률_n(1);

Input : 거래대금_억(1); // 1 = 1억 원 기준

Input : 최소횡보(5); // 돌파 직전 종가가 지표 아래 갇혀있어야 하는 최소 일수


/* [변수 선언] */

Var : m_vwap(0), m_vwma(0), 큰값(0);

Var : ma1(0), ma2(0);

Var : 당일상승률(0), 목표거래대금_원(0);


/* 1. 일봉 AccumN 지표 계산 (사용자 지정 식 100% 유지) */

m_vwap = AccumN((h+l+c)/3 * v, period) / AccumN(v, period);

m_vwma = AccumN(c * v, period) / AccumN(v, period);

큰값 = Max(m_vwap, m_vwma); // 돌파 기준선


ma1 = ma(C, p1);

ma2 = ma(C, p2);


// 원 단위 거래대금 설정 및 정확한 전일 대비 상승률 계산

목표거래대금_원 = 거래대금_억 * 100000000;

당일상승률 = (C - C[1]) / C[1] * 100;


/* 2. 조건 검증 및 최종 검색 */


// [조건 1] 20일선이 200일선 위에 있고, 200일선이 어제(1봉 전) 대비 확실히 우상향

If ma1 > ma2 And ma2 > ma2[1] Then

{

// [조건 2] 어제(1봉 전) 기준 과거 N봉 동안 종가가 항상 '큰값' 아래에 있었음 (횡보 완벽 검증)

// 오늘 돌파한 봉을 제외하기 위해 CountIf 함수 전체에 [1] 인덱스를 부여

If CountIf(C < 큰값, 최소횡보)[1] == 최소횡보 Then

{

// [조건 3] 돌파 타점: 어제 종가(C[1])는 어제 큰값(큰값[1]) 이하 + 오늘 종가(C)는 오늘 큰값 초과

If C[1] <= 큰값[1] And C > 큰값 Then

{

// [조건 4] 당일 양봉 + 1억 원 단위 거래대금(M) + 상승률 조건 결합

If C > O And

M >= 목표거래대금_원 And

당일상승률 >= 상승률_n Then

{

Find(1);

}

}

}

}


종목검색
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2026-05-28 12:57:09

전화 주시기 바랍니다. 02-3453-1060
프로필 이미지

예스스탁 예스스탁 답변

2026-05-28 14:39:29

안녕하세요 예스스탁입니다. input : P1(20),P2(200),Period(100),DoD(1.03),데드구간봉수(5); input : 거래대금(10);//억단위 var : vwap(0),vwma(0),mav1(0),mav2(0); var : mx(0),mn(0),T(0),T1(0),T2(0),deadbars(0); mav1 = ma(c,P1); mav2 = ma(c,P2); vwap = AccumN((H+L+C)/3 * V, Period) / AccumN(V, Period); vwma = AccumN(C * V, Period) / AccumN(V, Period); mx = max(vwap,vwma); mn = min(vwap,vwma); //조건1 Condition1 = mx > mx[1]; //수정 #종가라 기준선중 큰값을 돌파하면 if T <= 0 and CrossUp(c,mx) Then { T = 1; #T는 1 #조건1을 만족했으면 T는 2 if Condition1 == true Then T = 2; T1 = T[1]; #T1는 직전구간(데드구간) T값 T2 = T1[1]; #T1 전전구간(직전골드구간) T값 #현재골드봉이고 직전데드구간은 -1로 끝났고 직전골드봉은 조건1이 만족 if T1 == -1 and T2 == 2 and deadbars >= 데드구간봉수 Then Find(1); } if T >= 0 and CrossDown(c,mn) Then { T = -1; T1 = T[1]; T2 = T1[1]; deadbars = 0; } Else { if T == -1 Then deadbars = deadbars+1; #조건2체크 : 데드 구간에서 고가가 기준선 중 작은값보다 크거나 작은 봉이 하나라도 있으면 T는 -1에서 0 if T == -1 and H >= mn Then T = -2; } 즐거운 하루되세요