커뮤니티
수식검토
수고하십니다
### 초기질의 ###
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
예스스탁 예스스탁 답변
2026-05-28 14:39:29