커뮤니티

함수 작성 방법 검토 부탁드립니다.

프로필 이미지
개똥이
2017-05-31 00:29:08
2209
글번호 224178
답변완료
아래 예와 같이 전역변수 C2_f_rsi1, C2_f_rsi2, C2_f_rsi4에 차트에 적용된 indicator 값을 받아오는 코딩을 하려고 하는데요... case3는 잘동작하는데, 사용자정의 모듈 함수로 처리하고자 할 때 case1, case2 어떤 방식이 맞는 건가여? var C2_f_rsi1, C2_f_rsi2, C2_f_rsi4; function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID) { // case1 CollectIndicators_Test1(); Main.MessageList("test1", C2_f_rsi1.toFixed(2), C2_f_rsi2.toFixed(2), C2_f_rsi4.toFixed(2)); // case2 CollectIndicators_Test2(C2_f_rsi1, C2_f_rsi2, C2_f_rsi4); Main.MessageList("test2", C2_f_rsi1.toFixed(2), C2_f_rsi2.toFixed(2), C2_f_rsi4.toFixed(2)); // case3 C2_f_rsi1 = Chart_2min.GetIndicatorData("___000rsi_data1", 1, 0); C2_f_rsi2 = Chart_2min.GetIndicatorData("___000rsi_data1", 2, 0); C2_f_rsi4 = Chart_2min.GetIndicatorData("___000rsi_data1", 3, 0); Main.MessageList("test3", C2_f_rsi1.toFixed(2), C2_f_rsi2.toFixed(2), C2_f_rsi4.toFixed(2)); } CollectIndicators_Test1() { C2_f_rsi1 = Chart_2min.GetIndicatorData("___000rsi_data1", 1, 0); C2_f_rsi2 = Chart_2min.GetIndicatorData("___000rsi_data1", 2, 0); C2_f_rsi4 = Chart_2min.GetIndicatorData("___000rsi_data1", 3, 0); } CollectIndicators_Test2(_C2_f_rsi1, _C2_f_rsi2, _C2_f_rsi4) { _C2_f_rsi1 = Chart_2min.GetIndicatorData("___000rsi_data1", 1, 0); _C2_f_rsi2 = Chart_2min.GetIndicatorData("___000rsi_data1", 2, 0); _C2_f_rsi4 = Chart_2min.GetIndicatorData("___000rsi_data1", 3, 0); }
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-06-14 16:15:57

안녕하세요 예스스탁입니다. case1과 case2는 매개변수 지정여부의 차이입니다. 함수의 매개변수로 투입해야 하는 값이 있으면 case2가 맞지만 올리신 내용에서는 따로 지정할 부분이 없으므로 case1로 처리하시면 맞습니다. 즐거운 하루되세요 > 개똥이 님이 쓴 글입니다. > 제목 : 함수 작성 방법 검토 부탁드립니다. > 아래 예와 같이 전역변수 C2_f_rsi1, C2_f_rsi2, C2_f_rsi4에 차트에 적용된 indicator 값을 받아오는 코딩을 하려고 하는데요... case3는 잘동작하는데, 사용자정의 모듈 함수로 처리하고자 할 때 case1, case2 어떤 방식이 맞는 건가여? var C2_f_rsi1, C2_f_rsi2, C2_f_rsi4; function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID) { // case1 CollectIndicators_Test1(); Main.MessageList("test1", C2_f_rsi1.toFixed(2), C2_f_rsi2.toFixed(2), C2_f_rsi4.toFixed(2)); // case2 CollectIndicators_Test2(C2_f_rsi1, C2_f_rsi2, C2_f_rsi4); Main.MessageList("test2", C2_f_rsi1.toFixed(2), C2_f_rsi2.toFixed(2), C2_f_rsi4.toFixed(2)); // case3 C2_f_rsi1 = Chart_2min.GetIndicatorData("___000rsi_data1", 1, 0); C2_f_rsi2 = Chart_2min.GetIndicatorData("___000rsi_data1", 2, 0); C2_f_rsi4 = Chart_2min.GetIndicatorData("___000rsi_data1", 3, 0); Main.MessageList("test3", C2_f_rsi1.toFixed(2), C2_f_rsi2.toFixed(2), C2_f_rsi4.toFixed(2)); } CollectIndicators_Test1() { C2_f_rsi1 = Chart_2min.GetIndicatorData("___000rsi_data1", 1, 0); C2_f_rsi2 = Chart_2min.GetIndicatorData("___000rsi_data1", 2, 0); C2_f_rsi4 = Chart_2min.GetIndicatorData("___000rsi_data1", 3, 0); } CollectIndicators_Test2(_C2_f_rsi1, _C2_f_rsi2, _C2_f_rsi4) { _C2_f_rsi1 = Chart_2min.GetIndicatorData("___000rsi_data1", 1, 0); _C2_f_rsi2 = Chart_2min.GetIndicatorData("___000rsi_data1", 2, 0); _C2_f_rsi4 = Chart_2min.GetIndicatorData("___000rsi_data1", 3, 0); }