커뮤니티

수식 수정 부탁드립니다.

프로필 이미지
은색
2013-12-27 21:42:21
160
글번호 70872
답변완료
아래 <수식>은 33911번과 관련하여 작성해주신 수식입니다. 수식을 적용해보니 52번째 줄, 65열 수 에서 "주문 수량 옵션은 '0'과 '1'만이 가능하다는 오류 메세지가 뜹니다. 52번째 줄은 다음 내용 입니다. ExitLong("bx",OnClose,def,"",max(xvol1,xvol2),2); 수식 수정 부탁 드립니다. 그리고 조건 설정에서 피라미딩 진입 허용, 모든 신호 진입이 맞는지도 확인 부탁드립니다. 감사합니다. <수식> input : 투입금액(1000000),UpdnPer(1); var : vol(0),vol1(0),Xvol1(0),Xvol2(0); if CodeCategory == 1 Then{ if BasePrice < 50000 Then vol = int(int(투입금액/C)/10)*10; Else vol = int(투입금액/C); } if CodeCategory == 2 Then vol = int(투입금액/C); if stime == 90000 Then var1 = C; if stime >= 090000 and stime < 150000 Then{ if MarketPosition == 0 and C <= var1*(1-(UpdnPer/100)) Then{ buy("b",OnClose,def,vol); var1 = C; } if MarketPosition == 1 Then{ if MarketPosition != 0 Then{ Vol1 = CurrentContracts; if CodeCategory == 1 Then{ if BasePrice < 50000 Then xvol1 = int(int(Vol1*0.05)/10)*10; Else xvol1 = int(Vol1*0.05); } if CodeCategory == 2 Then xvol1 = int(Vol1*0.05); } if CodeCategory == 1 Then{ if BasePrice < 50000 Then xvol2 = int(int(CurrentContracts*0.05)/10)*10; Else xvol2 = int(CurrentContracts*0.05); } if CodeCategory == 2 Then xvol2 = int(CurrentContracts*0.05); if C <= var1*(1-(UpdnPer/100)) Then{ buy("bb",OnClose,def,vol1); var1 = C; } if C >= var1*(1+(UpdnPer/100)) Then{ ExitLong("bx",OnClose,def,"",max(xvol1,Xvol2),2); var1 = C; } } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-12-30 10:57:45

안녕하세요 예스스탁입니다. 해당식은 오류가 없습니다. 검증에 이상이 없고 신호도 정상적으로 발생합니다. 피라미딩은 사용자분이 선택하시면 됩니다. 매수조건이 만족하면 청산만족전까지 계속 매수할 의도이시면 피라미딩은 모든진입신호 허용으로 설정하시면 됩니다. 매수를 누적하지 않을때는 피라미딩은 허용안함으로 설정하시면 됩니다. 즐거운 하루되세요 > 은색 님이 쓴 글입니다. > 제목 : 수식 수정 부탁드립니다. > 아래 <수식>은 33911번과 관련하여 작성해주신 수식입니다. 수식을 적용해보니 52번째 줄, 65열 수 에서 "주문 수량 옵션은 '0'과 '1'만이 가능하다는 오류 메세지가 뜹니다. 52번째 줄은 다음 내용 입니다. ExitLong("bx",OnClose,def,"",max(xvol1,xvol2),2); 수식 수정 부탁 드립니다. 그리고 조건 설정에서 피라미딩 진입 허용, 모든 신호 진입이 맞는지도 확인 부탁드립니다. 감사합니다. <수식> input : 투입금액(1000000),UpdnPer(1); var : vol(0),vol1(0),Xvol1(0),Xvol2(0); if CodeCategory == 1 Then{ if BasePrice < 50000 Then vol = int(int(투입금액/C)/10)*10; Else vol = int(투입금액/C); } if CodeCategory == 2 Then vol = int(투입금액/C); if stime == 90000 Then var1 = C; if stime >= 090000 and stime < 150000 Then{ if MarketPosition == 0 and C <= var1*(1-(UpdnPer/100)) Then{ buy("b",OnClose,def,vol); var1 = C; } if MarketPosition == 1 Then{ if MarketPosition != 0 Then{ Vol1 = CurrentContracts; if CodeCategory == 1 Then{ if BasePrice < 50000 Then xvol1 = int(int(Vol1*0.05)/10)*10; Else xvol1 = int(Vol1*0.05); } if CodeCategory == 2 Then xvol1 = int(Vol1*0.05); } if CodeCategory == 1 Then{ if BasePrice < 50000 Then xvol2 = int(int(CurrentContracts*0.05)/10)*10; Else xvol2 = int(CurrentContracts*0.05); } if CodeCategory == 2 Then xvol2 = int(CurrentContracts*0.05); if C <= var1*(1-(UpdnPer/100)) Then{ buy("bb",OnClose,def,vol1); var1 = C; } if C >= var1*(1+(UpdnPer/100)) Then{ ExitLong("bx",OnClose,def,"",max(xvol1,Xvol2),2); var1 = C; } } }