커뮤니티
질문 있습니다.
질문의 핵심: 1분봉 이동평균선 색상 변경 시 딜레이 적용 방법 문의 (파란색 미표시 문제)
안녕하세요.
1분봉 차트에서 이동평균선의 방향에 따라 색상을 다르게 표시하고, 색상 변경 시 딜레이를 주고 싶습니다.
현재 코드:
input : P(120);
var1 = ma(C,P);
if var1 > var1[1] Then
var2 = 1;
if var1 < var1[1] Then
var2 = -1;
if var2 == 1 Then
plot1(var1,"이평",RED,DEF,4);
Else
plot1(var1,"이평",BLUE,DEF,4);
이 코드는 정상 작동하지만, 횡보 구간에서 빨강<->파랑이 너무 자주 바뀝니다.
원하는 기능은 아래와 같습니다.
색상이 변경될 때 즉시 바꾸지 않고, 20분(20봉) 동안 새로운 방향이 유지되면 그때 색상을 변경하고 싶습니다.
예를 들어서 파,빨 파,빨 들쑥날쑥 색이 변하는 것 대신 파에서 빨 변하는 상황이 오면 바로 변하지 않고 20분or20봉 딜레이 주면서 끝나면 빨이 맞다면 빨, 파 맞다면 계속 파
이렇게 하는 것입니다.
시도한 코드:
input : P(120), DelayBars(20);
vars: var1(0), var2(0),
NewSignal(0),
PrevSignal(0),
BarCounter(0),
FirstRun(True);
var1 = ma(C,P);
If var1 > var1[1] Then
NewSignal = 1
Else If var1 < var1[1] Then
NewSignal = -1
Else
NewSignal = PrevSignal;
If FirstRun = True Then Begin
var2 = NewSignal;
PrevSignal = NewSignal;
FirstRun = False;
End;
If NewSignal <> 0 and NewSignal <> var2 Then Begin
BarCounter = BarCounter + 1;
If BarCounter >= DelayBars Then Begin
var2 = NewSignal;
BarCounter = 0;
End;
End
Else Begin
BarCounter = 0;
End;
PrevSignal = NewSignal;
If var2 = 1 Then
plot1(var1, "이평", RED, DEF, 4)
Else
plot1(var1, "이평", BLUE, DEF, 4);
문제:
위 코드를 실행하면 파란색이 전혀 표시되지 않고 빨간색만 표시됩니다. ㅠㅠ (첨부 이미지 참조)
이동평균선이 하락할 때는 파란색으로 표시되어야 하는데, 색상 변경이 제대로 작동하지 않습니다.
1분봉 환경에서 이동평균선 방향 변경 시 N봉 딜레이를 주는 올바른 방법을 알려주시면 감사하겠습니다.
P.S. var2 변수의 초기값이나 방향 전환 로직에 문제가 있는 것 같은데,
어떻게 수정해야 파란색(하락)도 제대로 표시될까요???
사용한 차트 환경
차트: 1분봉
이동평균: 120일
원하는 딜레이: 20분 (20봉)
감사합니다!

답변 1
예스스탁 예스스탁 답변
2025-10-31 10:52:28