커뮤니티

질문 부탁드리겠습니다

프로필 이미지
yamu
2024-12-06 10:59:32
695
글번호 186000
답변완료
지난번 단기과열/투경 예고 관련 질문 답변 주셔서 감사드립니다 먼저 여쭤보고 싶은건 분봉상에서 dayclose (일간 종가)를 플롯하면 분봉에서 매봉의 종가가 나오는데요 일봉에서 최종 종가를 표현하려면 작성을 어떻게 해야될까요?? 일단 if nextbarbdate != bdate then plot11(dayclose)); 이렇게 작성하니 분봉에서 당일 마지막 봉에만 종가가 표시되는 형식으로 나오는데 이게 맞나요??? 맞다면 nextbarbdate!= bdate 이게 의미하는 바와 마지막 봉에만 표시가 되는 원리를 잘 모르겠습니다 질문2) 지난번에 단기과열 관련해서 여쭤볼때 키움수식을 올렸었는데요 일단 단기과열 예고 지정 조건은 : 3가지 복수조건 (아래수식에서 A에 해당) 모두 해당 - 최초 적출된 날 적출된 날 익일 부터 10거래일 이내에 동일 요건 재적출 이렇게 되고 키움수식은 A = sum(avg(c, 40, 1) * 1.3 <= C and avg(money/C, 40, 1) * 6 <= avg(money/C, 2) and avg(((h-l)/((h+l)/2)), 40, 1) * 1.5 <= avg(((h-l)/((h+l)/2)), 2) and C(1) < C); B = valuewhen(1, A(1) != A, C); if(A(1) - A(11) >= 1, B(1) < C and A(1) != A, 0) 인데요, B는 해석하면 A(1) != A 일때 C값을 가져오라는건데 A(1) != A 가 의미하는 바와 ( A와 이전 만족A가 같지 않다?) IF 문에 따르면 A(1) - A(11) >= 1 이면 B(1) < C and A(1) != A 를 나타내라는건데 여기서도 해석이 잘 안됩니다 변환을 해주셨는데 원본에서부터가 잘 해석이 안되네요 알려주신 수식도 간단한 주석을 부탁드립니다 1,2 번 표시해논 부분이 잘 이해가 안갑니다, 수식 전문은 맨 마지막에 첨부했습니다 1. if Bdate != Bdate[1] Then DD = DD+1; 2. if X > 0 and DD <= X[1]+11 and B < C and Condition1 Then PlotPaintBar(H,L,"강조"); if NextBarBdate != Bdate Then { if Condition1 == true Then { B = C; X = DD; } } 수식 전문: var : A(0),B(0),cnt(0),DD(0),X(0); Array : cond[50](False); if Bdate != Bdate[1] Then DD = DD+1; var1 = 0; var2 = 0; var3 = 0; for cnt = 1 to 40 { var1 = var1 + DayClose(cnt); var2 = var2 + (DayMoney(cnt)/DayClose(cnt)); var3 = var3 + (DayHigh(cnt)-DayLow(cnt))/((DayHigh(cnt)+DayLow(cnt))/2); } value1 = var1/40; value2 = var2/40; Value3 = var3/40; var4 = 0; var5 = 0; for cnt = 0 to 1 { var4 = var4 + (DayMoney(cnt)/DayClose(cnt)); var5 = var5 + (DayHigh(cnt)-DayLow(cnt))/((DayHigh(cnt)+DayLow(cnt))/2); } value4 = var4/2; value5 = var5/2; Condition1 = value1[1] * 1.3 <= C and Value2[1] * 6 <= Value4 and Value3[1] * 1.5 <= Value5 and DayClose(1) < C; if X > 0 and DD <= X[1]+11 and B < C and Condition1 Then PlotPaintBar(H,L,"강조"); if NextBarBdate != Bdate Then { if Condition1 == true Then { B = C; X = DD; } }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-12-06 15:24:42

안녕하세요 예스스탁입니다. 1 dayclose(0)은 c와 같습니다. plot은 과거봉에 그리지 못합니다. 분봉에서 최종 완성봉의 종가를 차트에 수평으로 그리고자 하시면 추세선을 이용하셔야 하고 var : tl(0); TL_Delete(tl); tl = tl_new(sDate,sTime,c,NextBarSdate,NextBarStime,c); TL_SetExtLeft(tl,true); 전일종가를 당일에 그리고자 하시면 dayclose(1)을 plot하시면 됩니다. plot1(dayclose(1)); 2 if(A(1) - A(11) >= 1, B(1) < C and A(1) != A, 0) A는 차트전체기간에서 조건발생 횟수입니다. 위 조건식은 1봉전~11봉 사이에 1회이상 조건만족한 날이 있다라는 내용있고 (A(1) - A(11) >= 1) 1봉전 기준 최근 만족한 날의 종가보다 오늘 종가가 크고 (B(1) < C ) 오늘도 조건에 충족을 했음(A(1) != A)을 의미합니다. 즉 최근 2번의 조건만족봉의 종가를 비교해서 최근것이 높은 종목을 찾는 내용입니다. 최근 2번 중 한번은 오늘이고 직전은 1~11봉 사이라는 내용입니다. var : A(0),B(0),cnt(0),DD(0),X(0); Array : cond[50](False); if Bdate != Bdate[1] Then DD = DD+1; #전일기준 일봉 평균값 계산 #avg(c, 40, 1) #avg(money/C, 40, 1) #avg(((h-l)/((h+l)/2)), 40, 1) var1 = 0; var2 = 0; var3 = 0; for cnt = 1 to 40 { var1 = var1 + DayClose(cnt); var2 = var2 + (DayMoney(cnt)/DayClose(cnt)); var3 = var3 + (DayHigh(cnt)-DayLow(cnt))/((DayHigh(cnt)+DayLow(cnt))/2); } value1 = var1/40; value2 = var2/40; Value3 = var3/40; #당일기준 일봉 평균값 계산 #avg(money/C, 2) #avg(((h-l)/((h+l)/2)), 2) var4 = 0; var5 = 0; for cnt = 0 to 1 { var4 = var4 + (DayMoney(cnt)/DayClose(cnt)); var5 = var5 + (DayHigh(cnt)-DayLow(cnt))/((DayHigh(cnt)+DayLow(cnt))/2); } value4 = var4/2; value5 = var5/2; #일봉 기준 조건체크 #avg(c, 40, 1) * 1.3 <= C #and avg(money/C, 40, 1) * 6 <= avg(money/C, 2) #and avg(((h-l)/((h+l)/2)), 40, 1) * 1.5 <= avg(((h-l)/((h+l)/2)), 2) #and C(1) < C Condition1 = value1[1] * 1.3 <= C and Value2[1] * 6 <= Value4 and Value3[1] * 1.5 <= Value5 and DayClose(1) < C; #전일기준 최근 만족봉이 1일전~11일전이고 #전일기준 최근 만족봉의 종가보다 현재봉 종가가 크고 #오늘 조건이 만족했으면 강조출력 if X > 0 and DD <= X[1]+11 and B < C and Condition1 Then PlotPaintBar(H,L,"강조"); #당일 마지막봉에서만 조건 만족했으면 B에 종가저장,X에 날짜수 저장 if NextBarBdate != Bdate Then { if Condition1 == true Then { B = C; X = DD; } } 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 질문 부탁드리겠습니다 > 지난번 단기과열/투경 예고 관련 질문 답변 주셔서 감사드립니다 먼저 여쭤보고 싶은건 분봉상에서 dayclose (일간 종가)를 플롯하면 분봉에서 매봉의 종가가 나오는데요 일봉에서 최종 종가를 표현하려면 작성을 어떻게 해야될까요?? 일단 if nextbarbdate != bdate then plot11(dayclose)); 이렇게 작성하니 분봉에서 당일 마지막 봉에만 종가가 표시되는 형식으로 나오는데 이게 맞나요??? 맞다면 nextbarbdate!= bdate 이게 의미하는 바와 마지막 봉에만 표시가 되는 원리를 잘 모르겠습니다 질문2) 지난번에 단기과열 관련해서 여쭤볼때 키움수식을 올렸었는데요 일단 단기과열 예고 지정 조건은 : 3가지 복수조건 (아래수식에서 A에 해당) 모두 해당 - 최초 적출된 날 적출된 날 익일 부터 10거래일 이내에 동일 요건 재적출 이렇게 되고 키움수식은 A = sum(avg(c, 40, 1) * 1.3 <= C and avg(money/C, 40, 1) * 6 <= avg(money/C, 2) and avg(((h-l)/((h+l)/2)), 40, 1) * 1.5 <= avg(((h-l)/((h+l)/2)), 2) and C(1) < C); B = valuewhen(1, A(1) != A, C); if(A(1) - A(11) >= 1, B(1) < C and A(1) != A, 0) 인데요, B는 해석하면 A(1) != A 일때 C값을 가져오라는건데 A(1) != A 가 의미하는 바와 ( A와 이전 만족A가 같지 않다?) IF 문에 따르면 A(1) - A(11) >= 1 이면 B(1) < C and A(1) != A 를 나타내라는건데 여기서도 해석이 잘 안됩니다 변환을 해주셨는데 원본에서부터가 잘 해석이 안되네요 알려주신 수식도 간단한 주석을 부탁드립니다 1,2 번 표시해논 부분이 잘 이해가 안갑니다, 수식 전문은 맨 마지막에 첨부했습니다 1. if Bdate != Bdate[1] Then DD = DD+1; 2. if X > 0 and DD <= X[1]+11 and B < C and Condition1 Then PlotPaintBar(H,L,"강조"); if NextBarBdate != Bdate Then { if Condition1 == true Then { B = C; X = DD; } } 수식 전문: var : A(0),B(0),cnt(0),DD(0),X(0); Array : cond[50](False); if Bdate != Bdate[1] Then DD = DD+1; var1 = 0; var2 = 0; var3 = 0; for cnt = 1 to 40 { var1 = var1 + DayClose(cnt); var2 = var2 + (DayMoney(cnt)/DayClose(cnt)); var3 = var3 + (DayHigh(cnt)-DayLow(cnt))/((DayHigh(cnt)+DayLow(cnt))/2); } value1 = var1/40; value2 = var2/40; Value3 = var3/40; var4 = 0; var5 = 0; for cnt = 0 to 1 { var4 = var4 + (DayMoney(cnt)/DayClose(cnt)); var5 = var5 + (DayHigh(cnt)-DayLow(cnt))/((DayHigh(cnt)+DayLow(cnt))/2); } value4 = var4/2; value5 = var5/2; Condition1 = value1[1] * 1.3 <= C and Value2[1] * 6 <= Value4 and Value3[1] * 1.5 <= Value5 and DayClose(1) < C; if X > 0 and DD <= X[1]+11 and B < C and Condition1 Then PlotPaintBar(H,L,"강조"); if NextBarBdate != Bdate Then { if Condition1 == true Then { B = C; X = DD; } }