커뮤니티

질문드립니다.

프로필 이미지
샐리짱
2017-04-04 04:15:26
180
글번호 108450
답변완료
안녕하세요. 항상 수고가 많으십니다. 지난 번 질문에서 다음과 같은 답변을 받았습니다. => "참조데이터를&nbsp;이용한&nbsp;수식에서는 변수의&nbsp;이전값&nbsp;참조를&nbsp;할때&nbsp;어떤&nbsp;데이터의&nbsp;주기로&nbsp;이전값을&nbsp;가져올지&nbsp;정해야&nbsp;하므로 가급적&nbsp;내장변수가&nbsp;아닌&nbsp;직접&nbsp;변수를&nbsp;만들고 선언시에&nbsp;데이터번호를&nbsp;지정해서&nbsp;사용하셔야&nbsp;합니다." ---- 질문입니다 ------------------------------------------ 그렇다면, 아래와 같은 수식의 경우, var1과 var5를 어떻게 선언해야 되는지 궁금합니다. -------------------------------------------------------------------------------- var : 외국인콜옵션(0, data2); var : 개인콜옵션(0, data3); if DayIndex >= 0 and stime < 151500 Then { 외국인콜옵션 = data2(c); 개인콜옵션 = data3(c); var1 = (외국인콜옵션 + 개인콜옵션); <<== var1을 어떻게 직접변수로 해야 하는지요? 외국인선물은 data2이고 개인선물은 data3인데요, 그렇다고 var : var1(0, data2, data3) 이렇게 할 수는 없을 것 같은데요... var5 = ma(var1, 20); <<== 이 부분역시, var5를 어떻게 직접변수로 해야하는지요? if var1 > 0 and var5 > var5[1] Then // var5 상승시 매수 { buy("매수"); } if var1 < 0 and var5 < var5[1] Then // var5 하락시 매도 { sell("매도"); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-04-04 17:37:14

안녕하세요 예스스탁입니다. 변수는 하나의 데이터 주기로만 선언해 주셔야 합니다. var : var1(0,data2),var5(0,data2); 위와 같이 var1,var5이름 그대로 사용하면서 선언에 데이터번호 지정해 주셔도 됩니다. 아래식에서는 v1,v5로 새로운 이름을 사용했습니다. 1 여러개 데이터의 값을 합칠 경우에는 여러 데이터 중 특정하나를 골라 지정해 주시면 됩니다. data2를 기준으로 하면 아래와 같습니다. var : 외국인콜옵션(0, data2); var : 개인콜옵션(0, data3); var : V1(0,data2),v5(0,data2); if DayIndex >= 0 and stime < 151500 Then { 외국인콜옵션 = data2(c); 개인콜옵션 = data3(c); v1 = (외국인콜옵션 + 개인콜옵션); v5 = data2(ma(v1, 20)); if v1 > 0 and v5 > v5[1] Then // var5 상승시 매수 { buy("매수"); } if v1 < 0 and v5 < v5[1] Then // var5 하락시 매도 { sell("매도"); } } 2 신호는 모두 주종목 완성을 기준으로 신호가 발생합니다. 그러므로 여러개의 데이터를 합칠경우 data1기준으로 값을 저장해 사용하는 경우도 있습니다. 사용자분의 선택사항입니다. var : 외국인콜옵션(0, data2); var : 개인콜옵션(0, data3); var : V1(0,data1),v5(0,data1); if DayIndex >= 0 and stime < 151500 Then { 외국인콜옵션 = data2(c); 개인콜옵션 = data3(c); v1 = (외국인콜옵션 + 개인콜옵션); v5 = data1(ma(v1, 20)); if v1 > 0 and v5 > v5[1] Then // var5 상승시 매수 { buy("매수"); } if v1 < 0 and v5 < v5[1] Then // var5 하락시 매도 { sell("매도"); } } 즐거운 하루되세요 > 샐리짱 님이 쓴 글입니다. > 제목 : 질문드립니다. > 안녕하세요. 항상 수고가 많으십니다. 지난 번 질문에서 다음과 같은 답변을 받았습니다. => "참조데이터를&nbsp;이용한&nbsp;수식에서는 변수의&nbsp;이전값&nbsp;참조를&nbsp;할때&nbsp;어떤&nbsp;데이터의&nbsp;주기로&nbsp;이전값을&nbsp;가져올지&nbsp;정해야&nbsp;하므로 가급적&nbsp;내장변수가&nbsp;아닌&nbsp;직접&nbsp;변수를&nbsp;만들고 선언시에&nbsp;데이터번호를&nbsp;지정해서&nbsp;사용하셔야&nbsp;합니다." ---- 질문입니다 ------------------------------------------ 그렇다면, 아래와 같은 수식의 경우, var1과 var5를 어떻게 선언해야 되는지 궁금합니다. -------------------------------------------------------------------------------- var : 외국인콜옵션(0, data2); var : 개인콜옵션(0, data3); if DayIndex >= 0 and stime < 151500 Then { 외국인콜옵션 = data2(c); 개인콜옵션 = data3(c); var1 = (외국인콜옵션 + 개인콜옵션); <<== var1을 어떻게 직접변수로 해야 하는지요? 외국인선물은 data2이고 개인선물은 data3인데요, 그렇다고 var : var1(0, data2, data3) 이렇게 할 수는 없을 것 같은데요... var5 = ma(var1, 20); <<== 이 부분역시, var5를 어떻게 직접변수로 해야하는지요? if var1 > 0 and var5 > var5[1] Then // var5 상승시 매수 { buy("매수"); } if var1 < 0 and var5 < var5[1] Then // var5 하락시 매도 { sell("매도"); } }