커뮤니티

swinghigh

프로필 이미지
코퍼
2023-08-27 19:39:57
822
글번호 171867
답변완료
안녕하세요? SwingHigh, SwingHighBar를 시간과 조합하려니 어렵습니다 1. 8월7일 10시30분 ~ 8월11일 17시00분 사이에 발생한 SwingHigh 갯수와 값을 구할 수 있나요? Leftbar : 5 Rightbar :5 2. 상기 1번문의에서 같은 값을 어제부터 이전 5일간 구하는방법? 3.백테가 아닌 실거래에서 a는 조건가격을 아래에서 위로 통과시 동작하는데 b는 봉마감후 동작인가요 아니면 어떻게 동작하나요? a: ExitLong("pb1",AtLimit,DayOpen+100); b: if close>DayOpen+100 Then ExitLong("pb1"); 4. barindex와 index는 같은 함수인가요? 5. sh2는 가격인데 어떻게 아래와 같이 사용가능하나요? if sh2 >= Index-20 Then buy(); > 예스스탁 님이 쓴 글입니다. > 제목 : Re : swing > 안녕하세요 예스스탁입니다. 2번 조건만 추가해 드립니다. 해당 식에서 스윙하이와 스윙로우의 우측 봉수가 right이고 스윙하이나 스윙로우가 발생하면 이전값과 비교해 신호가 발생합니다. 그러므로 SL1, SH1은 항상 right봉전으로 고정값입니다. input : left(3),right(3); var : sl1(0),sl2(0),sh1(0),sh2(0); if SwingLow(1,L,Left,right,Left+right+1) != -1 Then { sl1 = l[right]; sl2 = sl1[1]; #최근저점이 전저점보다 크면 매수 if SL1 > SL2 and SL2 > 0 and sh2 >= Index-20 and sh2 <= Index+6 Then buy(); } 6. 아래 문장(5번문의)의 역할은 무엇인가요? if SwingLow(1,L,Left,right,Left+right+1) != -1 Then
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-08-28 11:16:02

안녕하세요 예스스탁입니다. 1 input : left(5),right(5); var : tcond(False),count(0); if sdate >= 20230807 and sTime >= 103000 Then Tcond = true; if sdate >= 20230811 and sTime >= 170000 Then Tcond = False; if Tcond == true Then { if SwingLow(1,L,Left,right,Left+right+1) != -1 Then { count = count+1; } } Plot1(count); 2 input : left(5),right(5),N(5); var : tcond(False),cnt(0),sum(0); Array : count[10](0); if Bdate != Bdate[1] Then { For cnt = 9 DownTo 1 { count[cnt] = count[cnt-1]; } count[0] = 0; } if SwingLow(1,L,Left,right,Left+right+1) != -1 Then { count[0] = count[0]+1; } sum = 0; For cnt = 1 to N { sum = sum + count[cnt]; } Plot1(sum); 3 a에서 사용한 atlimit 신호타입은 가격을 셋팅하고 현재가와 비교해서 즉시 신호를 발생하는 타입니다. b와 같이 별도로 신호타입을 지정하지 않으면 onclose이고 봉완성시 신호 발생입니다. 신호타입과 관련된 자세한 내용은 랭귀지 도움말 참고하시기 바랍니다. 4 이름만 다르고 같은 함수입니다. 5 식에 인덱스 저장하는 변수가 빠져있었습니다. 수정한 식입니다. input : left(3),right(3); var : sl1(0),sl2(0),sh1(0),sh2(0); var : slb1(0),slb2(0),shb1(0),shb2(0); if SwingLow(1,L,Left,right,Left+right+1) != -1 Then { sl1 = l[right]; sl2 = sl1[1]; slb1 = Index[1]; slb2 = slb1[1]; #최근저점이 전저점보다 크면 매수 if SL1 > SL2 and SL2 > 0 and shb2 >= Index-20 and shb2 <= Index+6 Then buy(); } if SwingHigh(1,H,Left,right,Left+right+1) != -1 Then { sh1 = h[right]; sh2 = sh1[1]; shb1 = Index[right]; shb2 = shb1[1]; #최근고점이 전고점보다 작으면 매도 if SH1 < SH2 and SH2 > 0 and shb2 >= Index-20 and shb2 <= Index+6 Then sell(); } 6 스윙로우는 발생여부를 체크하는 내용입니다. 스윙로우는 지정한 봉수안에 발생하면 발생하면 0보다 큰값을 아니면 -1을 리턴합니다. 현재봉 지정한 Left,right 조건을 충족하는 스윙로우가 발생했다는 의미입니다. if SwingLow(1,L,Left,right,Left+right+1) != -1 Then 즐거운 하루되세요 > 코퍼 님이 쓴 글입니다. > 제목 : swinghigh > 안녕하세요? SwingHigh, SwingHighBar를 시간과 조합하려니 어렵습니다 1. 8월7일 10시30분 ~ 8월11일 17시00분 사이에 발생한 SwingHigh 갯수와 값을 구할 수 있나요? Leftbar : 5 Rightbar :5 2. 상기 1번문의에서 같은 값을 어제부터 이전 5일간 구하는방법? 3.백테가 아닌 실거래에서 a는 조건가격을 아래에서 위로 통과시 동작하는데 b는 봉마감후 동작인가요 아니면 어떻게 동작하나요? a: ExitLong("pb1",AtLimit,DayOpen+100); b: if close>DayOpen+100 Then ExitLong("pb1"); 4. barindex와 index는 같은 함수인가요? 5. sh2는 가격인데 어떻게 아래와 같이 사용가능하나요? if sh2 >= Index-20 Then buy(); > 예스스탁 님이 쓴 글입니다. > 제목 : Re : swing > 안녕하세요 예스스탁입니다. 2번 조건만 추가해 드립니다. 해당 식에서 스윙하이와 스윙로우의 우측 봉수가 right이고 스윙하이나 스윙로우가 발생하면 이전값과 비교해 신호가 발생합니다. 그러므로 SL1, SH1은 항상 right봉전으로 고정값입니다. input : left(3),right(3); var : sl1(0),sl2(0),sh1(0),sh2(0); if SwingLow(1,L,Left,right,Left+right+1) != -1 Then { sl1 = l[right]; sl2 = sl1[1]; #최근저점이 전저점보다 크면 매수 if SL1 > SL2 and SL2 > 0 and sh2 >= Index-20 and sh2 <= Index+6 Then buy(); } 6. 아래 문장(5번문의)의 역할은 무엇인가요? if SwingLow(1,L,Left,right,Left+right+1) != -1 Then