커뮤니티
문의
2015-08-19 21:16:34
166
글번호 89675
아래식 수정부탁드립니다.
VALUE == 1일 때는 CenterValue기준으로 위쪽으로 붉은색으로 채우고
VALUE == -1일 때는 CenterValue기준으로 아래쪽으로 파란색으로 채우고자 합니다.
미리 감사드립니다.
VARS: MAXDAYLINE.SHORT(60);
VARS: M3DP(3);
VARS: M3D(0, DATA1);
VARS: M3D.SUM(0, DATA1);
VARS: DayLineCnt(0);
ARRAY: CC[60](0, DATA1);
//----------------------------------------------------------------------------------------------------------------------------------------------------------
if ( DATA1(Date <> Date[1]) ) Then
{
for DayLineCnt = 1 to MAXDAYLINE.SHORT - 1
{
CC[DayLineCnt] = CC[DayLineCnt - 1][1];
}
}
CC[0] = CLOSE;
M3D.SUM = 0;
for DayLineCnt = 1 to MAXDAYLINE.SHORT - 1
{
if ( (DayLineCnt < M3DP) AND (CC[M3DP - 1] > 0) ) then M3D.SUM = M3D.SUM + CC[DayLineCnt];
}
M3D = ((M3D.SUM + DATA1(OPEND(0))) / M3DP);
VARS: Period(5), CenterValue(0), VALUE(0);
CenterValue = MA(C, Period);
if (CLOSE > CenterValue) AND (CLOSE > M3D) then
{
VALUE = 1;
}
if (CLOSE < CenterValue) AND (CLOSE < M3D) then
{
VALUE = -1;
}
if (VALUE == 1) then
{
PLOT3(CenterValue, "CENTER", RGB(255,255,255));
}
if (VALUE == -1) then
{
PLOT3(CenterValue, "CENTER", RGB(255,255,255));
}
답변 1
예스스탁 예스스탁 답변
2015-08-20 13:50:36
안녕하세요
예스스탁입니다.
문의하신 내용을 구현하려면
아래와 같은 순서로 지표 및 차트의 속성에서 몇가시 설저을 하셔야 합니다.
1.
VARS: MAXDAYLINE.SHORT(60);
VARS: M3DP(3);
VARS: M3D(0, DATA1);
VARS: M3D.SUM(0, DATA1);
VARS: DayLineCnt(0);
ARRAY: CC[60](0, DATA1);
//----------------------------------------------------------------------------------------------------------------------------------------------------------
if ( DATA1(Date <> Date[1]) ) Then
{
for DayLineCnt = 1 to MAXDAYLINE.SHORT - 1
{
CC[DayLineCnt] = CC[DayLineCnt - 1][1];
}
}
CC[0] = CLOSE;
M3D.SUM = 0;
for DayLineCnt = 1 to MAXDAYLINE.SHORT - 1
{
if ( (DayLineCnt < M3DP) AND (CC[M3DP - 1] > 0) ) then M3D.SUM = M3D.SUM + CC[DayLineCnt];
}
M3D = ((M3D.SUM + DATA1(OPEND(0))) / M3DP);
VARS: Period(5), CenterValue(0), VALUE(0);
CenterValue = MA(C, Period);
if (CLOSE > CenterValue) AND (CLOSE > M3D) then
{
VALUE = 1;
}
if (CLOSE < CenterValue) AND (CLOSE < M3D) then
{
VALUE = -1;
}
if (VALUE == 1) then
{
PLOT3(CenterValue, "CENTER", RGB(255,255,255));
plot4(9999999999999, "기준", RGB(255,255,255));
}
if (VALUE == -1) then
{
PLOT3(CenterValue, "CENTER", RGB(255,255,255));
plot4(0, "기준", RGB(255,255,255));
}
2
위 지표를 작성하시고 문법검증(f4) 후에
f5키를 누르시면 지표속성화면이 나타납니다.
차트표시탭과 Y축표시탭에서 첨부된 그림과 같이 설정하시고
3
차트는 기본차트속성을 여신후에
Y축을 화면(기본차트)로 지정하신 후에
식을 적용하시면 됩니다.
기본차트속성은 차트에서 봉을 마우스로 더블클릭하시면 됩니다.
즐거운 하루되세요
> gt 님이 쓴 글입니다.
> 제목 : 문의
> 아래식 수정부탁드립니다.
VALUE == 1일 때는 CenterValue기준으로 위쪽으로 붉은색으로 채우고
VALUE == -1일 때는 CenterValue기준으로 아래쪽으로 파란색으로 채우고자 합니다.
미리 감사드립니다.
VARS: MAXDAYLINE.SHORT(60);
VARS: M3DP(3);
VARS: M3D(0, DATA1);
VARS: M3D.SUM(0, DATA1);
VARS: DayLineCnt(0);
ARRAY: CC[60](0, DATA1);
//----------------------------------------------------------------------------------------------------------------------------------------------------------
if ( DATA1(Date <> Date[1]) ) Then
{
for DayLineCnt = 1 to MAXDAYLINE.SHORT - 1
{
CC[DayLineCnt] = CC[DayLineCnt - 1][1];
}
}
CC[0] = CLOSE;
M3D.SUM = 0;
for DayLineCnt = 1 to MAXDAYLINE.SHORT - 1
{
if ( (DayLineCnt < M3DP) AND (CC[M3DP - 1] > 0) ) then M3D.SUM = M3D.SUM + CC[DayLineCnt];
}
M3D = ((M3D.SUM + DATA1(OPEND(0))) / M3DP);
VARS: Period(5), CenterValue(0), VALUE(0);
CenterValue = MA(C, Period);
if (CLOSE > CenterValue) AND (CLOSE > M3D) then
{
VALUE = 1;
}
if (CLOSE < CenterValue) AND (CLOSE < M3D) then
{
VALUE = -1;
}
if (VALUE == 1) then
{
PLOT3(CenterValue, "CENTER", RGB(255,255,255));
}
if (VALUE == -1) then
{
PLOT3(CenterValue, "CENTER", RGB(255,255,255));
}