커뮤니티

문의

프로필 이미지
hjkang철인
2014-10-13 07:36:36
184
글번호 79262
답변완료
input : N(9); var: Period(42); var1 = ma(C,5); var2 = ma(C,20); var3 = BarsSinceEntry(); if SwingHigh(1,h,N,N,N*2+1) != -1 Then{ var11=SwinghighBar(1,h,N,N,N*2+1); //swinghigh가 발생한 봉의 Nth (현재봉에서) var7=-1; //swinghigh->swinglow 확정 전 var8=c; //swinghigh가 확인된 시점의 현재가격 Var9=H[N]; // swinghigh 가격. } if SwingLow(1,L,N,N,N*2+1) != -1 Then{ var9=L[N]; //swinglow가격 var7=1; //swinglow->swinghigh 확정 전 var8=c; //swinglow가 확정된 시점의 현재가격 var11=SwingLowBar(1,h,N,N,N*2+1); //swinglow가 발생한 봉의 Nth(현재봉대비..) } 제가 써 넣은 주석이 맞는지 확인 부탁드리고요.. 틀렸으면 수정 좀 부탁드립니다. 문의사항... var11의 값인 swinghighbar,swinglowbar 의 값을 messagelog 로 체크해보면 -1 또는 9로 고정되어 나옵니다.. 현재봉에서 swinghigh 또는 swinglow가 발생한 봉의 갯수를 리턴해 주는것으로 알고있습니다. 왜 값이 고정되어 나올까요?.. 제가 원하는 것은.. 만약 var11=9 였다면.. 현재봉+1 인 다음봉에서는 var11의 값이 10이 되어야 하는데.. 여전히 9로 되어있습니다. 캔들이 하나씩 생성될때 swinghighbar 또는 swinglowbar의 값이 서로의 값이 확인되어 바뀌기 전까지는 현재봉에서 계속 그 봉의 갯수를 리턴해 주기를 원합니다. 수정 부탁드립니다. 그리고.. swinghigh 있는 곳에서 swinghighbar를 같이 써 주는것이 맞지요?. 답변 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-10-13 10:34:44

안녕하세요 예스스탁입니다. 작성하신 내용에 문제가 없습니다. var11의 경우 스윙하이/로우가 발생한 봉에서 기준봉이 몇봉전에 발생했는지를 나타내므로 항상 N값인 9 입니다. 즉 특정시점에서만 값을 리턴받으므로 이후에 1씩 증가하지 못합니다. 스윙하이/로우가 발생한 이후에 봉갯수를 카운트 하고자 하시면 아래와 같이 작성하셔야 합니다. input : N(9); var: Period(42); var1 = ma(C,5); var2 = ma(C,20); var3 = BarsSinceEntry(); if SwingHigh(1,h,N,N,N*2+1) != -1 Then{ var7=-1; //swinghigh->swinglow 확정 전 var8= c; //swinghigh가 확인된 시점의 현재가격 Var9=H[N]; // swinghigh 가격. var11 = index[N]; } if SwingLow(1,L,N,N,N*2+1) != -1 Then{ var9=L[N]; //swinglow가격 var7=1; //swinglow->swinghigh 확정 전 var8=c; //swinglow가 확정된 시점의 현재가격 var11 = index[N]; } var12 = index-var11; if조건만족시점에서 기준봉의 인덱스를 저장하고 현재봉의 인덱스에서 빼주셔야 합니다. 즐거운 하루되세요 > hjkang철인 님이 쓴 글입니다. > 제목 : 문의 > input : N(9); var: Period(42); var1 = ma(C,5); var2 = ma(C,20); var3 = BarsSinceEntry(); if SwingHigh(1,h,N,N,N*2+1) != -1 Then{ var11=SwinghighBar(1,h,N,N,N*2+1); //swinghigh가 발생한 봉의 Nth (현재봉에서) var7=-1; //swinghigh->swinglow 확정 전 var8=c; //swinghigh가 확인된 시점의 현재가격 Var9=H[N]; // swinghigh 가격. } if SwingLow(1,L,N,N,N*2+1) != -1 Then{ var9=L[N]; //swinglow가격 var7=1; //swinglow->swinghigh 확정 전 var8=c; //swinglow가 확정된 시점의 현재가격 var11=SwingLowBar(1,h,N,N,N*2+1); //swinglow가 발생한 봉의 Nth(현재봉대비..) } 제가 써 넣은 주석이 맞는지 확인 부탁드리고요.. 틀렸으면 수정 좀 부탁드립니다. 문의사항... var11의 값인 swinghighbar,swinglowbar 의 값을 messagelog 로 체크해보면 -1 또는 9로 고정되어 나옵니다.. 현재봉에서 swinghigh 또는 swinglow가 발생한 봉의 갯수를 리턴해 주는것으로 알고있습니다. 왜 값이 고정되어 나올까요?.. 제가 원하는 것은.. 만약 var11=9 였다면.. 현재봉+1 인 다음봉에서는 var11의 값이 10이 되어야 하는데.. 여전히 9로 되어있습니다. 캔들이 하나씩 생성될때 swinghighbar 또는 swinglowbar의 값이 서로의 값이 확인되어 바뀌기 전까지는 현재봉에서 계속 그 봉의 갯수를 리턴해 주기를 원합니다. 수정 부탁드립니다. 그리고.. swinghigh 있는 곳에서 swinghighbar를 같이 써 주는것이 맞지요?. 답변 부탁드립니다.