커뮤니티

수식문의입니다

프로필 이미지
해피오
2024-10-31 00:57:30
701
글번호 184817
답변완료
Array : WeekO[20](0),WeekC[20](0); Array : MonthO[20](0),MonthC[20](0); Array : YearO[20](0),YearC[20](0); if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then { WeekO[0] = O; #주봉시작일의 시가 For cnt = 1 to 19 { WeekO[cnt] = WeekO[cnt-1][1]; WeekC[cnt] = WeekC[cnt-1][1]; } WeekOC = C ; #주봉시작(변경)일의 캔들종가 WeekOL = L ; #주봉시작(변경)일의 캔들저가 } WeekC[0] = C; #주봉의 종가 if Bdate > Bdate[1]+30 Then { MonthO[0] = O; #월봉시작일의 캔들시가 For cnt = 1 to 19 { MonthO[cnt] = MonthO[cnt-1][1]; MonthC[cnt] = MonthC[cnt-1][1]; } MonthOC = C ; #월봉시작일의 캔들종가 } MonthC[0] = C; if Bdate > Bdate[1]+1000 Then { YearO[0] = O; #연봉시작일의 캔들시가 For cnt = 1 to 19 { YearO[cnt] = YearO[cnt-1][1]; YearC[cnt] = YearC[cnt-1][1]; } } YearC[0] = C; 1. 신호수식>> 위의 수식을 활용하여 주봉차트상에서 매월 마지막주의 주봉캔들이 양봉인 경우의 매수신호 수식을 요청드리는 것으로, 다만 마지막주의 주봉캔들 시가가 이평 20주선보다 낮은 경우에는 추가조건으로서 이 캔들의 저가는 20주중 최저가이어야 하고, 20주선보다 시가가 높은 경우에는 양봉이면서 주봉캔들 종가는 해당월의 월시가와 5주선보다 높아야 합니다. 2. 지표수식>> 위 주봉의 시가선(WeekO[0])은 일봉차트상에서 계단식으로 라인이 표시되는데요, 이 라인이 변동될때마다(한주가 변동될때마다) 현재의 주 시작일 봉 저가-표시위치를 입력변수로 설정되게 요망-에 0, 이전주에는 1, 그 이전주는 2....이런씩으로 현재에서 과거로 20개정도 표시되게 할 수 있는 수식을 요청드립니다.
검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-10-31 14:28:52

안녕하세요 예스스탁입니다. input : 표시위치(1); var : WeekOC(0),WeekOL(0),MonthOC(0); Array : WeekO[20](0),WeekC[20](0),WeekL[20](0); Array : MonthO[20](0),MonthC[20](0); Array : YearO[20](0),YearC[20](0); Array : VV[20](0),TX[20](0); var : cnt(0), sum1(0),mav1(0),LL(0),sum2(0),mav2(0); if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then { WeekO[0] = O; #주봉시작일의 시가 For cnt = 1 to 19 { WeekO[cnt] = WeekO[cnt-1][1]; WeekC[cnt] = WeekC[cnt-1][1]; WeekL[cnt] = WeekL[cnt-1][1]; } WeekOC = C ; #주봉시작(변경)일의 캔들종가 WeekOL = L ; #주봉시작(변경)일의 캔들저가 WeeKL[0] = L; For cnt = 19 DownTo 1 { vv[cnt] = vv[cnt-1]+1; tx[cnt] = tx[cnt-1]; Text_SetString(Tx[cnt],NumToStr(VV[cnt],0)); } vv[0] = 0; tx[0] = Text_New(sDate,sTime,L-표시위치,NumToStr(vv[0],0)); Text_SetStyle(tx[0],2,0); } if WeeKL[0] > 0 and L < WeekL[0] Then WeekL[0] = L; WeekC[0] = C; #주봉의 종가 if Bdate > Bdate[1]+30 Then { MonthO[0] = O; #월봉시작일의 캔들시가 For cnt = 1 to 19 { MonthO[cnt] = MonthO[cnt-1][1]; MonthC[cnt] = MonthC[cnt-1][1]; } MonthOC = C ; #월봉시작일의 캔들종가 } MonthC[0] = C; if Bdate > Bdate[1]+1000 Then { YearO[0] = O; #연봉시작일의 캔들시가 For cnt = 1 to 19 { YearO[cnt] = YearO[cnt-1][1]; YearC[cnt] = YearC[cnt-1][1]; } } YearC[0] = C; if WeeKC[19] > 0 Then { sum1 = 0; LL = 0; For cnt = 0 to 19 { sum1 = sum1 + weekC[cnt]; if LL==0 or (LL > 0 and WeekL[cnt] < LL) Then LL = WeekL[cnt]; } mav1 = sum1/20; } if WeeKC[4] > 0 Then { sum2 = 0; For cnt = 0 to 4 { sum2 = sum2 + weekC[cnt]; } mav2 = sum2/5; } if NextBarbdate > Bdate[1]+30 Then { if (C > WeeKO[0] and WeekO[0] < mav1 and mav1 > 0 and L == LL) or (C > WeeKO[0] and WeekO[0] > mav1 and mav1 > 0 and C > MonthO and C < mav2 and mav2 > 0) Then { Buy("b"); } } 즐거운 하루되세요 > 해피오 님이 쓴 글입니다. > 제목 : 수식문의입니다 > Array : WeekO[20](0),WeekC[20](0); Array : MonthO[20](0),MonthC[20](0); Array : YearO[20](0),YearC[20](0); if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then { WeekO[0] = O; #주봉시작일의 시가 For cnt = 1 to 19 { WeekO[cnt] = WeekO[cnt-1][1]; WeekC[cnt] = WeekC[cnt-1][1]; } WeekOC = C ; #주봉시작(변경)일의 캔들종가 WeekOL = L ; #주봉시작(변경)일의 캔들저가 } WeekC[0] = C; #주봉의 종가 if Bdate > Bdate[1]+30 Then { MonthO[0] = O; #월봉시작일의 캔들시가 For cnt = 1 to 19 { MonthO[cnt] = MonthO[cnt-1][1]; MonthC[cnt] = MonthC[cnt-1][1]; } MonthOC = C ; #월봉시작일의 캔들종가 } MonthC[0] = C; if Bdate > Bdate[1]+1000 Then { YearO[0] = O; #연봉시작일의 캔들시가 For cnt = 1 to 19 { YearO[cnt] = YearO[cnt-1][1]; YearC[cnt] = YearC[cnt-1][1]; } } YearC[0] = C; 1. 신호수식>> 위의 수식을 활용하여 주봉차트상에서 매월 마지막주의 주봉캔들이 양봉인 경우의 매수신호 수식을 요청드리는 것으로, 다만 마지막주의 주봉캔들 시가가 이평 20주선보다 낮은 경우에는 추가조건으로서 이 캔들의 저가는 20주중 최저가이어야 하고, 20주선보다 시가가 높은 경우에는 양봉이면서 주봉캔들 종가는 해당월의 월시가와 5주선보다 높아야 합니다. 2. 지표수식>> 위 주봉의 시가선(WeekO[0])은 일봉차트상에서 계단식으로 라인이 표시되는데요, 이 라인이 변동될때마다(한주가 변동될때마다) 현재의 주 시작일 봉 저가-표시위치를 입력변수로 설정되게 요망-에 0, 이전주에는 1, 그 이전주는 2....이런씩으로 현재에서 과거로 20개정도 표시되게 할 수 있는 수식을 요청드립니다.