예스스탁
예스스탁 답변
2024-04-16 15:18:58
안녕하세요
예스스탁입니다.
기준이 되는 조건과 최고시가 돌파가 동시에 발생합니다.
기존식은 동시발생하면 값이 초기화가 되게 되어 있습니다.
동시조건 만족시에도 검색되게 수정해 드립니다.
1
var : ii(0),HO(0);
var : MM(0),KK(0),MO(0),mx(0);
var : M1(0),M2(0),M3(0),M4(0),M5(0),M6(0);
var : M7(0),M8(0),M9(0),M10(0),M11(0),M12(0);
MM = floor(date/100);
if MM != MM[1] Then
{
MO = O;
M1 = KK[1];
M2 = M1[1];
M3 = M2[1];
M4 = M3[1];
M5 = M4[1];
M6 = M5[1];
M7 = M6[1];
M8 = M7[1];
M9 = M8[1];
M10 = M9[1];
M11 = M10[1];
M12 = M11[1];
mx = Max(M1, M2, M3, M4, M5,M6, M7, M8, M9, M10, M11, M12);
}
KK = iff(MO > C, MO, 0);
if HO > 0 and CrossUp(c,HO) Then
Find(1);
if mx > 0 and CrossUp(C,mx) Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
}
}
2
var : ii(0),HO(0);
var : Month(0), MOpen(0), 중심(0),PreMC(0), PreMO(0);
Month = Floor(date/100);
if Month != Month[1] Then
{
PreMC = C[1];
PreMO = MOpen;
MOpen = O ;
}
중심 = ((PreMC + PreMO)/2 + MOpen)/2;
if HO > 0 and CrossUp(c,HO) Then
find(1);
if CrossUp(C, 중심) Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
}
}
3
var : ii(0),HO(0);
var1 = macd(12,26);
var2 = Sar(0.02,0.2);
if var1 >= 0 and CrossUp(c,Var2) and C >= C[1]*1.03 and C > O Then
value1 = (C+O)/2;
if HO > 0 and CrossUp(c,HO) Then
Find(1);
if value1 > 0 and CrossUp(c,value1) Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
}
}
4
var : ii(0),HO(0);
var1 = macd(12,26);
var2 = Sar(0.02,0.2);
if HO > 0 and CrossUp(c,HO) Then
Find(1);
if var1 >= 0 and CrossUp(c,Var2) and C >= C[1]*1.03 and C > O Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
}
}
즐거운 하루되세요
> 한칼부르스 님이 쓴 글입니다.
> 제목 : 검색식 확인 부탁드립니다.
> 항상 도와주심에 감사드립니다. _(_ _)_
기 만들어진 아래검색식 4개가 기준봉 발생후 10봉이내 음봉 최고시가돌파시 검색종목식인데요... 1,2,3번은 검색이 안돼거나 음봉시에도 발생이 자주 나오고 4번은 검색은 잘돼는데 누락현상이 나옵니다. 예시차트를 첨부하니 재확인 요청드립니다.
1
var : ii(0),HO(0);
var : MM(0),KK(0),MO(0),mx(0);
var : M1(0),M2(0),M3(0),M4(0),M5(0),M6(0);
var : M7(0),M8(0),M9(0),M10(0),M11(0),M12(0);
MM = floor(date/100);
if MM != MM[1] Then
{
MO = O;
M1 = KK[1];
M2 = M1[1];
M3 = M2[1];
M4 = M3[1];
M5 = M4[1];
M6 = M5[1];
M7 = M6[1];
M8 = M7[1];
M9 = M8[1];
M10 = M9[1];
M11 = M10[1];
M12 = M11[1];
mx = Max(M1, M2, M3, M4, M5,M6, M7, M8, M9, M10, M11, M12);
}
KK = iff(MO > C, MO, 0);
if mx > 0 and CrossUp(C,mx) Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
if HO[1] > 0 and CrossUp(c,HO[1]) Then
Find(1);
}
}
2
var : ii(0),HO(0);
var : Month(0), MOpen(0), 중심(0),PreMC(0), PreMO(0);
Month = Floor(date/100);
if Month != Month[1] Then
{
PreMC = C[1];
PreMO = MOpen;
MOpen = O ;
}
중심 = ((PreMC + PreMO)/2 + MOpen)/2;
if CrossUp(C, 중심) Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
if HO[1] > 0 and CrossUp(c,HO[1]) Then
Find(1);
}
}
3
var : ii(0),HO(0);
var1 = macd(12,26);
var2 = Sar(0.02,0.2);
if var1 >= 0 and CrossUp(c,Var2) and C >= C[1]*1.03 and C > O Then
value1 = (C+O)/2;
if value1 > 0 and CrossUp(c,value1) Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
if HO[1] > 0 and CrossUp(c,HO[1]) Then
Find(1);
}
}
4
var : ii(0),HO(0);
var1 = macd(12,26);
var2 = Sar(0.02,0.2);
if var1 >= 0 and CrossUp(c,Var2) and C >= C[1]*1.03 and C > O Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
if HO[1] > 0 and CrossUp(c,HO[1]) Then
Find(1);
}
}