커뮤니티

지표식 다시 부탁 드립니다

프로필 이미지
한결
2026-09-01 15:31:26
93
글번호 233451
답변완료

애써 알려주신 수식이 안되네요


다시 한번 부탁 드립니다


언제나 감사 드립니다


궁금한 지표식은



1 .

5분 차트에  표현하고 싶습니다

60분 전봉  60분 5선  골드  30분 전봉  30분 5선 골드  일때   5분 차트 여백에  "  1 "  표시  (변수 조정 가능 )

60분 전봉  60분 5선  골드  30분 전봉  30분 5선  데드  일때    5분 차트 여백에     "  2 "  표시


60분 전봉  60분 5선  데드  30분 전봉  30분 5선  데드  일때   5분 차트 여백에     "  -1 "  표시  (변수 조정 가능 )

60분 전봉  60분 5선  데드  30분 전봉  30분 5선  골드  일때   5분 차트 여백에     "  -2 "  표시


2 .

5분 차트에

60분 전봉 종가  60분 5선 골드일때   5분 차트 여백에 "  1 "

60분 전봉  종가 60분 5선 데드 일때 5분 차트 여백에 " -1"


부탁 드립니다


수고 하세요

지표

답변 1

예스스탁 예스스탁 답변

2026-09-01 14:36:26

안녕하세요

예스스탁입니다.

1

input : ntime1(60),P1(5);

input : ntime2(30),P2(5);

var : S1(0),D1(0),TM(0),cnt(0);

var : TF1(0),sum1(0);

var : TF2(0),sum2(0),T(0),tx(0);

Array : C1[100](0),mav1[100](0),C2[100](0),mav2[100](0);

if Bdate != Bdate[1] Then

{

S1 = TimeToMinutes(stime);

D1 = sdate;

}

if D1 > 0 then

{

if sdate == D1 Then

TM = TimeToMinutes(stime)-S1;

Else

TM = TimeToMinutes(stime)+1440-S1;

TF1 = TM%ntime1;

if Bdate != Bdate[1] or

(Bdate == Bdate[1] and ntime1 > 1 and TF1 < TF1[1]) or

(Bdate == Bdate[1] and ntime1 > 1 and TM >= TM[1]+ntime1) or

(Bdate == Bdate[1] and ntime1 == 1 and TM > TM[1]) Then

{

for cnt = 99 downto 1

{

C1[cnt] = C1[cnt-1];

mav1[cnt] = mav1[cnt-1];

}

}

C1[0] = C;

if C1[P1-1] > 0 then

{

sum1 = 0;

for cnt = 0 to P1-1

{

sum1 = sum1+C1[cnt];

}

mav1[0] = sum1/P1;

}

TF2 = TM%ntime2;

if Bdate != Bdate[1] or

(Bdate == Bdate[1] and ntime2 > 1 and TF2 < TF2[1]) or

(Bdate == Bdate[1] and ntime2 > 1 and TM >= TM[1]+ntime2) or

(Bdate == Bdate[1] and ntime2 == 1 and TM > TM[1]) Then

{

for cnt = 99 downto 1

{

C2[cnt] = C2[cnt-1];

mav2[cnt] = mav2[cnt-1];

}

}

C2[0] = C;

if C2[P2-1] > 0 then

{

sum2 = 0;

for cnt = 0 to P2-1

{

sum2 = sum2+C2[cnt];

}

mav2[0] = sum2/P2;

}

T = 0;

if C1[1] > mav1[1] and C1[2] < mav1[2] and

C2[1] > mav2[1] and C2[2] < mav2[2] Then

T = 1;

if C1[1] > mav1[1] and C1[2] < mav1[2] and

C2[1] < mav2[1] and C2[2] > mav2[2] Then

T = 2;

if C1[1] < mav1[1] and C1[2] > mav1[2] and

C2[1] < mav2[1] and C2[2] > mav2[2] Then

T = -1;

if C1[1] < mav1[1] and C1[2] > mav1[2] and

C2[1] > mav2[1] and C2[2] < mav2[2] Then

T = -2;

Text_Delete(tx);

if T > 0 Then

{

tx = text_new(NextBarSdate,NextBarStime,H,NumToStr(T,0));

Text_SetStyle(tx,0,1);

Text_SetColor(tx,Red);

}

}


2

input : ntime1(60),P1(5);

var : S1(0),D1(0),TM(0),cnt(0);

var : TF1(0),sum1(0);

var : T(0),tx(0);

Array : C1[100](0),mav1[100](0);

if Bdate != Bdate[1] Then

{

S1 = TimeToMinutes(stime);

D1 = sdate;

}

if D1 > 0 then

{

if sdate == D1 Then

TM = TimeToMinutes(stime)-S1;

Else

TM = TimeToMinutes(stime)+1440-S1;

TF1 = TM%ntime1;

if Bdate != Bdate[1] or

(Bdate == Bdate[1] and ntime1 > 1 and TF1 < TF1[1]) or

(Bdate == Bdate[1] and ntime1 > 1 and TM >= TM[1]+ntime1) or

(Bdate == Bdate[1] and ntime1 == 1 and TM > TM[1]) Then

{

for cnt = 99 downto 1

{

C1[cnt] = C1[cnt-1];

mav1[cnt] = mav1[cnt-1];

}

}

C1[0] = C;

if C1[P1-1] > 0 then

{

sum1 = 0;

for cnt = 0 to P1-1

{

sum1 = sum1+C1[cnt];

}

mav1[0] = sum1/P1;

}

T = 0;

if C1[1] > mav1[1] and C1[2] < mav1[2] Then

T = 1;

if C1[1] < mav1[1] and C1[2] > mav1[2] Then

T = -1;


Text_Delete(tx);

if T > 0 Then

{

tx = text_new(NextBarSdate,NextBarStime,H,NumToStr(T,0));

Text_SetStyle(tx,0,1);

Text_SetColor(tx,Red);

}

}

즐거운 하루되세요



지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2026-09-02 09:26:48

안녕하세요 예스스탁입니다. 기존식 1이상만 표시되게 되어 있어 수정해 드립니다. 답변드린 수식이 5분봉에서 60분봉, 30분봉의 이평을 계산하고 전봉기준 골든크로스나 데드크로스가 발생했으면 마지막봉 옆에 숫자로 표시하게 됩니다. 크로스가 아니면 표시되지 않으므로 직봉봉의 골드/데드 구간기준으로 판별하는 식도 3번 4번으로 같이 올려드립니다. 1 input : ntime1(60),P1(5); input : ntime2(30),P2(5); var : S1(0),D1(0),TM(0),cnt(0); var : TF1(0),sum1(0); var : TF2(0),sum2(0),T(0),tx(0); Array : C1[100](0),mav1[100](0),C2[100](0),mav2[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%ntime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime1 > 1 and TF1 < TF1[1]) or (Bdate == Bdate[1] and ntime1 > 1 and TM >= TM[1]+ntime1) or (Bdate == Bdate[1] and ntime1 == 1 and TM > TM[1]) Then { for cnt = 99 downto 1 { C1[cnt] = C1[cnt-1]; mav1[cnt] = mav1[cnt-1]; } } C1[0] = C; if C1[P1-1] > 0 then { sum1 = 0; for cnt = 0 to P1-1 { sum1 = sum1+C1[cnt]; } mav1[0] = sum1/P1; } TF2 = TM%ntime2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime2 > 1 and TF2 < TF2[1]) or (Bdate == Bdate[1] and ntime2 > 1 and TM >= TM[1]+ntime2) or (Bdate == Bdate[1] and ntime2 == 1 and TM > TM[1]) Then { for cnt = 99 downto 1 { C2[cnt] = C2[cnt-1]; mav2[cnt] = mav2[cnt-1]; } } C2[0] = C; if C2[P2-1] > 0 then { sum2 = 0; for cnt = 0 to P2-1 { sum2 = sum2+C2[cnt]; } mav2[0] = sum2/P2; } T = 0; if C1[1] > mav1[1] and C1[2] < mav1[2] and C2[1] > mav2[1] and C2[2] < mav2[2] Then T = 1; if C1[1] > mav1[1] and C1[2] < mav1[2] and C2[1] < mav2[1] and C2[2] > mav2[2] Then T = 2; if C1[1] < mav1[1] and C1[2] > mav1[2] and C2[1] < mav2[1] and C2[2] > mav2[2] Then T = -1; if C1[1] < mav1[1] and C1[2] > mav1[2] and C2[1] > mav2[1] and C2[2] < mav2[2] Then T = -2; Text_Delete(tx); if T != 0 Then { tx = text_new(NextBarSdate,NextBarStime,H,NumToStr(T,0)); Text_SetStyle(tx,0,1); Text_SetColor(tx,Red); } } 2 input : ntime1(60),P1(5); var : S1(0),D1(0),TM(0),cnt(0); var : TF1(0),sum1(0); var : T(0),tx(0); Array : C1[100](0),mav1[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%ntime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime1 > 1 and TF1 < TF1[1]) or (Bdate == Bdate[1] and ntime1 > 1 and TM >= TM[1]+ntime1) or (Bdate == Bdate[1] and ntime1 == 1 and TM > TM[1]) Then { for cnt = 99 downto 1 { C1[cnt] = C1[cnt-1]; mav1[cnt] = mav1[cnt-1]; } } C1[0] = C; if C1[P1-1] > 0 then { sum1 = 0; for cnt = 0 to P1-1 { sum1 = sum1+C1[cnt]; } mav1[0] = sum1/P1; } T = 0; if C1[1] > mav1[1] and C1[2] < mav1[2] Then T = 1; if C1[1] < mav1[1] and C1[2] > mav1[2] Then T = -1; Text_Delete(tx); if T != 0 Then { tx = text_new(NextBarSdate,NextBarStime,H,NumToStr(T,0)); Text_SetStyle(tx,0,1); Text_SetColor(tx,Red); } } 3 input : ntime1(60),P1(5); input : ntime2(30),P2(5); var : S1(0),D1(0),TM(0),cnt(0); var : TF1(0),sum1(0); var : TF2(0),sum2(0),T(0),tx(0); Array : C1[100](0),mav1[100](0),C2[100](0),mav2[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%ntime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime1 > 1 and TF1 < TF1[1]) or (Bdate == Bdate[1] and ntime1 > 1 and TM >= TM[1]+ntime1) or (Bdate == Bdate[1] and ntime1 == 1 and TM > TM[1]) Then { for cnt = 99 downto 1 { C1[cnt] = C1[cnt-1]; mav1[cnt] = mav1[cnt-1]; } } C1[0] = C; if C1[P1-1] > 0 then { sum1 = 0; for cnt = 0 to P1-1 { sum1 = sum1+C1[cnt]; } mav1[0] = sum1/P1; } TF2 = TM%ntime2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime2 > 1 and TF2 < TF2[1]) or (Bdate == Bdate[1] and ntime2 > 1 and TM >= TM[1]+ntime2) or (Bdate == Bdate[1] and ntime2 == 1 and TM > TM[1]) Then { for cnt = 99 downto 1 { C2[cnt] = C2[cnt-1]; mav2[cnt] = mav2[cnt-1]; } } C2[0] = C; if C2[P2-1] > 0 then { sum2 = 0; for cnt = 0 to P2-1 { sum2 = sum2+C2[cnt]; } mav2[0] = sum2/P2; } T = 0; if C1[1] > mav1[1] and C2[1] > mav2[1] Then T = 1; if C1[1] > mav1[1] and C2[1] < mav2[1] Then T = 2; if C1[1] < mav1[1] and C2[1] < mav2[1] Then T = -1; if C1[1] < mav1[1] and C2[1] > mav2[1] Then T = -2; Text_Delete(tx); if T != 0 Then { tx = text_new(NextBarSdate,NextBarStime,H,NumToStr(T,0)); Text_SetStyle(tx,0,1); Text_SetColor(tx,Red); } } 4 input : ntime1(60),P1(5); var : S1(0),D1(0),TM(0),cnt(0); var : TF1(0),sum1(0); var : T(0),tx(0); Array : C1[100](0),mav1[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%ntime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime1 > 1 and TF1 < TF1[1]) or (Bdate == Bdate[1] and ntime1 > 1 and TM >= TM[1]+ntime1) or (Bdate == Bdate[1] and ntime1 == 1 and TM > TM[1]) Then { for cnt = 99 downto 1 { C1[cnt] = C1[cnt-1]; mav1[cnt] = mav1[cnt-1]; } } C1[0] = C; if C1[P1-1] > 0 then { sum1 = 0; for cnt = 0 to P1-1 { sum1 = sum1+C1[cnt]; } mav1[0] = sum1/P1; } T = 0; if C1[1] > mav1[1] Then T = 1; if C1[1] < mav1[1] Then T = -1; Text_Delete(tx); if T != 0 Then { tx = text_new(NextBarSdate,NextBarStime,H,NumToStr(T,0)); Text_SetStyle(tx,0,1); Text_SetColor(tx,Red); } } 즐거운 하루되세요