답변완료
부탁드립니다.
아래지표에서
plot24 와 plot25 만 막대로 지정해서 사용중입니다.
막대가 빨강과 파랑으로 표시되는데
이때 차트위에도 연한 색으로 강세약세 표현되게 부탁드립니다.
혹시 막대의 굵기에 따라 색상이 점점 진해지게도 가능하다면 부탁드립니다.
색깔전환시 연한회색으로 구분되어지는것도 부탁드립니다.
// 단기 WMA 변수 선언
Var : Wma_Short1(0),Wma_Short2(0),Wma_Short3(0),Wma_Short4(0),Wma_Short5(0),Wma_Short6(0);
// 단기 WMA 계산 (기간: 3, 5, 8, 10, 12, 15)
Wma_Short1 = WMA(Close,3);
Wma_Short2 = WMA(Close, 5);
Wma_Short3 = WMA(Close, 8);
Wma_Short4 = WMA(Close, 10);
Wma_Short5 = WMA(Close, 12);
Wma_Short6 = WMA(Close, 15);
// 장기 WMA 변수 선언
Var : Wma_Long1(0),Wma_Long2(0),Wma_Long3(0),Wma_Long4(0),Wma_Long5(0),Wma_Long6(0);
// 장기 WMA 계산 (기간: 30, 35, 40, 45, 50, 60)
Wma_Long1 = WMA(Close, 30);
Wma_Long2 = WMA(Close, 35);
Wma_Long3 = WMA(Close, 40);
Wma_Long4 = WMA(Close, 45);
Wma_Long5 = WMA(Close, 50);
Wma_Long6 = WMA(Close, 60);
// 추세 판단 및 상태 유지에 필요한 변수들 선언
Var : Wma_Short_0단계(0), Wma_Short_1단계(0),
Wma_Long_0단계(0), Wma_Long_1단계(0),
Wma_추세_구분(0), Wma_추세_Cnt(0),
Wma_추세_상승_회수(0), Wma_추세_하락_회수(0),
Wma_추세_상승_고가(0), Wma_추세_상승_저가(0), Wma_추세_상승_진폭(0),
Wma_추세_하락_고가(0), Wma_추세_하락_저가(0), Wma_추세_하락_진폭(0),
Wma_추세유지_상승_Cnt(0), Wma_추세유지_하락_Cnt(0),
Wma_추세유지_상승_고가(0), Wma_추세유지_상승_저가(0), Wma_추세유지_상승_진폭(0),
Wma_추세유지_하락_고가(0), Wma_추세유지_하락_저가(0), Wma_추세유지_하락_진폭(0);
// 단기 WMA 간 관계를 기반으로 추세 방향 계산 (1단계 이전)
Wma_Short_0단계 =
IFF(Wma_Short1 > Wma_Short2, 1,0)+
IFF(Wma_Short1 < Wma_Short2, -1,0)+
IFF(Wma_Short2 > Wma_Short3, 1,0)+
IFF(Wma_Short2 < Wma_Short3, -1,0)+
IFF(Wma_Short3 > Wma_Short4, 1,0)+
IFF(Wma_Short3 < Wma_Short4, -1,0)+
IFF(Wma_Short4 > Wma_Short5, 1,0)+
IFF(Wma_Short4 < Wma_Short5, -1,0)+
IFF(Wma_Short5 > Wma_Short6, 1,0)+
IFF(Wma_Short5 < Wma_Short6, -1,0);
// 단기 WMA 1단계 추세 방향성 도출
Wma_Short_1단계 =
IFF(Wma_Short_0단계 > 4, 1,0)+
IFF(Wma_Short_0단계 > 2, 1,0)+
IFF(Wma_Short_0단계 < -4, -1,0)+
IFF(Wma_Short_0단계 < -2, -1,0);
// 장기 WMA 간 비교로 추세 방향 계산 (0단계)
Wma_Long_0단계 =
IFF(Wma_Long1 > Wma_Long2, 1,0)+
IFF(Wma_Long1 < Wma_Long2, -1,0)+
IFF(Wma_Long2 > Wma_Long3, 1,0)+
IFF(Wma_Long2 < Wma_Long3, -1,0)+
IFF(Wma_Long3 > Wma_Long4, 1,0)+
IFF(Wma_Long3 < Wma_Long4, -1,0)+
IFF(Wma_Long4 > Wma_Long5, 1,0)+
IFF(Wma_Long4 < Wma_Long5, -1,0)+
IFF(Wma_Long5 > Wma_Long6, 1,0)+
IFF(Wma_Long5 < Wma_Long6, -1,0);
// 장기 WMA 1단계 추세 방향성 도출
Wma_Long_1단계 =
IFF(Wma_Long_0단계 > 4, 1,0)+
IFF(Wma_Long_0단계 > 2, 1,0)+
IFF(Wma_Long_0단계 < -4, -1,0)+
IFF(Wma_Long_0단계 < -2, -1,0);
// 단기 vs 장기 WMA 비교로 추세 방향 결정 (+1: 상승, -1: 하락)
Wma_추세_구분 =
IFF(Min(Wma_Short1, Wma_Short6) > Max(Wma_Long1, Wma_Long6), 1,0)+
IFF(Max(Wma_Short1, Wma_Short6) < Min(Wma_Long1, Wma_Long6), -1,0);
// 상승 추세일 때 추세 상태 초기화 및 유지
If Wma_추세_구분 > 0 Then
{
If Wma_추세_구분[1] <= 0 Then
{
Wma_추세_Cnt = 1; // 새 상승 추세 시작
Wma_추세_상승_고가 = H; // 상승 추세 시작점 고가 저장
Wma_추세_상승_저가 = L; // 상승 추세 시작점 저가 저장
}
Else {
Wma_추세_Cnt = Wma_추세_Cnt+1; // 상승 추세 유지 중: 카운트 증가
Wma_추세_상승_고가 = Max(Wma_추세_상승_고가, H); // 상승 고가 갱신
Wma_추세_상승_저가 = Min(Wma_추세_상승_저가, L); // 상승 저가 갱신
}
}
// 하락 추세일 때 추세 상태 초기화 및 유지
If Wma_추세_구분 < 0 Then
{
If Wma_추세_구분[1] >= 0 Then
{
Wma_추세_Cnt = -1; // 새 하락 추세 시작
Wma_추세_하락_고가 = H; // 하락 추세 시작점 고가 저장
Wma_추세_하락_저가 = L; // 하락 추세 시작점 저가 저장
Wma_추세_상승_진폭 = (Wma_추세_상승_고가 - Wma_추세_상승_저가)/PriceScale; // 직전 상승 진폭 계산 (선물기준)
}
Else {
Wma_추세_Cnt = Wma_추세_Cnt-1; // 하락 추세 유지 중: 카운트 감소
Wma_추세_하락_고가 = Max(Wma_추세_하락_고가, H); // 하락 고가 갱신
Wma_추세_하락_저가 = Min(Wma_추세_하락_저가, L); // 하락 저가 갱신
Wma_추세_하락_진폭 = (Wma_추세_하락_고가 - Wma_추세_하락_저가)/PriceScale; // 하락 진폭 계산 (선물기준)
}
}
// 상승 추세 유지 여부 및 상승 회수, 유지 카운트 갱신
If Wma_추세_구분 > 0 Then
{
If Wma_추세_구분[1] <= 0 Then
{
Wma_추세_하락_회수 = 0; // 하락 회수 초기화
Wma_추세유지_하락_Cnt = 0; // 하락 유지 카운트 초기화
IF Wma_추세_상승_회수 > 0 then
{
Wma_추세유지_상승_Cnt = Wma_추세유지_상승_Cnt[1] + 1; // 직전 유지값 기반 카운트 증가
Wma_추세_상승_회수 = Wma_추세_상승_회수+1; // 상승 회수 증가
}
Else Wma_추세_상승_회수 = 1; // 첫 상승 구간 진입
}
Else Wma_추세유지_상승_Cnt = Wma_추세유지_상승_Cnt +1; // 지속 상승 시 유지 카운트 증가
}
// 하락 추세 유지 여부 및 하락 회수, 유지 카운트 갱신
If Wma_추세_구분 < 0 Then
{
If Wma_추세_구분[1] >= 0 Then
{
Wma_추세_상승_회수 = 0; // 상승 회수 초기화
Wma_추세유지_상승_Cnt = 0; // 상승 유지 카운트 초기화
IF Wma_추세_하락_회수 > 0 then
{
Wma_추세유지_하락_Cnt = Wma_추세유지_하락_Cnt[1] - 1; // 유지 카운트 감소
Wma_추세_하락_회수 = Wma_추세_하락_회수+1; // 하락 회수 증가
}
Else Wma_추세_하락_회수 = 1; // 첫 하락 구간 진입
}
Else Wma_추세유지_하락_Cnt = Wma_추세유지_하락_Cnt -1; // 지속 하락 시 유지 카운트 감소
}
// 상승 유지 구간 내 고가/저가 갱신
If Wma_추세_상승_회수 > 0 Then
{
If Wma_추세_상승_회수[1] < 1 Then
{
Wma_추세유지_상승_고가 = H; // 새로운 상승 유지 시작 시 고가 초기화
Wma_추세유지_상승_저가 = L; // 새로운 상승 유지 시작 시 저가 초기화
}
Else
{
Wma_추세유지_상승_고가 = max(H, Wma_추세유지_상승_고가); // 고가 갱신
Wma_추세유지_상승_저가 = Min(L, Wma_추세유지_상승_저가); // 저가 갱신
}
}
// 하락 유지 구간 내 고가/저가 갱신
If Wma_추세_하락_회수 > 0 Then
{
If Wma_추세_하락_회수[1] < 1 Then
{
Wma_추세유지_하락_고가 = H; // 새로운 하락 유지 시작 시 고가 초기화
Wma_추세유지_하락_저가 = L; // 새로운 하락 유지 시작 시 저가 초기화
}
Else
{
Wma_추세유지_하락_고가 = max(H, Wma_추세유지_하락_고가); // 고가 갱신
Wma_추세유지_하락_저가 = Min(L, Wma_추세유지_하락_저가); // 저가 갱신
}
}
// 진폭 계산 방식 분기: 주식은 % 기준, 선물은 PriceScale 기준 사용
If CodeCategory < 3 Then // 주식 종목일 경우
{
Wma_추세유지_하락_진폭 = (Wma_추세유지_하락_고가 - Wma_추세유지_하락_저가) / Wma_추세유지_하락_저가 * 100; // 하락 구간 진폭 (% 기준)
Wma_추세유지_상승_진폭 = (Wma_추세유지_상승_고가 - Wma_추세유지_상승_저가) / Wma_추세유지_상승_저가 * 100; // 상승 구간 진폭 (% 기준)
}
Else // 선물 종목일 경우
{
Wma_추세유지_하락_진폭 = (Wma_추세유지_하락_고가 - Wma_추세유지_하락_저가)/PriceScale; // 하락 구간 진폭 (틱 기준)
Wma_추세유지_상승_진폭 = (Wma_추세유지_상승_고가 - Wma_추세유지_상승_저가)/PriceScale; // 상승 구간 진폭 (틱 기준)
}
/////////////////////////////////////////////////////
// 단기 WMA 표시
plot1(Wma_Short1, "Short1",
IFF(Wma_추세_구분 > 0, RGB(255,0,0),
IFF(Wma_추세_구분 < 0, RgB(0,0,255),
RgB(220,220,220)))
,Def,
IFF(Abs(Wma_Short_1단계 + Wma_추세_구분) > 2,1,0));
plot2(Wma_Short2, "Short2",
IFF(Wma_추세_구분 > 0, RGB(255,0,0),
IFF(Wma_추세_구분 < 0, RgB(0,0,255),
RgB(220,220,220)))
,Def,
IFF(Abs(Wma_Short_1단계 + Wma_추세_구분) > 2,1,0));
plot3(Wma_Short3, "Short3",
IFF(Wma_추세_구분 > 0, RGB(255,0,0),
IFF(Wma_추세_구분 < 0, RgB(0,0,255),
RgB(220,220,220)))
,Def,
IFF(Abs(Wma_Short_1단계 + Wma_추세_구분) > 2,1,0));
plot4(Wma_Short4, "Short4",
IFF(Wma_추세_구분 > 0, RGB(255,0,0),
IFF(Wma_추세_구분 < 0, RgB(0,0,255),
RgB(220,220,220)))
,Def,
IFF(Abs(Wma_Short_1단계 + Wma_추세_구분) > 2,1,0));
plot5(Wma_Short5, "Short5",
IFF(Wma_추세_구분 > 0, RGB(255,0,0),
IFF(Wma_추세_구분 < 0, RgB(0,0,255),
RgB(220,220,220)))
,Def,
IFF(Abs(Wma_Short_1단계 + Wma_추세_구분) > 2,1,0));
plot6(Wma_Short6, "Short6",
IFF(Wma_추세_구분 > 0, RGB(255,0,0),
IFF(Wma_추세_구분 < 0, RgB(0,0,255),
RgB(220,220,220)))
,Def,
IFF(Abs(Wma_Short_1단계 + Wma_추세_구분) > 2,1,0));
// 장기 WMA 표시
plot7(Wma_Long1, "Long1",
IFF(Wma_추세_구분 > 0, RGB(0,255,0),
IFF(Wma_추세_구분 < 0,Green,
RgB(220,220,220))),Def,
IFF(Wma_Short_1단계 + Wma_추세_구분 > 2 && Wma_Long_1단계 > 0 ,1,
IFF(Wma_Short_1단계 + Wma_추세_구분 < -2 && Wma_Long_1단계 < 0 ,1,0)));
plot8(Wma_Long2, "Long2",
IFF(Wma_추세_구분 > 0, RGB(0,255,0),
IFF(Wma_추세_구분 < 0,Green,
RgB(220,220,220))),Def,
IFF(Wma_Short_1단계 + Wma_추세_구분 > 2 && Wma_Long_1단계 > 0 ,1,
IFF(Wma_Short_1단계 + Wma_추세_구분 < -2 && Wma_Long_1단계 < 0 ,1,0)));
plot9(Wma_Long3, "Long3",
IFF(Wma_추세_구분 > 0, RGB(0,255,0),
IFF(Wma_추세_구분 < 0,Green,
RgB(220,220,220))),Def,
IFF(Wma_Short_1단계 + Wma_추세_구분 > 2 && Wma_Long_1단계 > 0 ,1,
IFF(Wma_Short_1단계 + Wma_추세_구분 < -2 && Wma_Long_1단계 < 0 ,1,0)));
plot10(Wma_Long4, "Long4",
IFF(Wma_추세_구분 > 0, RGB(0,255,0),
IFF(Wma_추세_구분 < 0,Green,
RgB(220,220,220))),Def,
IFF(Wma_Short_1단계 + Wma_추세_구분 > 2 && Wma_Long_1단계 > 0 ,1,
IFF(Wma_Short_1단계 + Wma_추세_구분 < -2 && Wma_Long_1단계 < 0 ,1,0)));
plot11(Wma_Long5, "Long5",
IFF(Wma_추세_구분 > 0, RGB(0,255,0),
IFF(Wma_추세_구분 < 0,Green,
RgB(220,220,220))),Def,
IFF(Wma_Short_1단계 + Wma_추세_구분 > 2 && Wma_Long_1단계 > 0 ,1,
IFF(Wma_Short_1단계 + Wma_추세_구분 < -2 && Wma_Long_1단계 < 0 ,1,0)));
plot12(Wma_Long6, "Long6",
IFF(Wma_추세_구분 > 0, RGB(0,255,0),
IFF(Wma_추세_구분 < 0,Green,
RgB(220,220,220))),Def,
IFF(Wma_Short_1단계 + Wma_추세_구분 > 2 && Wma_Long_1단계 > 0 ,1,
IFF(Wma_Short_1단계 + Wma_추세_구분 < -2 && Wma_Long_1단계 < 0 ,1,0)));
Plot13(Wma_추세_상승_고가,"상승_고가");
Plot14(Wma_추세_상승_저가,"상승_저가");
Plot15(Wma_추세_하락_고가,"하락_고가");
Plot16(Wma_추세_하락_저가,"하락_저가");
Plot17(Wma_추세_상승_진폭,"Wma_추세_상승_진폭");
Plot18(Wma_추세_하락_진폭,"Wma_추세_하락_진폭");
If Wma_추세_구분 <> 0 Then
Plot20(0,"Wma_추세_구분",IFF(Wma_추세_구분 > 0, ReD, Blue),Def,3);
Plot22(Wma_Short_1단계,"Short1단계",
IFf(Wma_Short_1단계 > 1,Red,
IFf(Wma_Short_1단계 < -1,Blue, Gray)),Def,Abs(Wma_Short_1단계));
Plot21(Wma_Long_1단계,"Long_1단계",
IFf(Wma_Long_1단계 > 1,Red,
IFf(Wma_Long_1단계 < -1,Blue, Gray)),Def,Abs(Wma_Long_1단계));
If Wma_추세_상승_회수 > 1 or Wma_추세_하락_회수 > 1 Then
Plot23(Wma_추세_Cnt,"추세_Cnt", IFF(Wma_추세_Cnt > 0,Red,Blue));
Plot24(Wma_추세_상승_회수,"Wma_추세_상승_회수", red, Def, Wma_추세_상승_회수-1);
Plot25(Wma_추세_하락_회수,"Wma_추세_하락_회수", Blue, Def, Wma_추세_하락_회수-1);
If Wma_추세유지_상승_Cnt > 0 Then
Plot26(Wma_추세유지_상승_Cnt,"Wma_추세유지_상승_Cnt",Red);
If Wma_추세유지_하락_Cnt < 0 Then
Plot27(Wma_추세유지_하락_Cnt,"Wma_추세유지_하락_Cnt",Blue);
Plot28(Wma_추세유지_상승_진폭,"추세유지_상승_진폭",red,def,1);
Plot30(Wma_추세유지_하락_진폭,"Wma_추세유지_하락_진폭",blue,def,1);
2025-08-03
126
글번호 192950
지표