커뮤니티
56757번 관련입니다.
2018-02-22 14:12:25
152
글번호 116807
알려주신 코딩을 참고하여 수식을 아래와 같이 작성해서 작동해 보왔읍니다
function Main_OnStart()
{
Main.SetTimer(1, 2000);
}
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
var vv = c1.GetIndicatorData("챠트",2,0);
exl1.SetData(1, "c15", vv);
exl1.SetData(1, "c16", 47);
}
}
문제는 엑셀 c15에 출렬될 vv 변수에 참조된 plot2 식은
if 조건식 Then plot2(0,"50"); 인데
엑셀 챠트에 출력되는 값은 18446744073709552000로 나옵니다.
플롯식대로 라면 0이 출력되어야 하는데 왜 그런가요 ?
엑셀 c16에는 위의 수식대로 47 이 제대로 출력됩니다.
아울러, 챠트에 지표식에 적용된 조건을 사용와서 시스템식을 사용할 수는 없나요 ?
답변 1
예스스탁 예스스탁 답변
2018-02-22 15:09:20
안녕하세요
예스스탁입니다.
1
if 조건식 Then plot2(0,"50");
차트의 지표가 위 내용이면
조건이 만족한 봉에서만 0 값이 출력되므로
조건에 만족하지 않은 봉이면 출력값이 없으므로
NAN이 되고 이 내용이 무의미한 숫자값으로 변환되어 전달됩니다.
if C > O Then
plot1(1);
MessageLog("%.20f",plot1);
위 내용 지표 적용해서 디버깅창에 출력되는 내용 확인해 보시기 바랍니다.
스팟에서 지표값 확인하는 용도이므로
조건만족할때와 아닐때를 정확히 구분가능하도록
출력값을 각 지정해 리턴받을 수 있게
지표식 수정해서 사용하시기 바랍니다.
if C > O Then
plot2(0,"50");
Else
plot2(-1,"50");
2
수식을 각 별도로 동작합니다.
시스템에서 차트에 적용된 지표를 인식하지는 않습니다
즐거운 하루되세요
> 파일럿 님이 쓴 글입니다.
> 제목 : 56757번 관련입니다.
> 알려주신 코딩을 참고하여 수식을 아래와 같이 작성해서 작동해 보왔읍니다
function Main_OnStart()
{
Main.SetTimer(1, 2000);
}
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
var vv = c1.GetIndicatorData("챠트",2,0);
exl1.SetData(1, "c15", vv);
exl1.SetData(1, "c16", 47);
}
}
문제는 엑셀 c15에 출렬될 vv 변수에 참조된 plot2 식은
if 조건식 Then plot2(0,"50"); 인데
엑셀 챠트에 출력되는 값은 18446744073709552000로 나옵니다.
플롯식대로 라면 0이 출력되어야 하는데 왜 그런가요 ?
엑셀 c16에는 위의 수식대로 47 이 제대로 출력됩니다.
아울러, 챠트에 지표식에 적용된 조건을 사용와서 시스템식을 사용할 수는 없나요 ?
다음글
이전글