커뮤니티

지표와 사용자 함수의 차이점?

프로필 이미지
푸른새벽
2019-01-02 07:41:31
221
글번호 124860
답변완료

첨부 이미지

첫번째 라인(A지표): PlotBaseLine을 이용하여 만든 지표 두번째 라인(B지표): 위 첫번째 지표를 사용자 함수로 만든 후(UserFunA 함수) 다른 지표에서 출력한 라인 입니다. ---- A지표 ... If 조건문 Then PlotBaseLine1("빨간색"); Else PlotBaseLIne1("파란색"); .. ---- 사용자 함수(UserFunA): A지표를 사용자 함수로 만듬(PlotBaseLine만 제거) ... If 조건문 Then Flag_색저장 = 1; Else Flag_색저장 = -1; UserFunA = Flag_색저장; ----- B지표: UserFunA 호출 ... Flag_A지표 = UserFunA If Flag_A지표 == 1 Then PlotBaseLIne1("빨간색"); Else PlotBaseLIne1("파란색"); ------------------------------------------------------------- 그런데 보시면 아시겠지만 출력값(빨간색, 파란색 라인)이 틀립니다 하나는 지표에서 출력 한 것이고(A지표) 다른 하나는 사용자 함수를 이용하여 다시 호출하여 출력한 것인데(B지표) 결과 값이 틀립니다.원인을 알수가 없네요. 원인 확인 부탁드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-01-03 09:27:54

안녕하세요 예스스탁입니다. 올려주신 내용만으로는 어떤 이유로 차이가 발생하는지 파악이 되지 않습니다. 수식을 만들어 자체적으로 테스트를 해보았지만 올려주신 그림과 같이 다르게 출력되지 않습니다. 작성하신 수식의 내용 안에 차이를 발생시키는 요인이 있을 것 같습니다. 해당 부분은 정확히 답변드리기 위해서는 수식을 올려주셔야 할 것 같습니다. 아래는 테스트한 수식들입니다. 1 var1 = ma(c,5); var2 = ma(C,20); if var1 > var2 Then PlotBaseLine1(1,"1",RED); Else PlotBaseLine1(1,"1",BLUE); 2. 사용자함수 UserFunA var : Flag_색저장(0); var1 = ma(c,5); var2 = ma(C,20); if var1 > var2 Then Flag_색저장 = 1; Else Flag_색저장 = -1; UserFunA = Flag_색저장; 3 var : Flag_A지표(0); Flag_A지표 = UserFunA; if Flag_A지표 == 1 Then PlotBaseLine1(1,"1",RED); Else PlotBaseLine1(1,"1",BLUE); 즐거운 하루되세요 > 푸른새벽 님이 쓴 글입니다. > 제목 : 지표와 사용자 함수의 차이점? > 첫번째 라인(A지표): PlotBaseLine을 이용하여 만든 지표 두번째 라인(B지표): 위 첫번째 지표를 사용자 함수로 만든 후(UserFunA 함수) 다른 지표에서 출력한 라인 입니다. ---- A지표 ... If 조건문 Then PlotBaseLine1("빨간색"); Else PlotBaseLIne1("파란색"); .. ---- 사용자 함수(UserFunA): A지표를 사용자 함수로 만듬(PlotBaseLine만 제거) ... If 조건문 Then Flag_색저장 = 1; Else Flag_색저장 = -1; UserFunA = Flag_색저장; ----- B지표: UserFunA 호출 ... Flag_A지표 = UserFunA If Flag_A지표 == 1 Then PlotBaseLIne1("빨간색"); Else PlotBaseLIne1("파란색"); ------------------------------------------------------------- 그런데 보시면 아시겠지만 출력값(빨간색, 파란색 라인)이 틀립니다 하나는 지표에서 출력 한 것이고(A지표) 다른 하나는 사용자 함수를 이용하여 다시 호출하여 출력한 것인데(B지표) 결과 값이 틀립니다.원인을 알수가 없네요. 원인 확인 부탁드립니다.