커뮤니티

안녕하세요. 수식 질문있습니다.

프로필 이미지
생선가시
2016-04-05 11:07:54
106
글번호 96863
답변완료
주봉 검색 말고 일봉으로 보려면 어떻게 바꿔야하나요?? 그리고 매수신호와 매도신호를 넣을거라 find대신 buy를 넣어 매수신호는 완성한거같은데 매도신호를 진입가대비 7%하락시 매도로 하려면 if C < entryprice * 0.93 Then sell("s1"); 이렇게만 짜도 무방한가요?? 항상 친절하고 만족스런 답변 감사합니다. ============================================================ 안녕하세요 예스스탁입니다. 저가는 어떤 기간의 저가인지 불명확하여 52주 최고가 이후 최저가로 계산했습니다. 종목검색시 주봉에서 검색하시면 되고 종목검색 속성에서 검색에 필요한 최소기간을 넉넉히 60봉 이상으로 지정하고 검색하시기 바랍니다. var : cnt(0),HH(0),Hi(0),LL(0),Li(0); HH = H; Hi = 0; for cnt = 0 to 52-1{ if H[cnt] > HH Then{ HH = H[cnt]; HI = cnt; } } #52주 최고가 이후 최저가 LL = L; for cnt = 0 to Hi{ if L[cnt] < LL Then LL = L[cnt]; } if C <= HH*0.6 and C >= LL*1.07 Then find(1); 즐거운 하루되세요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-04-05 11:43:18

안녕하세요 예스스탁입니다. 1. 일봉에서 검색하신다면 아래와 같이 식을 변경하셔야 합니다. 종목검색속성에서 검색에 필요한 봉수를 일봉으로 52주는 약 260일 이므로 넉넉히 300봉 이상 지정하고 검색하시기 바랍니다. input : N(52); var : cnt(0),HH(0),Hi(0),LL(0),Li(0); Array : WeekH[100](0),WeekL[100](0); if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then{ WeekH[0] = H; WeekL[0] = L; for cnt = 1 to 99{ WeekH[cnt] = WeekH[cnt-1][1]; WeekL[cnt] = WeekL[cnt-1][1]; } } if H > WeekH[0] Then WeekH[0] = H; if L < WeekL[0] Then WeekL[0] = L; if WeekH[N] > 0 and WeekL[N] > 0 Then{ HH = WeekH[0]; Hi = 0; for cnt = 0 to N{ if WeeKH[cnt] > HH Then{ HH = WeekH[cnt]; HI = cnt; } } #52주 최고가 이후 최저가 LL = WeekL[0]; for cnt = 0 to Hi{ if WeekL[cnt] < LL Then LL = WeekL[cnt]; } if C <= HH*0.6 and C >= LL*1.07 Then find(1); } 2. 시스템식으로 변경하시면 아래와 같습니다. 작성하신 매도식이 맞습니다. sell은 매도진입함수입니다. sell함수가 반대포지션상태에서 발생하면 청산을 같이 하므로 sell함수를 이용하셔도 되지만 기본적으로 매수를 청산만 할&#46468;는 sell대신에 exitlong함수를 사용합니다. input : N(52); var : cnt(0),HH(0),Hi(0),LL(0),Li(0); Array : WeekH[100](0),WeekL[100](0); if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then{ WeekH[0] = H; WeekL[0] = L; for cnt = 1 to 99{ WeekH[cnt] = WeekH[cnt-1][1]; WeekL[cnt] = WeekL[cnt-1][1]; } } if H > WeekH[0] Then WeekH[0] = H; if L < WeekL[0] Then WeekL[0] = L; if WeekH[N] > 0 and WeekL[N] > 0 Then{ HH = WeekH[0]; Hi = 0; for cnt = 0 to N{ if WeeKH[cnt] > HH Then{ HH = WeekH[cnt]; HI = cnt; } } #52주 최고가 이후 최저가 LL = WeekL[0]; for cnt = 0 to Hi{ if WeekL[cnt] < LL Then LL = WeekL[cnt]; } if C <= HH*0.6 and C >= LL*1.07 Then buy("매수"); if MarketPosition == 1 and C <= EntryPrice*0.97 Then ExitLong("매도"); } 즐거운 하루되세요 > 생선가시 님이 쓴 글입니다. > 제목 : 안녕하세요. 수식 질문있습니다. > 주봉 검색 말고 일봉으로 보려면 어떻게 바꿔야하나요?? 그리고 매수신호와 매도신호를 넣을거라 find대신 buy를 넣어 매수신호는 완성한거같은데 매도신호를 진입가대비 7%하락시 매도로 하려면 if C < entryprice * 0.93 Then sell("s1"); 이렇게만 짜도 무방한가요?? 항상 친절하고 만족스런 답변 감사합니다. ============================================================ 안녕하세요 예스스탁입니다. 저가는 어떤 기간의 저가인지 불명확하여 52주 최고가 이후 최저가로 계산했습니다. 종목검색시 주봉에서 검색하시면 되고 종목검색 속성에서 검색에 필요한 최소기간을 넉넉히 60봉 이상으로 지정하고 검색하시기 바랍니다. var : cnt(0),HH(0),Hi(0),LL(0),Li(0); HH = H; Hi = 0; for cnt = 0 to 52-1{ if H[cnt] > HH Then{ HH = H[cnt]; HI = cnt; } } #52주 최고가 이후 최저가 LL = L; for cnt = 0 to Hi{ if L[cnt] < LL Then LL = L[cnt]; } if C <= HH*0.6 and C >= LL*1.07 Then find(1); 즐거운 하루되세요