예스스탁
예스스탁 답변
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 신호 발생") ;
}
위 수식을 예스 코인 차트에 적용하면 지표는 크게 나오고 봉 차트는 일자로 나오게
되는데 정상적인 차트로 볼 수가 있나요?
검증 부탁드립니다