자세한 설명 감사드립니다.
설명해주신 방법중에 매일 8시30분 봉을 기준봉으로 잡으려면 어떻게 설정해야 할까요?
답변 1
예스스탁
예스스탁 답변
2024-03-13 09:26:54
안녕하세요
예스스탁입니다.
input : StartTime(83000),EndTime(154000);
input:최소변화폭(3);
var:j(0),벽돌크기(0),벽돌개수(0),방향(0),상승(1),하락(-1);
var : Tcond(False);
array:고[10](0),저[10](0),렌코[500](0);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
Tcond = true;
벽돌크기 = 최소변화폭;
고[0] = C;
저[0] = C;
렌코[0] = C;
방향 = 0;
}
if Tcond == true Then
{
#==========================================#
# 렌코 계산
#==========================================#
if 방향 == 0 then
{
if 저[0] - 벽돌크기 >= C then
{
벽돌개수 = int((저[0]-C)/벽돌크기);
저[0] = 저[0] - 벽돌크기 * 벽돌개수;
방향 = 하락;
for j = 499 downto 벽돌개수
{
렌코[j] = 렌코[j-벽돌개수];
}
for j = 벽돌개수 - 1 downto 0
{
렌코[j] = 렌코[j+1] - 벽돌크기;
}
}
else if 고[0] + 벽돌크기 <= C then
{
벽돌개수 = int((C-고[0])/벽돌크기);
고[0] = 고[0] + 벽돌크기 * 벽돌개수;
방향 = 상승;
for j = 499 downto 벽돌개수
{
렌코[j] = 렌코[j-벽돌개수];
}
for j = 벽돌개수 - 1 downto 0
{
렌코[j] = 렌코[j+1] + 벽돌크기;
}
}
}
else if 방향 == 하락 then
{
if 저[0] - 벽돌크기 >= C then
{
벽돌개수 = int((저[0]-C)/벽돌크기);
저[0] = 저[0] - 벽돌크기 * 벽돌개수;
for j = 499 downto 벽돌개수
{
렌코[j] = 렌코[j-벽돌개수];
}
for j = 벽돌개수 - 1 downto 0
{
렌코[j] = 렌코[j+1] - 벽돌크기;
}
}
if 저[0] + 2*벽돌크기 <= C then
{
for j = 8 downto 0
{
고[j+1] = 고[j];
}
방향 = 상승;
벽돌개수 = int((C-저[0])/벽돌크기);
고[0] = 저[0] + 벽돌크기 * 벽돌개수;
for j = 499 downto (벽돌개수-1)
{
렌코[j] = 렌코[j-(벽돌개수-1)];
}
렌코[벽돌개수-2] = 렌코[벽돌개수-1] + 2*벽돌크기;
if 벽돌개수 > 2 then
{
for j = 벽돌개수 - 3 downto 0
{
렌코[j] = 렌코[j+1] + 벽돌크기;
}
}
}
}
else if 방향 == 상승 then
{
if 고[0] + 벽돌크기 <= C then
{
벽돌개수 = int((C-고[0])/벽돌크기);
고[0] = 고[0] + 벽돌크기 * 벽돌개수;
for j = 499 downto 벽돌개수
{
렌코[j] = 렌코[j-벽돌개수];
}
for j = 벽돌개수 - 1 downto 0
{
렌코[j] = 렌코[j+1] + 벽돌크기;
}
}
if 고[0] - 3*벽돌크기 >= C then
{
for j = 8 downto 0
{
저[j+1] = 저[j];
}
방향 = 하락;
벽돌개수 = int((고[0]-C)/벽돌크기);
저[0] = 고[0] - 벽돌크기 * 벽돌개수;
for j = 499 downto (벽돌개수-1)
{
렌코[j] = 렌코[j-(벽돌개수-1)];
}
렌코[벽돌개수-2] = 렌코[벽돌개수-1] - 2*벽돌크기;
if 벽돌개수 > 2 then
{
for j = 벽돌개수 - 3 downto 0
{
렌코[j] = 렌코[j+1] - 벽돌크기;
}
}
}
}
if 방향[1] == 하락 && 방향 ==상승 Then Buy("A매수",atmarket,def,1);
if 방향 == 하락 Then ExitLong("매수정리",atmarket,def,"A매수");
}
즐거운 하루되세요
> 비정성시 님이 쓴 글입니다.
> 제목 : 아래 진입오류 추가 문의드립니다
> 자세한 설명 감사드립니다.
설명해주신 방법중에 매일 8시30분 봉을 기준봉으로 잡으려면 어떻게 설정해야 할까요?