커뮤니티

간단한 질문.

프로필 이미지
sjpapa
2011-10-17 22:44:39
504
글번호 43784
답변완료
1) 직전거래수익이 x 이상이면 , 다음 진입 신호 무시.(1회 무시) 직전거래수익이 x 이상이면, 다음 그리고 다음 신호무시.(2회연속 무시) 연속수익거래횟수가 x이상이면 , 다음 진입 신호 무시. 연속수익거래횟수가 x이상이면 , 다음 그리고 다음 신호무시.(2회연속 무시) 직전거래손실이 x 이상이면 , 다음 진입 신호 무시.(1회 무시) 직전거래손실이 x 이상이면, 다음 그리고 다음 신호무시.(2회연속 무시) 연속손실거래횟수가 x이상이면 , 다음 진입 신호 무시. 연속손실거래횟수가 x이상이면 , 다음 그리고 다음 신호무시.(2회연속 무시) 조건 cross(a,b)를 조건으로 예로부탁드립니다. 2) 피라미딩 허용후 현재 포지션 2계약인 상태에서 2회 분할로 청산하고 싶은데요. 진입조건1 cross(a,b) 진입2 cross(b,c) 청산1 crossdown(a,b) 청산2 crossdown(b,c) 3) 짧은 주기 주종목과 긴 주기의 참조종목을 띄운후 참조종목으로 신호를 줍니다. 이후 포지션을 가지고 있는 상태에서 주종목 건수가 5000을 넘겨 신호 주는 봉이 뒤로 밀려 없어지면 이 신호가 살아 있는건가요? 없어지는건가요? 4) 시스템에서 5000개까지 건수가 지원되는 걸로 아는데요. 지나가버린 과거 profit 값들을 불러오려면 어떻게 해야 하나요? 변수에서 저장해주면 될까요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-10-18 09:09:47

안녕하세요 예스스탁입니다. 1. 문의하신 내용이 전략 내용에 따라 많이 다른내용이라 예문으로 적절하게 답변드리기 어렵습니다. 아래식 참고하시기 바랍니다. value1 = 0; value2 = 0; for var1 = 10 downto 1{ #연속수익거래 횟수 if PositionProfit(var1) > 0 Then value1 = value1+1; Else value1 = 0; #연속손실거래 횟수 if PositionProfit(var1) < 0 Then value2 = value2+1; Else value2 = 0; } #직전거래수익이 x 이상이면 , 다음 진입 신호 무시.(1회 무시) if MarketPosition == 0 and PositionProfit(1) >= X and countif(CrossUp(a,b),BarsSinceExit(1)) == 2 Then buy(); #직전거래수익이 x 이상이면, 다음 그리고 다음 신호무시.(2회연속 무시) if MarketPosition == 0 and PositionProfit(1) >= X and countif(CrossUp(a,b),BarsSinceExit(1)) == 3 Then buy(); #연속수익거래횟수가 x이상이면 , 다음 진입 신호 무시. if MarketPosition == 0 and value1 >= X and countif(CrossUp(a,b),BarsSinceExit(1)) == 2 Then buy(); #연속수익거래횟수가 x이상이면 , 다음 그리고 다음 신호무시.(2회연속 무시) if MarketPosition == 0 and value1 >= X and countif(CrossUp(a,b),BarsSinceExit(1)) == 3 Then buy(); #직전거래손실이 x 이상이면 , 다음 진입 신호 무시.(1회 무시) if MarketPosition == 0 and PositionProfit(1) < -X and countif(CrossUp(a,b),BarsSinceExit(1)) == 2 Then buy(); #직전거래손실이 x 이상이면, 다음 그리고 다음 신호무시.(2회연속 무시) if MarketPosition == 0 and PositionProfit(1) >= -X and countif(CrossUp(a,b),BarsSinceExit(1)) == 3 Then buy(); #연속손실거래횟수가 x이상이면 , 다음 진입 신호 무시. if MarketPosition == 0 and value2 >= X and countif(CrossUp(a,b),BarsSinceExit(1)) == 2 Then buy(); #연속손실거래횟수가 x이상이면 , 다음 그리고 다음 신호무시.(2회연속 무시) if MarketPosition == 0 and value2 >= X and countif(CrossUp(a,b),BarsSinceExit(1)) == 3 Then buy(); 2. if crossup(a,b) Then buy("b1",OnClose,def,1); if crossup(a,b) Then buy("b2",OnClose,def,1); if MaxContracts == 2 Then{ if crossdown(a,b) Then exitlong("bx1",OnClose,def,"b1",1,1); if crossdown(b,c) Then ExitLong("bx2",OnClose,def,"b2",1,1); } 3.4 차트의 5000개의 봉조회설정은 최초 차트를 생성할때 조회건수입니다. 이후에 발생하는 봉은 계속 추가가 되며 봉이 추가로 발생할때 앞쪽의 봉이 없어지지 않습니다. 그러므로 차트를 제조회하지만 않는다면 계속 봉이 누적이 되고 이전봉이 사라지지는 않습니다. 다만 재조회했을시는 현재로부터 다시 5000개봉만 불러오게 되므로 직전조회시점에서 추가로 생긴봉 만큼 차트 앞쪽에 봉이 사라지고 사라진(현재없는) 봉의 내용은 가져올 방법이 없습니다. 즐거운 하루되세요 > 휴식 님이 쓴 글입니다. > 제목 : 간단한 질문. > 1) 직전거래수익이 x 이상이면 , 다음 진입 신호 무시.(1회 무시) 직전거래수익이 x 이상이면, 다음 그리고 다음 신호무시.(2회연속 무시) 연속수익거래횟수가 x이상이면 , 다음 진입 신호 무시. 연속수익거래횟수가 x이상이면 , 다음 그리고 다음 신호무시.(2회연속 무시) 직전거래손실이 x 이상이면 , 다음 진입 신호 무시.(1회 무시) 직전거래손실이 x 이상이면, 다음 그리고 다음 신호무시.(2회연속 무시) 연속손실거래횟수가 x이상이면 , 다음 진입 신호 무시. 연속손실거래횟수가 x이상이면 , 다음 그리고 다음 신호무시.(2회연속 무시) 조건 cross(a,b)를 조건으로 예로부탁드립니다. 2) 피라미딩 허용후 현재 포지션 2계약인 상태에서 2회 분할로 청산하고 싶은데요. 진입조건1 cross(a,b) 진입2 cross(b,c) 청산1 crossdown(a,b) 청산2 crossdown(b,c) 3) 짧은 주기 주종목과 긴 주기의 참조종목을 띄운후 참조종목으로 신호를 줍니다. 이후 포지션을 가지고 있는 상태에서 주종목 건수가 5000을 넘겨 신호 주는 봉이 뒤로 밀려 없어지면 이 신호가 살아 있는건가요? 없어지는건가요? 4) 시스템에서 5000개까지 건수가 지원되는 걸로 아는데요. 지나가버린 과거 profit 값들을 불러오려면 어떻게 해야 하나요? 변수에서 저장해주면 될까요?