커뮤니티

제 수식작성 구성 방식이 잘못되었나요

프로필 이미지
태공
2022-11-04 08:24:59
860
글번호 163493
답변완료
수식 코드 중에 아래의 수식이 들어가면 검색이 되고 이 수식을 빼면 검색이 되지 않습니다. 혹시 제가 작성하는 수식 방식에 문제가 있나요??? if ( V > nMav * 0.08 ) Then { Find(0); } 3분봉 기준으로 당일 고가를 돌파하는 종목을 검색하는 수식입니다. 당일 분봉에서만 검색하고 싶고요. 제가 작성하는 방식이 잘못된건가요?? /////////////////////////////////////////////////////////////////// //// 종목검색 수식.... input : TargetDate(20221103); var : nCnt(0), nSum(0), nMav(0), nMav1(0), nMav2(0), nMav3(0); var : dwCloseRate(0), dwLowRate(0), dwLowCloseRate(0), dwAdjustedRate(0), dwRate(0); var : bIsCond1(False), bIsCond2(False), bIsCond3(False), bIsCond4(False), bIsCond5(False); var : nCondTime1(0), nCondTime2(0); ////////////////////////////////////////////////////////////////////////////////// ////// 전역변수 설정. ////// ////// var1 ==> 당일 캔들 인덱스.... ////// var2 ==> 과거 (10/20/40일) 최소 일평균거래량 ////// var3 ==> 당일 종가 상 고가 캔들 Index ////// var4 ==> ////// Var5 ==> ////// var6 ==> ////// var7 ==> ////// var8 ==> 5EMA의 20EMA 이탈 캔들 Index ////// var9 ==> 5EMA의 60EMA 이탈 캔들 Index ////// var10 ==> 과거 일평균거래량 대비 당일 거래량 비율 ////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// ///// DataCompress = (0:틱, 1:초, 2:분, 3:일, 4:주, 5:월......) if ( date != date[1] && date == TargetDate) Then { nSum = 0; For nCnt = 1 to 40 { nSum = nSum + DayVolume(nCnt); if nCnt == 10 Then nMav1 = INT(nSum / 10); Else if nCnt == 20 Then nMav2 = INT(nSum / 20); Else if nCnt == 40 Then nMav3 = INT(nSum / 40); } ////////////////////////////////////////////////////////////////////////// //// 3분봉 기준으로으로 캔들 평균거래량 nMav = Min(nMav1, nMav2, nMav3); var3 = 1; var4 = H; Var5 = 0; Var6 = 0; bIsCond1 = False; bIsCond2 = False; bIsCond3 = False; bIsCond4 = False; bIsCond5 = False; } else if ( date == TargetDate && nMav > 80000 ) Then { dwRate = (C - C[1])/C[1]*100; dwCloseRate = (C - DayClose(1))/DayClose(1)*100; dwLowRate = (DayLow(0) - DayClose(1))/DayClose(1)*100; dwLowCloseRate = (DayClose(0) - DayLow(0))/DayLow(0)*100; //////////////////////////////////////////////////// ///// 이 코드가 들어가면 검색이 되고 이 코드를 빼면 검색이 되지 않아요. ///// 전혀 의미없는 코드 같은데....... if ( V > nMav * 0.08 ) Then { Find(0); } ////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////// ////// 장시작 후 하락하다가 고점 돌파 후 상승전환 한 경우..... if ( C > H[Var3] && sTime >= 090900 && sTime <= 113000 && bIsCond1 == False ) Then { if ( dwCloseRate > 0 && dwLowRate < 0 && dwLowCloseRate > 1.5 ) Then { nCondTime1 = sTime; bIsCond1 = True; } } //////////////////////////////////////////////////////////////////////////////////////////// ////// 장시작 직후(10시이전) 거래량을 수반하면서 캔들 등락률이 1% 이상..... if ( C > H[Var3] && sTime >= 090900 && sTime <= 100100 && bIsCond2 == False ) Then { if ( dwRate > 0.8 && dwCloseRate > 0 && (V > DayVolume(1)*0.1 || V > nMav/125*5) ) Then { nCondTime2 = sTime; bIsCond2 = True; } } if ( bIsCond1 == TRUE ) Then Find(nCondTime1); if ( bIsCond2 == TRUE ) Then Find(nCondTime2); if ( H >= H[Var3] ) Then { Var3 = 1; } Else { Var3 = var3+1; } }
종목검색
답변 2
프로필 이미지

태공

2022-11-03 09:48:11

태공 님에 의해 삭제된 답변입니다.
프로필 이미지

예스스탁 예스스탁 답변

2022-11-04 09:27:34

> 태공 님이 쓴 글입니다. > 제목 : 제 수식작성 구성 방식이 잘못되었나요 > 수식 코드 중에 아래의 수식이 들어가면 검색이 되고 이 수식을 빼면 검색이 되지 않습니다. 혹시 제가 작성하는 수식 방식에 문제가 있나요??? if ( V > nMav * 0.08 ) Then { Find(0); } 3분봉 기준으로 당일 고가를 돌파하는 종목을 검색하는 수식입니다. 당일 분봉에서만 검색하고 싶고요. 제가 작성하는 방식이 잘못된건가요?? /////////////////////////////////////////////////////////////////// //// 종목검색 수식.... input : TargetDate(20221103); var : nCnt(0), nSum(0), nMav(0), nMav1(0), nMav2(0), nMav3(0); var : dwCloseRate(0), dwLowRate(0), dwLowCloseRate(0), dwAdjustedRate(0), dwRate(0); var : bIsCond1(False), bIsCond2(False), bIsCond3(False), bIsCond4(False), bIsCond5(False); var : nCondTime1(0), nCondTime2(0); ////////////////////////////////////////////////////////////////////////////////// ////// 전역변수 설정. ////// ////// var1 ==> 당일 캔들 인덱스.... ////// var2 ==> 과거 (10/20/40일) 최소 일평균거래량 ////// var3 ==> 당일 종가 상 고가 캔들 Index ////// var4 ==> ////// Var5 ==> ////// var6 ==> ////// var7 ==> ////// var8 ==> 5EMA의 20EMA 이탈 캔들 Index ////// var9 ==> 5EMA의 60EMA 이탈 캔들 Index ////// var10 ==> 과거 일평균거래량 대비 당일 거래량 비율 ////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// ///// DataCompress = (0:틱, 1:초, 2:분, 3:일, 4:주, 5:월......) if ( date != date[1] && date == TargetDate) Then { nSum = 0; For nCnt = 1 to 40 { nSum = nSum + DayVolume(nCnt); if nCnt == 10 Then nMav1 = INT(nSum / 10); Else if nCnt == 20 Then nMav2 = INT(nSum / 20); Else if nCnt == 40 Then nMav3 = INT(nSum / 40); } ////////////////////////////////////////////////////////////////////////// //// 3분봉 기준으로으로 캔들 평균거래량 nMav = Min(nMav1, nMav2, nMav3); var3 = 1; var4 = H; Var5 = 0; Var6 = 0; bIsCond1 = False; bIsCond2 = False; bIsCond3 = False; bIsCond4 = False; bIsCond5 = False; } else if ( date == TargetDate && nMav > 80000 ) Then { dwRate = (C - C[1])/C[1]*100; dwCloseRate = (C - DayClose(1))/DayClose(1)*100; dwLowRate = (DayLow(0) - DayClose(1))/DayClose(1)*100; dwLowCloseRate = (DayClose(0) - DayLow(0))/DayLow(0)*100; //////////////////////////////////////////////////// ///// 이 코드가 들어가면 검색이 되고 이 코드를 빼면 검색이 되지 않아요. ///// 전혀 의미없는 코드 같은데....... if ( V > nMav * 0.08 ) Then { Find(0); } ////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////// ////// 장시작 후 하락하다가 고점 돌파 후 상승전환 한 경우..... if ( C > H[Var3] && sTime >= 090900 && sTime <= 113000 && bIsCond1 == False ) Then { if ( dwCloseRate > 0 && dwLowRate < 0 && dwLowCloseRate > 1.5 ) Then { nCondTime1 = sTime; bIsCond1 = True; } } //////////////////////////////////////////////////////////////////////////////////////////// ////// 장시작 직후(10시이전) 거래량을 수반하면서 캔들 등락률이 1% 이상..... if ( C > H[Var3] && sTime >= 090900 && sTime <= 100100 && bIsCond2 == False ) Then { if ( dwRate > 0.8 && dwCloseRate > 0 && (V > DayVolume(1)*0.1 || V > nMav/125*5) ) Then { nCondTime2 = sTime; bIsCond2 = True; } } if ( bIsCond1 == TRUE ) Then Find(nCondTime1); if ( bIsCond2 == TRUE ) Then Find(nCondTime2); if ( H >= H[Var3] ) Then { Var3 = 1; } Else { Var3 = var3+1; } }