커뮤니티

행복; 수식 작성 바랍니다

프로필 이미지
행복한가방
2014-01-20 11:54:32
211
글번호 71583
답변완료
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다 시스템식 작성 바랍니다 주기; 틱봉 대상; 지수선물 < 진입 조건 > - 보유잔고가 없는 상태에서 - 시초가를 기준으로 (예를 들면, 시초가가 270.00 일 때) - 현재가가 시초가 대비 2호가 상승하면(270.10) 시장가에 2계약 매수하고 - 보유잔고가 2계약 있는 상태에서 현재가가 2호가 상승하면(270.20) 시장가에 2계약 추가 매수하여 잔고를 4계약으로 하고 < 청산 조건 > - 보유잔고가 2계약 있는 상태에서 현재가가 2호가 하락하면(270.00) 시장가에 2계약 청산하여 잔고를 0계약으로 한다 - setstopendofday(140000) 의 시스템식을 < 아래 >와 같이 작성하였는데 에러가 발생합니다. - 주기가 1틱 인 - 연결선물지수의 시스템 성능보고서에서 확인한 에러는, - 2014년 1월 17일에 맨처음 진입이 - " dayopen+PriceScale*2 " 인 256.45 에서 발생해야 하는데 - " dayopen " 인 256.35 에서 발생합니다 수식을 바로잡아 주시기 바랍니다 =======================< 아래 >============================== IF MarketPosition == 0 Then buy("b0",AtStop,dayopen+PriceScale*2,2); if MarketPosition == 1 Then { if CurrentContracts == 2 Then { buy("b2",AtStop,EntryPrice+(PriceScale*2),2); ExitLong("el2",AtStop,EntryPrice-(PriceScale*2),"",2,1); } } SetStopEndOfDay(140000) ====================================================== 글구, 청산함수 관련 도움말은 홈페이지에서 어디를 찾아가야 하는지요? 수고하십시요^^
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-01-20 18:11:52

안녕하세요 예스스탁입니다. 전일마지막봉에 걸려 당일 첫틱에 신호가 나오기 때문입니다. 아래와 같이 마지막봉에 if조건이 만족하지 않게 시간으로 제어하셔야 합니다. IF MarketPosition == 0 and stime < 140000 Then buy("b0",AtStop,dayopen+PriceScale*2,2); if MarketPosition == 1 Then { if CurrentContracts == 2 Then { buy("b2",AtStop,EntryPrice+(PriceScale*2),2); ExitLong("el2",AtStop,EntryPrice-(PriceScale*2),"",2,1); } } SetStopEndOfDay(140000); 즐거운 하루되세요 > 행복한가방 님이 쓴 글입니다. > 제목 : 행복; 수식 작성 바랍니다 > 한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다 시스템식 작성 바랍니다 주기; 틱봉 대상; 지수선물 < 진입 조건 > - 보유잔고가 없는 상태에서 - 시초가를 기준으로 (예를 들면, 시초가가 270.00 일 때) - 현재가가 시초가 대비 2호가 상승하면(270.10) 시장가에 2계약 매수하고 - 보유잔고가 2계약 있는 상태에서 현재가가 2호가 상승하면(270.20) 시장가에 2계약 추가 매수하여 잔고를 4계약으로 하고 < 청산 조건 > - 보유잔고가 2계약 있는 상태에서 현재가가 2호가 하락하면(270.00) 시장가에 2계약 청산하여 잔고를 0계약으로 한다 - setstopendofday(140000) 의 시스템식을 < 아래 >와 같이 작성하였는데 에러가 발생합니다. - 주기가 1틱 인 - 연결선물지수의 시스템 성능보고서에서 확인한 에러는, - 2014년 1월 17일에 맨처음 진입이 - " dayopen+PriceScale*2 " 인 256.45 에서 발생해야 하는데 - " dayopen " 인 256.35 에서 발생합니다 수식을 바로잡아 주시기 바랍니다 =======================< 아래 >============================== IF MarketPosition == 0 Then buy("b0",AtStop,dayopen+PriceScale*2,2); if MarketPosition == 1 Then { if CurrentContracts == 2 Then { buy("b2",AtStop,EntryPrice+(PriceScale*2),2); ExitLong("el2",AtStop,EntryPrice-(PriceScale*2),"",2,1); } } SetStopEndOfDay(140000) ====================================================== 글구, 청산함수 관련 도움말은 홈페이지에서 어디를 찾아가야 하는지요? 수고하십시요^^