커뮤니티

재문의입니다

프로필 이미지
해피오
2024-04-09 15:03:40
766
글번호 178424
답변완료
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) )을 반영해주셔야 합니다. 항상 좋은 답변에 감사드립니다.
검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

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) )을 반영해주셔야 합니다. 항상 좋은 답변에 감사드립니다.