커뮤니티

수식으로 된다면 부탁드립니다

프로필 이미지
볼라레
2025-09-29 23:34:35.0
71
글번호 194392
답변완료
// TEWMA - 삼중 지수 가중 이동 평균 지표 Input : len(50), // 기본 기간 multi(1.75), // 승수 크기(12) ; // 텍스트 크기 Vars : len2(0), // 계산된 두 번째 기간 TEWMA1(0), // 첫 번째 TEWMA 값 TEWMA2(0), // 두 번째 TEWMA 값 TEWMA(0), // 최종 TERWMA 값 Signal(0), // 트랜드 신호 (-1 : 하락, 1 : 상승) dir(0), // 방향 변수 (텍스트 신호용) Long(false), // 상승 조건 Short(false), // 하락 조건 tx(0) ; // 텍스트 객체 // 두 번째 기간 계산 (len * multi를 반올림) len2 = Round(len * multi, 0); // TEWMA1 계산: TEMA(WMA(종가, len), len) var : wma1(0), ema1_1(0), ema1_2(0), ema1_3(0); wma1 = wma(C, len) ; // 가중 이동 평균 ema1_1 = Ema(wma1, len) ; // 첫 번째 지수 이동 평균 ema1_2 = Ema(ema1_1, len) ; // 두 번째 지수 이동 평균 ema1_3 = Ema(ema1_2, len) ; // 세 번째 지수 이동 평균 TEWMA1 = 3 * ema1_1 - 3- ema1_2 + ema1_3 ; //TEMA공식 // TEWMA2 계산: TEMA(WMA(종가, len2), len2) var : wma2(0), ema2_1(0), ema2_2(0), ema2_3(0); wma1 = wma(C, len2) ; // 가중 이동 평균 ema2_1 = Ema(wma2, len2) ; // 첫 번째 지수 이동 평균 ema2_2 = Ema(ema2_1, len2) ; // 두 번째 지수 이동 평균 ema2_3 = Ema(ema2_2, len2) ; // 세 번째 지수 이동 평균 TEWMA2 = 3 * ema2_1 - 3 * ema2_2 + ema2_3 ; // TEMA공식 //최종 TEWMA 계산 (두 값의 평균) TEWMA = (TEWMA1 + TEWMA2) / 2 ; //트랜드 조건 정의 Long = TEWMA > TEWMA[1] ; // 현재 TEWMA가 이전 값 보다 크면 상승 Short = TEWMA < TEWMA[1] ; // 현재 TEWMA가 이전 값 보다 작으면 하락 // 신호 상태 업데이트 if Long then { signal = 1; // 상승 신호 dir = 1 ; // dir 변수도 함께 업데이트 } if Short then { signal = -1; // 하락 신호 dir = -1 ; // dir 변수도 함께 업데이트 } // 지표 출력 (색상은 차트 설정에서 수동 변경 필요) Plot1(TEWMA, "TEWMA") ; // 메인 TEWMA 라인 Plot2(TEWMA1, "TEWMA1") ; // 첫 번째 TEWMA 라인 Plot3(TEWMA2, "TEWMA2") ; // 두 번째 TEWMA 라인 // 상승 신호 (이전이 하락에서 상승으로 전환) if dir == 1 and dir[1] == -1 Then { tx = Text_New(sDate, sTime, low, "▲") ; Text_SetStyle(tx, 2, 0) ; Text_SetSize(tx, 크기) ; Text_SetColor(tx, Black) ; } // 하락 신호 (이전이 상승에서 하락으로 전환) if dir == -1 and dir[1] == 1 Then { tx = Text_New(sDate, sTime, high, "▼") ; Text_SetStyle(tx, 2, 1) ; Text_SetSize(tx, 크기) ; Text_SetColor(tx, Black) ; } /* // 알림 기능 (Alert 함수 사용) if Long then { Alert("TEWMA Long 신호 발생") ; } if Short then { Alert("TEWMA Long 신호 발생") ; } 위 수식을 예스 코인 차트에 적용하면 지표는 크게 나오고 봉 차트는 일자로 나오게 되는데 정상적인 차트로 볼 수가 있나요? 검증 부탁드립니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-09-30 13:08:55.0

안녕하세요 예스스탁입니다. TEMA계산식이 잘못되어 있어 수정했습니다. Input : len(50), // 기본 기간 multi(1.75), // 승수 크기(12) ; // 텍스트 크기 Vars : len2(0), // 계산된 두 번째 기간 TEWMA1(0), // 첫 번째 TEWMA 값 TEWMA2(0), // 두 번째 TEWMA 값 TEWMA(0), // 최종 TERWMA 값 Signal(0), // 트랜드 신호 (-1 : 하락, 1 : 상승) dir(0), // 방향 변수 (텍스트 신호용) Long(false), // 상승 조건 Short(false), // 하락 조건 tx(0) ; // 텍스트 객체 // 두 번째 기간 계산 (len * multi를 반올림) len2 = Round(len * multi, 0); // TEWMA1 계산: TEMA(WMA(종가, len), len) var : wma1(0), ema1_1(0), ema1_2(0), ema1_3(0); wma1 = wma(C, len) ; // 가중 이동 평균 ema1_1 = Ema(wma1, len) ; // 첫 번째 지수 이동 평균 ema1_2 = Ema(ema1_1, len) ; // 두 번째 지수 이동 평균 ema1_3 = Ema(ema1_2, len) ; // 세 번째 지수 이동 평균 TEWMA1 = 3 * ema1_1 - 3*ema1_2 + ema1_3 ; //TEMA공식 // TEWMA2 계산: TEMA(WMA(종가, len2), len2) var : wma2(0), ema2_1(0), ema2_2(0), ema2_3(0); wma2 = wma(C, len2) ; // 가중 이동 평균 ema2_1 = Ema(wma2, len2) ; // 첫 번째 지수 이동 평균 ema2_2 = Ema(ema2_1, len2) ; // 두 번째 지수 이동 평균 ema2_3 = Ema(ema2_2, len2) ; // 세 번째 지수 이동 평균 TEWMA2 = 3 * ema2_1 - 3 * ema2_2 + ema2_3 ; // TEMA공식 //최종 TEWMA 계산 (두 값의 평균) TEWMA = (TEWMA1 + TEWMA2) / 2 ; //트랜드 조건 정의 Long = TEWMA > TEWMA[1] ; // 현재 TEWMA가 이전 값 보다 크면 상승 Short = TEWMA < TEWMA[1] ; // 현재 TEWMA가 이전 값 보다 작으면 하락 // 신호 상태 업데이트 if Long then { signal = 1; // 상승 신호 dir = 1 ; // dir 변수도 함께 업데이트 } if Short then { signal = -1; // 하락 신호 dir = -1 ; // dir 변수도 함께 업데이트 } // 지표 출력 (색상은 차트 설정에서 수동 변경 필요) Plot1(TEWMA, "TEWMA") ; // 메인 TEWMA 라인 Plot2(TEWMA1, "TEWMA1") ; // 첫 번째 TEWMA 라인 Plot3(TEWMA2, "TEWMA2") ; // 두 번째 TEWMA 라인 // 상승 신호 (이전이 하락에서 상승으로 전환) if dir == 1 and dir[1] == -1 Then { tx = Text_New(sDate, sTime, low, "▲") ; Text_SetStyle(tx, 2, 0) ; Text_SetSize(tx, 크기) ; Text_SetColor(tx, Black) ; } // 하락 신호 (이전이 상승에서 하락으로 전환) if dir == -1 and dir[1] == 1 Then { tx = Text_New(sDate, sTime, high, "▼") ; Text_SetStyle(tx, 2, 1) ; Text_SetSize(tx, 크기) ; Text_SetColor(tx, Black) ; } /* // 알림 기능 (Alert 함수 사용) if Long then { Alert("TEWMA Long 신호 발생") ; } if Short then { Alert("TEWMA Long 신호 발생") ; } 즐거운 명절 되시기 바랍니다. > 볼라레 님이 쓴 글입니다. > 제목 : 수식으로 된다면 부탁드립니다 > // TEWMA - 삼중 지수 가중 이동 평균 지표 Input : len(50), // 기본 기간 multi(1.75), // 승수 크기(12) ; // 텍스트 크기 Vars : len2(0), // 계산된 두 번째 기간 TEWMA1(0), // 첫 번째 TEWMA 값 TEWMA2(0), // 두 번째 TEWMA 값 TEWMA(0), // 최종 TERWMA 값 Signal(0), // 트랜드 신호 (-1 : 하락, 1 : 상승) dir(0), // 방향 변수 (텍스트 신호용) Long(false), // 상승 조건 Short(false), // 하락 조건 tx(0) ; // 텍스트 객체 // 두 번째 기간 계산 (len * multi를 반올림) len2 = Round(len * multi, 0); // TEWMA1 계산: TEMA(WMA(종가, len), len) var : wma1(0), ema1_1(0), ema1_2(0), ema1_3(0); wma1 = wma(C, len) ; // 가중 이동 평균 ema1_1 = Ema(wma1, len) ; // 첫 번째 지수 이동 평균 ema1_2 = Ema(ema1_1, len) ; // 두 번째 지수 이동 평균 ema1_3 = Ema(ema1_2, len) ; // 세 번째 지수 이동 평균 TEWMA1 = 3 * ema1_1 - 3- ema1_2 + ema1_3 ; //TEMA공식 // TEWMA2 계산: TEMA(WMA(종가, len2), len2) var : wma2(0), ema2_1(0), ema2_2(0), ema2_3(0); wma1 = wma(C, len2) ; // 가중 이동 평균 ema2_1 = Ema(wma2, len2) ; // 첫 번째 지수 이동 평균 ema2_2 = Ema(ema2_1, len2) ; // 두 번째 지수 이동 평균 ema2_3 = Ema(ema2_2, len2) ; // 세 번째 지수 이동 평균 TEWMA2 = 3 * ema2_1 - 3 * ema2_2 + ema2_3 ; // TEMA공식 //최종 TEWMA 계산 (두 값의 평균) TEWMA = (TEWMA1 + TEWMA2) / 2 ; //트랜드 조건 정의 Long = TEWMA > TEWMA[1] ; // 현재 TEWMA가 이전 값 보다 크면 상승 Short = TEWMA < TEWMA[1] ; // 현재 TEWMA가 이전 값 보다 작으면 하락 // 신호 상태 업데이트 if Long then { signal = 1; // 상승 신호 dir = 1 ; // dir 변수도 함께 업데이트 } if Short then { signal = -1; // 하락 신호 dir = -1 ; // dir 변수도 함께 업데이트 } // 지표 출력 (색상은 차트 설정에서 수동 변경 필요) Plot1(TEWMA, "TEWMA") ; // 메인 TEWMA 라인 Plot2(TEWMA1, "TEWMA1") ; // 첫 번째 TEWMA 라인 Plot3(TEWMA2, "TEWMA2") ; // 두 번째 TEWMA 라인 // 상승 신호 (이전이 하락에서 상승으로 전환) if dir == 1 and dir[1] == -1 Then { tx = Text_New(sDate, sTime, low, "▲") ; Text_SetStyle(tx, 2, 0) ; Text_SetSize(tx, 크기) ; Text_SetColor(tx, Black) ; } // 하락 신호 (이전이 상승에서 하락으로 전환) if dir == -1 and dir[1] == 1 Then { tx = Text_New(sDate, sTime, high, "▼") ; Text_SetStyle(tx, 2, 1) ; Text_SetSize(tx, 크기) ; Text_SetColor(tx, Black) ; } /* // 알림 기능 (Alert 함수 사용) if Long then { Alert("TEWMA Long 신호 발생") ; } if Short then { Alert("TEWMA Long 신호 발생") ; } 위 수식을 예스 코인 차트에 적용하면 지표는 크게 나오고 봉 차트는 일자로 나오게 되는데 정상적인 차트로 볼 수가 있나요? 검증 부탁드립니다