다음 종목검색 전체 로직입니다.
Input : 기간(20), R(2), 기준선(55), 허용갭(0.03);
Var : TOP(0), LO(0), DOUBLE(0), BARSSINCE(0), BOX1(False);
Var : var1(0), Var2(0);
Var : 전일근접(False);
// 최고가, 최저가 계산
TOP = Highest(High, 기간);
LO = Lowest(Low, 기간);
// BOX1 조건: 최근 (기간-2)봉 최고가 < (기간-1)봉 최고가
BOX1 = Highest(High, 기간 - 2) < Highest(High, 기간 - 1);
// 최고가 갱신 및 BARSSINCE 계산
If High > TOP[1] Then
Begin
DOUBLE = High;
BARSSINCE = 0;
End
Else
Begin
If DOUBLE > 0 Then
Begin
BARSSINCE = BARSSINCE + 1;
If (BARSSINCE = 기간 - R) and BOX1 Then
Begin
var1 = DOUBLE;
Var2 = LO;
End;
End;
End;
// 전일 종가가 var1 (다박스박스) 돌파 전 3% 이내에 위치했는지 확인
If var1 > 0 Then
Begin
If (Close[1] >= var1 * (1 - 허용갭)) and (Close[1] <= var1) Then
전일근접 = True
Else
전일근접 = False;
End
Else
전일근접 = False;
// 매수 조건
If (var1 > 0) and (전일근접 = True) Then
Begin
If CrossUp(Close, var1) Then
Begin
Find(1);
End;
End;
=========================================================
위 로직 중에서 다음 로직이 계속 오류가 있다고 하는데...
검토 부탁드립니다.
// 전일 종가가 var1 (다박스박스) 돌파 전 3% 이내에 위치했는지 확인
If var1 > 0 Then
Begin
If (Close[1] >= var1 * (1 - 허용갭)) and (Close[1] <= var1) Then
전일근접 = True
Else
전일근접 = False;
End
Else
전일근접 = False;
==================================================================
답변 1
예스스탁
예스스탁 답변
2025-08-11 14:09:25
안녕하세요
예스스탁입니다.
Input : 기간(20), R(2), 기준선(55), 허용갭(0.03);
Var : TOP(0), LO(0), DOUBLE(0), BARSSINCE(0), BOX1(False);
Var : var1(0), Var2(0);
Var : 전일근접(False);
// 최고가, 최저가 계산
TOP = Highest(High, 기간);
LO = Lowest(Low, 기간);
// BOX1 조건: 최근 (기간-2)봉 최고가 < (기간-1)봉 최고가
BOX1 = Highest(High, 기간 - 2) < Highest(High, 기간 - 1);
// 최고가 갱신 및 BARSSINCE 계산
If High > TOP[1] Then
Begin
DOUBLE = High;
BARSSINCE = 0;
End
Else
Begin
If DOUBLE > 0 Then
Begin
BARSSINCE = BARSSINCE + 1;
If (BARSSINCE = 기간 - R) and BOX1 Then
Begin
var1 = DOUBLE;
Var2 = LO;
End;
End;
End;
// 전일 종가가 var1 (다박스박스) 돌파 전 3% 이내에 위치했는지 확인
If var1 > 0 Then
Begin
If (Close[1] >= var1 * (1 - 허용갭)) and (Close[1] <= var1) Then
전일근접 = True;
Else
전일근접 = False;
End
Else
전일근접 = False;
// 매수 조건
If (var1 > 0) and (전일근접 = True) Then
Begin
If CrossUp(Close, var1) Then
Begin
Find(1);
End;
End;
즐거운 하루되세요
> saeroi 님이 쓴 글입니다.
> 제목 : 로직 검토 요청
> 다음 종목검색 전체 로직입니다.
Input : 기간(20), R(2), 기준선(55), 허용갭(0.03);
Var : TOP(0), LO(0), DOUBLE(0), BARSSINCE(0), BOX1(False);
Var : var1(0), Var2(0);
Var : 전일근접(False);
// 최고가, 최저가 계산
TOP = Highest(High, 기간);
LO = Lowest(Low, 기간);
// BOX1 조건: 최근 (기간-2)봉 최고가 < (기간-1)봉 최고가
BOX1 = Highest(High, 기간 - 2) < Highest(High, 기간 - 1);
// 최고가 갱신 및 BARSSINCE 계산
If High > TOP[1] Then
Begin
DOUBLE = High;
BARSSINCE = 0;
End
Else
Begin
If DOUBLE > 0 Then
Begin
BARSSINCE = BARSSINCE + 1;
If (BARSSINCE = 기간 - R) and BOX1 Then
Begin
var1 = DOUBLE;
Var2 = LO;
End;
End;
End;
// 전일 종가가 var1 (다박스박스) 돌파 전 3% 이내에 위치했는지 확인
If var1 > 0 Then
Begin
If (Close[1] >= var1 * (1 - 허용갭)) and (Close[1] <= var1) Then
전일근접 = True
Else
전일근접 = False;
End
Else
전일근접 = False;
// 매수 조건
If (var1 > 0) and (전일근접 = True) Then
Begin
If CrossUp(Close, var1) Then
Begin
Find(1);
End;
End;
=========================================================
위 로직 중에서 다음 로직이 계속 오류가 있다고 하는데...
검토 부탁드립니다.
// 전일 종가가 var1 (다박스박스) 돌파 전 3% 이내에 위치했는지 확인
If var1 > 0 Then
Begin
If (Close[1] >= var1 * (1 - 허용갭)) and (Close[1] <= var1) Then
전일근접 = True
Else
전일근접 = False;
End
Else
전일근접 = False;
==================================================================