안녕하세요. 이전에 64492글에 이평선이 특정 선을 뚫고 지나가면 그 종목을검색해주는 코딩을 부탁하였는데요,
다름이아니라 (var1 > 0 and n일전종가_20 < var1)) 이 부분들의 해석이 안되어서그런데
주석으로 아래의 코딩 설명좀 부탁해도 될까요?
Input : period1(20);
var : maLine(0), n일전종가_20(0), n일전종가_10(0),n일전종가10(0), n일전종가20(0), n일전종가30(0);
maLine = ma(c,period1);
n일전종가_20 = c[1] - c[1]/20; # 어제 종가의 -20%
n일전종가_10 = c[1] - c[1]/10; # 어제 종가의 -10%
n일전종가10 = c[1] + c[1]/10; # 어제 종가의 +10%
n일전종가20 = c[1] + c[1]/20; # 어제 종가의 +20%
n일전종가30 = c[1] + c[1]/30; # 어제 종가의 +30%
var1 = 0;
if n일전종가_20 > maLine and (var1 == 0 or (var1 > 0 and n일전종가_20 < var1)) Then
{
var1 = n일전종가_20;
}
if n일전종가_10 > maLine and (var1 == 0 or (var1 > 0 and n일전종가_10 < var1)) Then
{
var1 = n일전종가_10;
}
if n일전종가10 > maLine and (var1 == 0 or (var1 > 0 and n일전종가10 < var1)) Then
{
var1 = n일전종가10;
}
if n일전종가20 > maLine and (var1 == 0 or (var1 > 0 and n일전종가20 < var1)) Then
{
var1 = n일전종가20;
}
if n일전종가30 > maLine and (var1 == 0 or (var1 > 0 and n일전종가30 < var1)) Then
{
var1 = n일전종가30;
}
if crossup(C,var1) Then
find(1);
답변 1
예스스탁
예스스탁 답변
2019-11-07 15:59:41
안녕하세요
예스스탁입니다.
Input : period1(20);
var : maLine(0), n일전종가_20(0), n일전종가_10(0),n일전종가10(0), n일전종가20(0), n일전종가30(0);
maLine = ma(c,period1);
n일전종가_20 = c[1] - c[1]/20; # 어제 종가의 -20%
n일전종가_10 = c[1] - c[1]/10; # 어제 종가의 -10%
n일전종가10 = c[1] + c[1]/10; # 어제 종가의 +10%
n일전종가20 = c[1] + c[1]/20; # 어제 종가의 +20%
n일전종가30 = c[1] + c[1]/30; # 어제 종가의 +30%
#수식은 항상 위에서 아래로 읽어들어 갑니다.
#아래 수식은 5개의 값(n일전종가_10,n일전종가_10,n일전종가10,n일전종가20,n일전종가30)
#중에 이평(maLine)위에 있으면서 이평과 가장 가까운 값을 찾아 var1에 저장하는 내용입니다.
#매봉 var1은 0부터 시작
var1 = 0;
# n일전종가_20이 이평보다 크고
# var1이 0이면 n일전종가_20 을 var1에 저장하고
# var1이 0보다 크면 n일전종가_20 이 var1보다 작을때만 n일전종가_20를 var1에 저장
if n일전종가_20 > maLine and
(var1 == 0 or (var1 > 0 and n일전종가_20 < var1)) Then
{
var1 = n일전종가_20;
}
# n일전종가_10이 이평보다 크고
# var1이 0이면 n일전종가_10 을 var1에 저장하고
# var1이 0보다 크면 n일전종가_10 이 var1보다 작을때만 n일전종가_10를 var1에 저장
if n일전종가_10 > maLine and (var1 == 0 or (var1 > 0 and n일전종가_10 < var1)) Then
{
var1 = n일전종가_10;
}
# n일전종가10이 이평보다 크고
# var1이 0이면 n일전종가10 을 var1에 저장하고
# var1이 0보다 크면 n일전종가10 이 var1보다 작을때만 n일전종가10를 var1에 저장
if n일전종가10 > maLine and (var1 == 0 or (var1 > 0 and n일전종가10 < var1)) Then
{
var1 = n일전종가10;
}
# n일전종가20이 이평보다 크고
# var1이 0이면 n일전종가20 을 var1에 저장하고
# var1이 0보다 크면 n일전종가20 이 var1보다 작을때만 n일전종가20를 var1에 저장
if n일전종가20 > maLine and (var1 == 0 or (var1 > 0 and n일전종가20 < var1)) Then
{
var1 = n일전종가20;
}
# n일전종가30이 이평보다 크고
# var1이 0이면 n일전종가30 을 var1에 저장하고
# var1이 0보다 크면 n일전종가30 이 var1보다 작을때만 n일전종가30를 var1에 저장
if n일전종가30 > maLine and (var1 == 0 or (var1 > 0 and n일전종가30 < var1)) Then
{
var1 = n일전종가30;
}
#이평위에서 이평과 가장 가까운 값을 찾은 후
#종가가 var1을 상향돌파하는 종목을 찾음
if crossup(C,var1) Then
find(1);
즐거운 하루되세요
> 퀀트드래곤 님이 쓴 글입니다.
> 제목 : 이평선이 특정 라인을 뚫고 지나가는 종목 검색
> 안녕하세요. 이전에 64492글에 이평선이 특정 선을 뚫고 지나가면 그 종목을검색해주는 코딩을 부탁하였는데요,
다름이아니라 (var1 > 0 and n일전종가_20 < var1)) 이 부분들의 해석이 안되어서그런데
주석으로 아래의 코딩 설명좀 부탁해도 될까요?
Input : period1(20);
var : maLine(0), n일전종가_20(0), n일전종가_10(0),n일전종가10(0), n일전종가20(0), n일전종가30(0);
maLine = ma(c,period1);
n일전종가_20 = c[1] - c[1]/20; # 어제 종가의 -20%
n일전종가_10 = c[1] - c[1]/10; # 어제 종가의 -10%
n일전종가10 = c[1] + c[1]/10; # 어제 종가의 +10%
n일전종가20 = c[1] + c[1]/20; # 어제 종가의 +20%
n일전종가30 = c[1] + c[1]/30; # 어제 종가의 +30%
var1 = 0;
if n일전종가_20 > maLine and (var1 == 0 or (var1 > 0 and n일전종가_20 < var1)) Then
{
var1 = n일전종가_20;
}
if n일전종가_10 > maLine and (var1 == 0 or (var1 > 0 and n일전종가_10 < var1)) Then
{
var1 = n일전종가_10;
}
if n일전종가10 > maLine and (var1 == 0 or (var1 > 0 and n일전종가10 < var1)) Then
{
var1 = n일전종가10;
}
if n일전종가20 > maLine and (var1 == 0 or (var1 > 0 and n일전종가20 < var1)) Then
{
var1 = n일전종가20;
}
if n일전종가30 > maLine and (var1 == 0 or (var1 > 0 and n일전종가30 < var1)) Then
{
var1 = n일전종가30;
}
if crossup(C,var1) Then
find(1);