커뮤니티
종목검색식으로 변환 부탁드려요.
// 종목검색식: BBandsUp+EMA 기반 변환 검색식
// 제목: BBandsUp_EMA_변환
Input : 기간(60), 승수(1), 이평(120);
Var : A(0), A1(0), SS1(0), SS2(0), SS1_25(0), SS2_25(0), signal(0), plotSignal(0);
Var : TxID(0);
// 볼린저 밴드 상단
A = BollBandUp(기간, 승수);
// 지수이동평균(EMA)
A1 = EMA(C, 이평);
// SS1, SS2 계산 (참조기간 고저 기반)
SS1 = (Highest(H,9) + Lowest(L,9) + Highest(H,26) + Lowest(L,26)) / 4;
SS2 = (Highest(H,52) + Lowest(L,52)) / 2;
// 25봉 전 값 참조 (검색식에서는 과거값 참조 허용 범위 고려)
SS1_25 = SS1[25];
SS2_25 = SS2[25];
// 조건식: 변환 조건 만족 시 signal=1
If SS1_25 <= C And SS2_25 <= C And (CrossUp(A, A1) Or (A1 * 1.03 >= A And A1 <= A And CrossUp(C, A))) Then
signal = 1;
Else
signal = 0;
// 플롯용 값 대신 검색식에서는 Signal 위치(가격)를 계산
If signal == 1 Then
plotSignal = Low - (ATR(14) * 0.2);
Else
plotSignal = plotSignal[1];
// 텍스트는 화면 출력용이므로 검색결과 표시에만 사용: Find(1) 호출 필수
If signal == 1 Then
{
// 텍스트 객체 관리는 지표와 달리 검색 결과 리턴에 영향 없으므로 간결히 처리
If TxID <> 0 Then
{
Text_Delete(TxID);
TxID = 0;
}
TxID = Text_New(sDate, sTime, plotSignal, "▲");
Text_SetColor(TxID, Lime);
Text_SetSize(TxID, 18);
Text_SetFont(TxID, "Arial Bold");
// 검색 결과 반환
Find(1);
}
답변 1
예스스탁 예스스탁 답변
2026-07-02 10:35:53