안녕하세요
예스스탁입니다.
1
for i = B - 10 to B - 1
현재 봉수가 30이면 20 to 29가 됩니다.
첫봉부터 10번째 봉까지이면 해당내용이 맞지만
최근봉 10봉이면 for i = 0 to 9로 지정하시면 됩니다.
종목검색시에 당일봉이 모두 포함되게 봉수를 넉넉히 지정해 주시고
검색하시기 바랍니다.
2
var : AA(False), BB(False), CC(False);
var : T(0), B(0), upperLimit(0), u(0), i(0);
var : VV(0);
var : DD(False), EE(False);
var1 = ma(C, 5);
if sDate != sDate[1] and sTime >= 90000 Then
{
T = 0;
B = 0;
VV = 0;
}
B = B + 1;
AA = DayOpen >= 5000 and DayOpen <= 15000;
BB = DayOpen >= DayClose[1] and DayOpen <= DayClose[1] * 1.1;
CC = sTime >= 90100 and sTime <= 91900;
upperLimit = DayClose[1] * 1.3;
if AA and BB Then
T = 1;
if T == 1 and CC and CrossUp(C, var1) Then
{
T = 2;
}
if T == 2 and C >= DayHigh*0.998 Then
{
VV = 0;
EE = False;
u = 0;
for i = 1 to B - 1
{
VV = VV + V[i];
if (Close[i] / Open[i]) < 0.99 Then //금일분봉상 -1%이하 종목 제외
EE = True;
if close[i] >= upperLimit * 0.95 Then // 상한에 5%이내 근접 제외
u = 1;
}
DD = False;
if B >= 10 Then
{
for i = 0 to 9
{
if (Close[i] / Open[i]) < 0.994 Then //10봉이내 -0.6%이하 종목 제외
DD = True;
}
}
if VV >= 100000 Then
{
T = 3;
}
}
if T == 3 and !EE and !DD and u==0 Then
find(1);
즐거운 하루되세요
문의드립니다...
1.
B = B + 1;
이렇게 하면, 분봉카운트가 1,2,3,4...이렇게 되는거죠?
그럼, B = B + 1; 이걸 제거하면, 분봉카운트가 0,1,2,3...이렇게 되는 건가요?
2.
for i = 1 to B - 1
그러면 만약에,"B = B + 1;"를 제거하면, 저 조건문은 분봉 첫번째0봉은 제외되는 건가요?
3.
if B >= 10 Then
{
for i = 0 to 9
이건 다른내용입니다.
만약에 위 수식에서 검색된 분봉을 제외하고 검색하고 싶으면,
for i = 1 to 10. 이렇게 하면 될까요? 아니면 for i = 10 to B-1. 이건가요?
부탁드립니다...
감사합니다...ㅎ
답변 1
예스스탁
예스스탁 답변
2025-07-24 09:09:25
안녕하세요
예스스탁입니다.
1
B = B + 1;
당일 봉수를 카운트 하기 위해서는 위 내용이 필요합니다.
작성하하신 수식에서는 아래와 같이 변경하시면
첫봉을 0으로 시작해서 1씩 증가할 수 있습니다.
if sdate == sdate[1] then
B = B + 1;
2
작성하신 B는 첫봉이 1로 시작하므로
첫봉을 제외하신 다면
for i = 1 to B - 2 가 되어야 합니다.
현재 3번째봉이면 B가 3인데 close[3]은 전날 마지막봉입니다.
그러므로 for i = 1 to B - 1이면 당일 첫봉까지이고 for i = 1 to B - 2로 지정되어야 첫봉제외입니다.
1번 답변과 같이 B가 첫봉을 0으로 시작하면 for i = 1 to B - 1로 지정하시면 됩니다.
3
현재봉이 검색된 봉이므로 1 to 10 입니다.
즐거운 하루되세요
> 시온사랑 님이 쓴 글입니다.
> 제목 : 부탁드립니다...
> 안녕하세요
예스스탁입니다.
1
for i = B - 10 to B - 1
현재 봉수가 30이면 20 to 29가 됩니다.
첫봉부터 10번째 봉까지이면 해당내용이 맞지만
최근봉 10봉이면 for i = 0 to 9로 지정하시면 됩니다.
종목검색시에 당일봉이 모두 포함되게 봉수를 넉넉히 지정해 주시고
검색하시기 바랍니다.
2
var : AA(False), BB(False), CC(False);
var : T(0), B(0), upperLimit(0), u(0), i(0);
var : VV(0);
var : DD(False), EE(False);
var1 = ma(C, 5);
if sDate != sDate[1] and sTime >= 90000 Then
{
T = 0;
B = 0;
VV = 0;
}
B = B + 1;
AA = DayOpen >= 5000 and DayOpen <= 15000;
BB = DayOpen >= DayClose[1] and DayOpen <= DayClose[1] * 1.1;
CC = sTime >= 90100 and sTime <= 91900;
upperLimit = DayClose[1] * 1.3;
if AA and BB Then
T = 1;
if T == 1 and CC and CrossUp(C, var1) Then
{
T = 2;
}
if T == 2 and C >= DayHigh*0.998 Then
{
VV = 0;
EE = False;
u = 0;
for i = 1 to B - 1
{
VV = VV + V[i];
if (Close[i] / Open[i]) < 0.99 Then //금일분봉상 -1%이하 종목 제외
EE = True;
if close[i] >= upperLimit * 0.95 Then // 상한에 5%이내 근접 제외
u = 1;
}
DD = False;
if B >= 10 Then
{
for i = 0 to 9
{
if (Close[i] / Open[i]) < 0.994 Then //10봉이내 -0.6%이하 종목 제외
DD = True;
}
}
if VV >= 100000 Then
{
T = 3;
}
}
if T == 3 and !EE and !DD and u==0 Then
find(1);
즐거운 하루되세요
문의드립니다...
1.
B = B + 1;
이렇게 하면, 분봉카운트가 1,2,3,4...이렇게 되는거죠?
그럼, B = B + 1; 이걸 제거하면, 분봉카운트가 0,1,2,3...이렇게 되는 건가요?
2.
for i = 1 to B - 1
그러면 만약에,"B = B + 1;"를 제거하면, 저 조건문은 분봉 첫번째0봉은 제외되는 건가요?
3.
if B >= 10 Then
{
for i = 0 to 9
이건 다른내용입니다.
만약에 위 수식에서 검색된 분봉을 제외하고 검색하고 싶으면,
for i = 1 to 10. 이렇게 하면 될까요? 아니면 for i = 10 to B-1. 이건가요?
부탁드립니다...
감사합니다...ㅎ