커뮤니티

수식 수정 좀 부탁드려요

프로필 이미지
qha71
2016-08-18 06:39:00
122
글번호 101124
답변완료
수식 위에서 아래로 3번째 줄이 아래와 같이 멘트가 뜨네요 1열 멘트는 "문법에러, 잘못된 토큰: name, 올 수 있는것; 9열 예약어 "Data2"는 입력 변수나 변수, 배열, 함수로 선언 할 수 없습니다. 라고 멘트가 뜨네요 참고로 data2는 달러 인덱스 입니다. 그래서 또 검증에 실패 했어요! 왜 이러는 걸까요???? Input : period(12), period1(2), atrperiod(10), atrs1(6); var : Value(0) Value = Data2(StochasticsK(period, period1)); # 매수/매도 청산 If CrossUp(value, 20) Then // DX의 스토캐스틱 K가 20선을 상향 돌파하면 { buy("매수"); } If MarketPosition == 1 Then // 매수포지션 상태에서 { ExitLong("매수청산", AtStop, Highest(H, BarsSinceEntry)-atr(atrperiod)*atrs1); } # 매도/매수 청산 If CrossDown(value, 80) Then // DX의 스토캐스틱 K가 80선을 하향 돌파하면 { sell("매도"); } If MarketPosition == -1 Then // 매도포지션 상태에서 { ExitShort("매도청산", AtStop, Lowest(L, BarsSinceEntry)+atr(atrperiod)*atrs1); } SetStopLoss (3,Pointstop); //3포인트 손절
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-08-18 11:13:50

안녕하세요 예스스탁입니다. var : Value(0) 변수선언뒤에 ;이 빠져있었습니다. 아래는 수정한 식입니다. 변수선언시 참조데이터의 값을 할당받는 변수는 선언시 데이터번호를 같이 지정해야 해당 봉 주기로 조건을 판단하게 됩니다. 또한 청산식의 Highest(H, BarsSinceEntry)-atr(atrperiod)*atrs1 와 같은 내용도 data1로 묶어주셔야 해당 함수들의 data1을 기준으로 봉수를 체크해 값을 계산합니다. 이용에 참고하시기 바랍니다. Input : period(12), period1(2), atrperiod(10), atrs1(6); var : Value(0,data2); Value = Data2(StochasticsK(period, period1)); # 매수/매도 청산 If CrossUp(value, 20) Then // DX의 스토캐스틱 K가 20선을 상향 돌파하면 { buy("매수"); } If MarketPosition == 1 Then // 매수포지션 상태에서 { ExitLong("매수청산", AtStop, data1(Highest(H, BarsSinceEntry)-atr(atrperiod)*atrs1)); } # 매도/매수 청산 If CrossDown(value, 80) Then // DX의 스토캐스틱 K가 80선을 하향 돌파하면 { sell("매도"); } If MarketPosition == -1 Then // 매도포지션 상태에서 { ExitShort("매도청산", AtStop, data1(Lowest(L, BarsSinceEntry)+atr(atrperiod)*atrs1)); } SetStopLoss (3,Pointstop); //3포인트 손절 즐거운 하루되세요 > qha71 님이 쓴 글입니다. > 제목 : 수식 수정 좀 부탁드려요 > 수식 위에서 아래로 3번째 줄이 아래와 같이 멘트가 뜨네요 1열 멘트는 "문법에러, 잘못된 토큰: name, 올 수 있는것; 9열 예약어 "Data2"는 입력 변수나 변수, 배열, 함수로 선언 할 수 없습니다. 라고 멘트가 뜨네요 참고로 data2는 달러 인덱스 입니다. 그래서 또 검증에 실패 했어요! 왜 이러는 걸까요???? Input : period(12), period1(2), atrperiod(10), atrs1(6); var : Value(0) Value = Data2(StochasticsK(period, period1)); # 매수/매도 청산 If CrossUp(value, 20) Then // DX의 스토캐스틱 K가 20선을 상향 돌파하면 { buy("매수"); } If MarketPosition == 1 Then // 매수포지션 상태에서 { ExitLong("매수청산", AtStop, Highest(H, BarsSinceEntry)-atr(atrperiod)*atrs1); } # 매도/매수 청산 If CrossDown(value, 80) Then // DX의 스토캐스틱 K가 80선을 하향 돌파하면 { sell("매도"); } If MarketPosition == -1 Then // 매도포지션 상태에서 { ExitShort("매도청산", AtStop, Lowest(L, BarsSinceEntry)+atr(atrperiod)*atrs1); } SetStopLoss (3,Pointstop); //3포인트 손절