커뮤니티

수식 추가문의 드립니다. ^^

프로필 이미지
jarlye
2013-08-08 15:14:39
171
글번호 66239
답변완료
질문 1. 아래 수식은 오른쪽 제가 적은 내용이 맞나요~? if MarketPosition <= 0 and stime < 150000 Then = (9시 시작해서 15시까지) Sell("s",atlimit,dayopen+300,10); (시가보다 300 비싸면 판다) if MarketPosition >= 0 and stime < 150000 Then (9시 시작해서 15시까지) buy("b",atlimit,dayopen-300,10); (시가보다 300 낮으면 산다) dayopen+300 이라고 되어 있는데요. 만약 10,000원에 시작하여 현재가가 10,300원이 되면 매도 주문이 나가나요? 아니면 10,400원이 되어야 매도 주문이 나가나요? 2. 잔고의 수량은 알 수 없으므로 잔고의 일정 퍼센테이지를 청산 하는 건가요? if MarketPosition == 1 Then{ 위의 1이라는게 매수포지션을 보유중이라는 뜻인가요?? if stime == 145900 Then exitlong("bx1",AtMarket,def,"",int(MaxContracts*0.2),1); BX1은 무슨뜻인가요~? ^^; 위의 제일마지막 1은 무슨뜻인가요~? MaxContracts*0.2 는 잔고의 20%를 청산한다는 뜻이죠? 그럼 잔고가 4개라고 하면 20% 인 0.8개가 아니라 올림하여 1개가 청산이 되나요? if stime == 150200 Then exitlong("bx5",AtMarket); } 위의 수식은 잔고를 시장가에 전량 청산 한다는 뜻인가요~? if MarketPosition == -1 Then{ 위의 -1은 매도 포지션을 보유중인 경우라는 뜻인가요? if stime == 145900 Then ExitShort("sx1",AtMarket,def,"",int(MaxContracts*0.2),1); if stime == 150200 Then ExitShort("sx5",AtMarket); } 위의 수식 설명 좀 부탁드릴께요 ^^;; > jarlye 님이 쓴 글입니다. > 제목 : 수식 질문이요 ^^ > 선물, 옵션, 주식선물을 주로 매매 할꺼라서 양방향 매매를 하려고 합니다. 1. A라는 종목의 시가보다 300원 상승시 10계약 매도(시장가) A라는 종목의 시가보다 300원 하락시 10계약 매수(시장가) (300원 상승했다가 300원 하락하면 600원씩 10계약 6,000원 수익 보는 포지션입니다.) 2. A라는 종목의 시가보다 500원 상승시 10계약 매도 (시장가) A라는 종목의 시가보다 500원 하락시 10계약 매수 (시장가) (500원 상승했다가 500원 하락하면 1000원씩 10계약 10,000원 수익 보는 포지션입니다.) 3. 3시까지 체결되지 않은 시스템은 전부 취소함. 3시 정각에 내가 가진 A라는 종목의 잔고중 20% 청산 (시장가) 3시 1분에 내가 가진 A라는 종목의 잔고중 나머지 20% 청산 (시장가) 3시 2분에 내가 가진 A라는 종목의 잔고중 나머지 20% 청산 (시장가) 3시 3분에 내가 가진 A라는 종목의 잔고중 나머지 20% 청산 (시장가) 3시 4분에 내가 가진 A라는 종목의 잔고 전량 청산 (시장가) 혹시 이런 수식이 가능한가요~? 가능하다면 작성 좀 부탁드려요 ^^ 그리고 궁금한점 한가지는 이 시스템을 여러종목에 적용하는게 가능한가요~?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-08-08 17:02:40

안녕하세요 예스스탁입니다. 1 if MarketPosition <= 0 and stime < 150000 Then = (9시 시작해서 15시까지) Sell("s",atlimit,dayopen+300,10); (시가보다 300 비싸면 판다) if MarketPosition >= 0 and stime < 150000 Then (9시 시작해서 15시까지) buy("b",atlimit,dayopen-300,10); (시가보다 300 낮으면 산다) 예 맞습니다. 당일 시가가 10000원이면 13000이 되면 매도신호와 함께 주문이 나가게 됩니다. 지정한 가격 이상의 시세가 발생하면 매도되고 지정한 가격 이하의 시세가 발생하면 매수됩니다. 2. 아닙니다. 신호상 진입된 수량입니다. 수식에서 사용되는 모든 포지션관련 함수들은 차트상의 내용입니다. 잔고의 수량이 아닙니다. 즉 앞의 매수진입신호에서 진입된 수량입니다. MarketPosition은 차트상 포지션의 상태입니다. 매수진입이 발생해서 청산전이면 1, 매도진입이 발생해서 청산전이면 -1입니다. 차트상 무포지션인 봉은 0입니다. 수식에서는 주문가격을 입력하는 부분이 없습니다. 실제 주문가격은 시스템 트레이딩 설정창의 매매탭에서 진입/청산가격으로 지정한 가격으로 주문이 됩니다. 즉 시스템의 수식은 신호가 발생하는 조건만 지정이 되고 조건이 만족해 신호가 발생하면 설정창의 설정으로 주문이 나가게 됩니다. 주문함수의 bx1등은 이름입니다. 작성자가 임의로 붙인 이름일 뿐입니다. 아래식은 1분봉이 기준이 된 식입니다. 1분단위로 조건을 지정하려면 1분차트에 적용되어야 합니다. 매수청산쪽만 주석을 추가해 드립니다. #차트상 매수포지션 상태이면 if MarketPosition == 1 Then{ #14시49분봉 완성시에 전체 진입수량의 20% 청산 if stime == 145900 Then exitlong("bx1",AtMarket,def,"",int(MaxContracts*0.2),1); #15시00분봉 완성시에 전체 진입수량의 20% 청산 if stime == 150000 Then exitlong("bx2",AtMarket,def,"",int(MaxContracts*0.2),1); #15시01분봉 완성시에 전체 진입수량의 20% 청산 if stime == 150100 Then exitlong("bx3",AtMarket,def,"",int(MaxContracts*0.2),1); #15시02분봉 완성시에 전체 진입수량의 20% 청산 if stime == 150200 Then exitlong("bx4",AtMarket,def,"",int(MaxContracts*0.2),1); #15시03분봉 완성시에 전체 진입수량의 20% 청산 if stime == 150300 Then exitlong("bx5",AtMarket); } if MarketPosition == -1 Then{ if stime == 145900 Then ExitShort("sx1",AtMarket,def,"",int(MaxContracts*0.2),1); if stime == 150000 Then ExitShort("sx2",AtMarket,def,"",int(MaxContracts*0.2),1); if stime == 150100 Then ExitShort("sx3",AtMarket,def,"",int(MaxContracts*0.2),1); if stime == 150200 Then ExitShort("sx4",AtMarket,def,"",int(MaxContracts*0.2),1); if stime == 150200 Then ExitShort("sx5",AtMarket); } 수식에서 if문은 봉완성시가 기준입니다. 봉완성시는 다음봉 시가가 수신될때입니다. 즉 if stime == 145900 Then라는 조건은 14시59분봉이 완성이 되면 (15시봉 시가가 수신되면) 이라는 조건식입니다. 주문함수의 atmarket은 시장가가 아닌 봉완성시 if조건이 만족하면 다음봉 시가에 신호표시를 한다라는 신호타입니다. 아래 페이지에 가시면 예스랭귀지 도움말이 있습니다. 다운받으셔서 랭귀지 도움말에서 주문함수등 참고하시기 바랍니다. https://www.yesstock.com/Product/pd_yestrader.asp 즐거운 하루되세요 > jarlye 님이 쓴 글입니다. > 제목 : 수식 추가문의 드립니다. ^^ > 질문 1. 아래 수식은 오른쪽 제가 적은 내용이 맞나요~? if MarketPosition <= 0 and stime < 150000 Then = (9시 시작해서 15시까지) Sell("s",atlimit,dayopen+300,10); (시가보다 300 비싸면 판다) if MarketPosition >= 0 and stime < 150000 Then (9시 시작해서 15시까지) buy("b",atlimit,dayopen-300,10); (시가보다 300 낮으면 산다) dayopen+300 이라고 되어 있는데요. 만약 10,000원에 시작하여 현재가가 10,300원이 되면 매도 주문이 나가나요? 아니면 10,400원이 되어야 매도 주문이 나가나요? 2. 잔고의 수량은 알 수 없으므로 잔고의 일정 퍼센테이지를 청산 하는 건가요? if MarketPosition == 1 Then{ 위의 1이라는게 매수포지션을 보유중이라는 뜻인가요?? if stime == 145900 Then exitlong("bx1",AtMarket,def,"",int(MaxContracts*0.2),1); BX1은 무슨뜻인가요~? ^^; 위의 제일마지막 1은 무슨뜻인가요~? MaxContracts*0.2 는 잔고의 20%를 청산한다는 뜻이죠? 그럼 잔고가 4개라고 하면 20% 인 0.8개가 아니라 올림하여 1개가 청산이 되나요? if stime == 150200 Then exitlong("bx5",AtMarket); } 위의 수식은 잔고를 시장가에 전량 청산 한다는 뜻인가요~? if MarketPosition == -1 Then{ 위의 -1은 매도 포지션을 보유중인 경우라는 뜻인가요? if stime == 145900 Then ExitShort("sx1",AtMarket,def,"",int(MaxContracts*0.2),1); if stime == 150200 Then ExitShort("sx5",AtMarket); } 위의 수식 설명 좀 부탁드릴께요 ^^;; > jarlye 님이 쓴 글입니다. > 제목 : 수식 질문이요 ^^ > 선물, 옵션, 주식선물을 주로 매매 할꺼라서 양방향 매매를 하려고 합니다. 1. A라는 종목의 시가보다 300원 상승시 10계약 매도(시장가) A라는 종목의 시가보다 300원 하락시 10계약 매수(시장가) (300원 상승했다가 300원 하락하면 600원씩 10계약 6,000원 수익 보는 포지션입니다.) 2. A라는 종목의 시가보다 500원 상승시 10계약 매도 (시장가) A라는 종목의 시가보다 500원 하락시 10계약 매수 (시장가) (500원 상승했다가 500원 하락하면 1000원씩 10계약 10,000원 수익 보는 포지션입니다.) 3. 3시까지 체결되지 않은 시스템은 전부 취소함. 3시 정각에 내가 가진 A라는 종목의 잔고중 20% 청산 (시장가) 3시 1분에 내가 가진 A라는 종목의 잔고중 나머지 20% 청산 (시장가) 3시 2분에 내가 가진 A라는 종목의 잔고중 나머지 20% 청산 (시장가) 3시 3분에 내가 가진 A라는 종목의 잔고중 나머지 20% 청산 (시장가) 3시 4분에 내가 가진 A라는 종목의 잔고 전량 청산 (시장가) 혹시 이런 수식이 가능한가요~? 가능하다면 작성 좀 부탁드려요 ^^ 그리고 궁금한점 한가지는 이 시스템을 여러종목에 적용하는게 가능한가요~?