예스스탁
예스스탁 답변
2024-04-09 17:45:49
안녕하세요
예스스탁입니다.
input : 표시가격1(L/1.02),표시가격2(L/1.025),표시가격3(L/1.030),표시가격4(L/1.035) ;
input : 변동율(15), 검증기간(3), 출현제한봉수(3),상승률(5);
var : HH(0),H1(0),LL(0),L1(0),F1O(0),F2O(0),LL1(0);
var : ii(0),b(0),bb(0),cc(0);
if sDate > sDate[1]+30 Then
{
TL_New(sDate,sTime,0,sDate,sTime,999999999);
#당월 몸통 최고가 초기값
HH = max(C,O);
#전월 몸통 최고가
H1 = HH[1];
#당월 몸통 최저가 초기값
LL = min(C,O);
#전월 몸통 최저가
L1 = LL[1];
#당월 봉번호 초기값
b = 0;
#조건만족시 봉번호 저장변수 초기값
ii = 0;
#cc 초기값
cc = 0;
}
#당월 봉번호
b = b +1;
#당월 몸통최고가
if HH > 0 and max(C,O) > HH Then
HH = max(C,O);
#당월 몸통최저가
if LL > 0 and min(C,O) < LL Then
LL = min(C,O);
#차트에서 전월값까지 계산되어 있고
#전월몸통 최고가가 당월몸통 최저가보다 20이상 클경우 조건 충족
Condition1 = H1 > 0 and LL > 0 and H1 > LL and ( H1 - LL ) / LL * 100 >= 변동율 ;
Input : Periods(20), Periodm(40),Periodl(60);
input : 기준0선(0) ;
var : VolumeRatioS(0), VolumeRatioM(0), VolumeRatioL(0) ;
VolumeRatioS = VR(Periods);
VolumeRatioM = VR(Periodm);
VolumeRatioL = VR(Periodl);
Var1 = VolumeRatioS - VolumeRatioL / VolumeRatioM *100 ;
#차트에서 전월값까지 계산되어 있고
if H1 > 0 and LL > 0 and
#음봉 뒤 양봉이고
C[1] < O[1] and C > O and
#최근 3봉이내에 조건만족한 경우가 있고
#월초반에 3일이라는 기간에 전월이 포함될수 있으므로 당월봉수와 3중 작은 값을 택하게 작성하셔야 합니다.
CountIf(Condition1==true,min(b, 검증기간)) >= 1 and
#종가가 시가대비 5% 이하 상승
#당월 첫발생(ii가 0일때)이면 조건없이 표시하고
#당월 두번째 이후(ii > 0으로 봉번호 저장이후)는
#직전 발생시점대비 5봉이후이고 직전발생봉의 사가 대비 현재봉 시가가 낮은 경우에만 표시
(ii == 0 or (ii > 0 and Index >= ii+출현제한봉수 and O < bb) ) Then ##조건1
{
#plot1은 조건1 만족하면 표시
plot1(표시가격1,"전월H당월L변동율신호");
if VolumeRatioS >= VolumeRatioM or Var1 >= 기준0선 Then ##조건2
{
#Plot2는 조건1+조건2 만족하면 표시
plot2(표시가격2,"전월H당월L변동율VR신호");
#조건만족봉이 시가대비 종가 상승률이 지정한 값 이하이면
if C <= O*(1+상승률/100) Then ##조건3
{
#plot3은 조건1+조건2+조건3이 만족하면 표시
plot3(표시가격3,"전월H당월L변동율상승률1차");
#표시하고 cc는 0을 저장
cc = 0;
}
Else ##조건3이 만족하지 않으면
{
#cc에 종가저장하고 이후 봉에서 지정한 조건만족시 plot4가 출력되게 함
cc = c;
}
}
#조건만족시 봉번호
ii = Index;
#조건만족시 시가
bb = O;
}
Else
{
#cc에 종가가 저장되어 있고
# 음봉 뒤 양봉이고 시가가 cc보다 작으면
if cc > 0 and C[1] < O[1] and C > O and O < cc Then
{
#plot4룰 출력
plot4(표시가격4,"전월H당월L변동율상승률2차");
#출력했으므로 cc에는 0으로 저장해서 초기화
cc = 0;
}
}
즐거운 하루되세요
> 해피오 님이 쓴 글입니다.
> 제목 : 재문의입니다
> 86650문의의 답변에 대한 재문의입니다.
#전월최고당월최저변동율조건매수신호-일봉
#=============================================
input : 표시가격1(L/1.02),표시가격2(L/1.025),표시가격3(L/1.030),표시가격4(L/1.035) ;
input : 변동율(15), 검증기간(3), 출현제한봉수(3),상승률(5);
var : HH(0),H1(0),LL(0),L1(0),F1O(0),F2O(0),LL1(0);
var : ii(0),b(0),bb(0),cc(0);
if sDate > sDate[1]+30 Then
{
TL_New(sDate,sTime,0,sDate,sTime,999999999);
#당월 몸통 최고가 초기값
HH = max(C,O);
#전월 몸통 최고가
H1 = HH[1];
#당월 몸통 최저가 초기값
LL = min(C,O);
#전월 몸통 최저가
L1 = LL[1];
#당월 봉번호 초기값
b = 0;
#조건만족시 봉번호 저장변수 초기값
ii = 0;
#cc 초기값
cc = 0;
}
#당월 봉번호
b = b +1;
#당월 몸통최고가
if HH > 0 and max(C,O) > HH Then
HH = max(C,O);
#당월 몸통최저가
if LL > 0 and min(C,O) < LL Then
LL = min(C,O);
#차트에서 전월값까지 계산되어 있고
#전월몸통 최고가가 당월몸통 최저가보다 20이상 클경우 조건 충족
Condition1 = H1 > 0 and LL > 0 and H1 > LL and ( H1 - LL ) / LL * 100 >= 변동율 ;
Input : Periods(20), Periodm(40),Periodl(60);
input : 기준0선(0) ;
var : VolumeRatioS(0), VolumeRatioM(0), VolumeRatioL(0) ;
VolumeRatioS = VR(Periods);
VolumeRatioM = VR(Periodm);
VolumeRatioL = VR(Periodl);
Var1 = VolumeRatioS - VolumeRatioL / VolumeRatioM *100 ;
#차트에서 전월값까지 계산되어 있고
if H1 > 0 and LL > 0 and
#음봉 뒤 양봉이고
C[1] < O[1] and C > O and
#최근 3봉이내에 조건만족한 경우가 있고
#월초반에 3일이라는 기간에 전월이 포함될수 있으므로 당월봉수와 3중 작은 값을 택하게 작성하셔야 합니다.
CountIf(Condition1==true,min(b, 검증기간)) >= 1 and
#종가가 시가대비 5% 이하 상승
#당월 첫발생(ii가 0일때)이면 조건없이 표시하고
#당월 두번째 이후(ii > 0으로 봉번호 저장이후)는
#직전 발생시점대비 5봉이후이고 직전발생봉의 사가 대비 현재봉 시가가 낮은 경우에만 표시
(ii == 0 or (ii > 0 and Index >= ii+출현제한봉수 and O < bb) ) Then
{
plot1(표시가격1,"전월H당월L변동율신호");
if VolumeRatioS >= VolumeRatioM or Var1 >= 기준0선 Then
plot2(표시가격2,"전월H당월L변동율VR신호");
#조건만족시 봉번호
ii = Index;
#조건만족시 시가
bb = O;
#조건만족봉이 시가대비 종가 상승률이 지정한 값 이하이면
if C <= O*(1+상승률/100) Then
{
#표시
plot3(표시가격3,"전월H당월L변동율상승률1차");
#cc는 0
cc = 0;
}
Else #상승률이 지정한보가 크면
{
#cc에 종가저장
cc = c;
}
}
Else
{
#cc에 종가가 저장되어 있고 음봉 뒤 양봉이고 시가가 cc보다 작으면
if cc > 0 and C[1] < O[1] and C > O and O < cc Then
{
#표시
plot4(표시가격4,"전월H당월L변동율상승률2차");
#cc는 0으로 저장
cc = 0;
}
}
상기 답변에 대한 내용을 적용시켜본 결과 원하는 반영 신호가 나오지 않는 것 같아 재문의 드립니다.
가. PLOT 2, 3, 4의 신호가 <<<VolumeRatioS >= VolumeRatioM or Var1 >= 기준0선>>>를 제대로 반영되지 않는 것 같습니다. 살펴봐주십시요. 위 추가조건을 OR이 아닌 AND방식으로 변경해서 해봐도 표시되지 않아야할 곳에 신호가 표시되고 있읍니다. PLOT 2에는 반영되고
PLOT3, 4에는 반영되고 있지 않는듯 합니다.
나. PLOT4 의 신호 발생시에도 몸통상승율조건( C <= O*(1+상승률/100) )을 반영해주셔야 합니다.
항상 좋은 답변에 감사드립니다.