예스스탁
예스스탁 답변
2023-08-25 11:48:16
안녕하세요
예스스탁입니다.
swinghigh함수에 매개변수를 변동으로 사용해서 발생하는 문제 인것 같습니다.
아래 내용으로 대체해서 사용하시기 바랍니다.
input: LeftL(3),RightL(3),period(500);
var : k(0);
Array: swingH[4](-1), swingL[4](-1);
Array: swingHbar[4](-1), swingLbar[4](-1);
if SwingHigh(1,H,LeftL,RightL,LeftL+RightL+1) != -1 Then
{
for k = 4 DownTo 2
{
swingH[k] = swingH[k-1];
swingHbar[k] = swingHbar[k-1];
//현재봉 기준 500봉 이전이면 범위를 벗어났으므로 -1로 처리
if swingHbar[k] <= Index-Period Then
{
swingH[k] = -1;
swingHbar[k] = -1;
}
}
swingH[1] = H[RightL];
swingHbar[1] = Index[RightL];
}
MessageLog("swingH : %.f, %.f, %.f, %.f ", swingH[1], swingH[2], swingH[3],swingH[4]);
즐거운 하루되세요
> 예스쟁이 님이 쓴 글입니다.
> 제목 : swinghigh 값을 messagelog로 표시하기
> 항상 도움에 감사드립니다.
1.
첫번째 이미지에 있는 차트를 가지고
swinghigh의 값을 messagelog로 출력 해봤는데요.
코드는 아래와 같습니다.
--------------------------------------------------------------------
input: LeftL(3),RightL(3),period(500);
var : k(0);
Array: swingH[4](0), swingL[4](0);
for k = 1 to 4;
{
swingH[k] = SwingHigh(k, H, LeftL, RightL, period);
}
MessageLog("swingH : %.f, %.f, %.f, %.f ", swingH[1], swingH[2], swingH[3],swingH[4]);
-------------------------------------------------------------------
그런데 messagelog 의 값이 두번째 이미지와 같이
다 0으로 나오는데요.
어디가 잘못됐는지 모르겠습니다.
swinghigh1 ~ 4번째 까지 값을 messagelog로 디버깅 창에
출력하려면 어떻게 해야하나요?
(또는 swinghigh에 for문을 쓰는 것이 잘못된 것인가요?)