커뮤니티

수식문의

프로필 이미지
ksks
2026-03-24 10:21:21
25
글번호 231215
답변완료

Input:

    Bandwidth(8),  // 가우시안 커널의 대역폭

    mult(2),       // 엔벨로프 승수

    src(C);        // 적용 가격


Var:

    sum_w(0), sum_wy(0), y_hat(0), i(0), w(0),M5(0), M60(0),

    upper(0), lower(0), mae_val(0),

    TX(0), signal_up(False);


M5 = WMA(C, 5);

M60 = WMA(C, 60);

// 1. 가우시안 가중치 회귀 계산 (머신러닝 커널 회귀)

sum_w = 0;

sum_wy = 0;

For i = 0 to 25 {

    // Bandwidth를 사용하여 가중치 계산

    w = exp(-(pow(i, 2) / (2 * pow(Bandwidth, 2))));

    sum_w = sum_w + w;

    sum_wy = sum_wy + (src[i] * w);

}


If sum_w > 0 Then y_hat = sum_wy / sum_w;

Else y_hat = src;


// 2. 변동성(MAE) 기반 엔벨로프 구축

mae_val = Ma(abs(src - y_hat), 20);

upper = y_hat + (mae_val * mult);

lower = y_hat - (mae_val * mult);


Condition1 = CrossUp(src, upper);


If Condition1 = true && C>C[1]*1.08 && CountIf(Condition1==true,5)== 0 && M5>M60 Then Find(1);

============================================================================

오래간만에 올립니다.


상기 수식은 trading view에 가우시안터널 돌파에 관한 응용수식을 변형하여

  -금일 고가가 상한선돌파 하고

  -1봉전 ~ 5봉전에는 고가가 모두 상한선이하

-1봉전 대비 금일 종가는 8%상승, 거래량은 400%증가

-금일 가중이평 5>60

인 종목을 검색코자 위와같이 수정해보니 예스랭기쥐 검증에는 이상없다 나오는데

검색하여 차트를 보니 엉터리로 나오는데,

수정부탁드립니다.

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

예스스탁 예스스탁 답변

2026-03-24 10:35:09

안녕하세요 예스스탁입니다. 1 If Condition1 = true & =는 값저장입니다. 같다라는 표현은 == 로 지정하셔야 합니다. Condition1 == true && C>C[1]*1.08 && CountIf(Condition1==true,5)== 0 또한 위 조건이면 현재봉은 Condition1이 true인데 CountIf(Condition1==true,5)== 0 최근 5개봉(0~4봉전)에 조건이 만족한적이 없다라는 내용으로 내용이 상충됩니다. 2 수정한 식입니다. Input: Bandwidth(8), // 가우시안 커널의 대역폭 mult(2), // 엔벨로프 승수 src(C); // 적용 가격 Var: sum_w(0), sum_wy(0), y_hat(0), i(0), w(0),M5(0), M60(0), upper(0), lower(0), mae_val(0), TX(0), signal_up(False); M5 = WMA(C, 5); M60 = WMA(C, 60); // 1. 가우시안 가중치 회귀 계산 (머신러닝 커널 회귀) sum_w = 0; sum_wy = 0; For i = 0 to 25 { // Bandwidth를 사용하여 가중치 계산 w = exp(-(pow(i, 2) / (2 * pow(Bandwidth, 2)))); sum_w = sum_w + w; sum_wy = sum_wy + (src[i] * w); } If sum_w > 0 Then y_hat = sum_wy / sum_w; Else y_hat = src; // 2. 변동성(MAE) 기반 엔벨로프 구축 mae_val = Ma(abs(src - y_hat), 20); upper = y_hat + (mae_val * mult); lower = y_hat - (mae_val * mult); if h > upper and CountIf(h<upper,5)[1] == 5 and c >= c[1]*1.08 and v >= v[1]*(400/100) and m5 > m60 Then Find(1); 즐거운 하루되세요
프로필 이미지

ksks

2026-03-24 12:08:18

감사감사합니다.

중심선 아래에서 긴 꼬리로 상한선을 돌파하는 종목을 피하기 위해,
금일 종가> 중심선 조건을 추가하려면 어찌해야 하는지요.
프로필 이미지

예스스탁 예스스탁 답변

2026-03-24 12:59:07

안녕하세요 예스스탁입니다. Input: Bandwidth(8), // 가우시안 커널의 대역폭 mult(2), // 엔벨로프 승수 src(C); // 적용 가격 Var: sum_w(0), sum_wy(0), y_hat(0), i(0), w(0),M5(0), M60(0), upper(0), lower(0), mae_val(0), TX(0), signal_up(False); M5 = WMA(C, 5); M60 = WMA(C, 60); // 1. 가우시안 가중치 회귀 계산 (머신러닝 커널 회귀) sum_w = 0; sum_wy = 0; For i = 0 to 25 { // Bandwidth를 사용하여 가중치 계산 w = exp(-(pow(i, 2) / (2 * pow(Bandwidth, 2)))); sum_w = sum_w + w; sum_wy = sum_wy + (src[i] * w); } If sum_w > 0 Then y_hat = sum_wy / sum_w; Else y_hat = src; // 2. 변동성(MAE) 기반 엔벨로프 구축 mae_val = Ma(abs(src - y_hat), 20); upper = y_hat + (mae_val * mult); lower = y_hat - (mae_val * mult); if h > upper and CountIf(h<upper,5)[1] == 5 and c >= c[1]*1.08 and v >= v[1]*(400/100) and m5 > m60 and C > y_hat Then Find(1); 즐거운 하루되세요