예스스탁
예스스탁 답변
2024-04-26 11:32:00
안녕하세요
예스스탁입니다.
"0봉전에서 엔벨로프지지선을 돌파하거나 0봉전에서 저가상 엔벨로프선을 이탈했다가 종가상 재돌파"
기존에 올리신 내용으로
전봉 저가는 하단선 아래있다가 현재봉 종가가 위인 종목을 검색하게 작성되어 있습니다.
종가가 0선을 돌파하는 내용은 위 내용안에 포함되는 내용입니다.
아래와 같이 변경해 드립니다.
모두 종가로 상향돌파(전봉종가는 하단선이하 현재봉 종가는 하단선위)하거나
전봉이 아닌 현재봉의 저가가 하단선 아래이고
종가가 위인 종목을 찾게 지정해 드립니다.
1
input : Period(20),percent(10);
var1 = macd(12,26);
var2 = Sar(0.02,0.2);
Var3 = EnvelopeDown(Period,Percent);
if CountIf(Condition1,30) >= 1 and
(crossup(C,var3) or (C > Var3 and L < Var3)) Then
TL_New(sDate,sTime,0,sDate,sTime,999999999);
Condition1 = var1 >= 0 and CrossUp(c,Var2) and C >= C[1]*1.03 and C > O;
2
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);
var1 = EnvelopeDown(20,10);
if CountIf(Condition1,30) >= 1 and
(crossup(C,var1) or (C > Var1 and L < Var1)) Then
Find(1);
Condition1 = mx > 0 and CrossUp(C,mx);
즐거운 하루되세요
> 한칼부르스 님이 쓴 글입니다.
> 제목 : 검색식 확인부탁드립니다. _(_ _)_
>
한결같은 도와주심에 감사드립니다. _(__)_
도움주신 엔벨로프관련 두 수식이 신호가 안잡히거나 나왔는데 다음날 또 나오는 종목이
있는데 확인 좀 부탁드립니다.
예시차트2개를 첨부합니다. 1은 안잡힌 종목차트, 2는 엔벨로프 안착이후 또 잡히는 종목
입니다. 예시는 수식1차트지만 수식2도 동일한 현상이 나옵니다.
수식1
input : Period(20),percent(10);
var1 = macd(12,26);
var2 = Sar(0.02,0.2);
Var3 = EnvelopeDown(Period,Percent);
if CountIf(Condition1,30) >= 1 and
C > Var3 and L[1] < Var3[1] Then
find(1);
Condition1 = var1 >= 0 and CrossUp(c,Var2) and C >= C[1]*1.03 and C > O;
수식2
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);
var1 = EnvelopeDown(20,10);
if CountIf(Condition1,30) >= 1 and C > var1 and L[1] < var1[1] Then
Find(1);
Condition1 = mx > 0 and CrossUp(C,mx);