커뮤니티

수식 질문입니다.

프로필 이미지
도레미트리오
2007-07-06 18:57:11
1342
글번호 12975
답변완료
1. input : P(5); var : cnt(0),sumv(0),mav(0); sumv = 0; for cnt = 0 to P-1 { sumv = sumv +dayclose(cnt); } mav = sumv/P; if crossuo(c,mav) then buy(); if crossdown(c,mav) then exitlong(); 위 내용은 일봉상 5일선 돌파시 분봉에서 매수/청산 할 수 있는 식입니다. 연결선물지수에서 이 신호가 나면 옵션을 매수하고 싶은데 예스트레이더에 타종목으로 신호를 바로 주는 기능이 없어서 타종목 참조 기능을 써보려고 합니다. 그러면 여기 나와있는 변수 C, mav, sumv에 data1("")을 달아주면 되는 것입니까 제 생각에는 안 될 것 같습니다. 그러면 다른 방법이나 수식은 없는 겁니까.dayclose만 해결되면 되는 것 같은데요. 혹시 3.1버전에는 가능한지? 2. 매수 청산과 매도를 동시에 하는 시스템의 경우 먼저 청산을 하고 매도를 나중에 한다...즉 매매 순서를 정할 수 있는 수식이 있습니까. 부탁드립니다. 3. 실제 매매는 다음봉의 시가에 이루어지는 거 맞나요?^^; 그리고 무조건 체결을 보장하는 방법은 무조건 매수가격을 높이면 되는거죠? 4. 시스템 매매를 할 때 장 시작전 컴퓨터를 켜고 예스에 접속한 후 장 종료하고 나서 예스 로그아웃 한 후 컴퓨터를 끄면 매매에는 지장 없습니까?? 또는 월요일 장 시작 전 로그인해서 금요일 장 종료까지 계속 접속해 있으면 시스템 매매가 이루어지나요? 답변 부탁 드릴께요^^;
시스템
답변 4
프로필 이미지

예스스탁 예스스탁 답변

2007-07-09 09:21:20

안녕하세요 예스스탁입니다. 1. 첫번째 참조종목이 예스트레이더 3에서는 data1이며 예스트레이더 3.1에서는 data2입니다. input : P(5); var : cnt(0),sumv(0),cnt1(0),mav(0); array : TDC[5](0); if date != date[1] then{ for cnt = 1 to 4{ TDC[cnt] = TDC[cnt-1][1]; } } TDC[0] = data1("C"); ##3.1사용시 data1 --> data2 sumv = 0; for cnt1 = 0 to P-1 { sumv = sumv +TDC[cnt1]; } mav = sumv/P; if CrossUp(c,mav) then buy(); if crossdown(c,mav) then exitlong(); 2. 동시에 발생하는 신호를 분리할수 없습니다. 3. 실제 주문이 나가는 시점은 다음봉 첫틱이 들어올 때입니다. 물론 매수가격을 높이면 체결확률이 높아집니다.시스템 트레이딩 설정창에서 매매가격을 적절히 조절하셔서 체결율을 확보하시기 바랍니다. 4. 장 시작전 접속하신 후 시스템을 적용하신 후 장 종료 후 예스 로그아웃하시면 됩니다. 매일 오전 5~6시경에 서버가 재부팅 하므로 아침에 항상 재접속 해주셔야합니다. 즐거운 하루되세요 > 도레미트리오 님이 쓴 글입니다. > 제목 : 수식 질문입니다. > 1. input : P(5); var : cnt(0),sumv(0),mav(0); sumv = 0; for cnt = 0 to P-1 { sumv = sumv +dayclose(cnt); } mav = sumv/P; if crossuo(c,mav) then buy(); if crossdown(c,mav) then exitlong(); 위 내용은 일봉상 5일선 돌파시 분봉에서 매수/청산 할 수 있는 식입니다. 연결선물지수에서 이 신호가 나면 옵션을 매수하고 싶은데 예스트레이더에 타종목으로 신호를 바로 주는 기능이 없어서 타종목 참조 기능을 써보려고 합니다. 그러면 여기 나와있는 변수 C, mav, sumv에 data1("")을 달아주면 되는 것입니까 제 생각에는 안 될 것 같습니다. 그러면 다른 방법이나 수식은 없는 겁니까.dayclose만 해결되면 되는 것 같은데요. 혹시 3.1버전에는 가능한지? 2. 매수 청산과 매도를 동시에 하는 시스템의 경우 먼저 청산을 하고 매도를 나중에 한다...즉 매매 순서를 정할 수 있는 수식이 있습니까. 부탁드립니다. 3. 실제 매매는 다음봉의 시가에 이루어지는 거 맞나요?^^; 그리고 무조건 체결을 보장하는 방법은 무조건 매수가격을 높이면 되는거죠? 4. 시스템 매매를 할 때 장 시작전 컴퓨터를 켜고 예스에 접속한 후 장 종료하고 나서 예스 로그아웃 한 후 컴퓨터를 끄면 매매에는 지장 없습니까?? 또는 월요일 장 시작 전 로그인해서 금요일 장 종료까지 계속 접속해 있으면 시스템 매매가 이루어지나요? 답변 부탁 드릴께요^^;
프로필 이미지

도레미트리오

2007-07-09 12:51:21

제가 아직은 배우고 있는 입장이라서요^^; input : P(5); var : cnt(0),sumv(0),cnt1(0),mav(0); array : TDC[5](0); if date != date[1] then{ for cnt = 1 to 4{ TDC[cnt] = TDC[cnt-1][1]; } } TDC[0] = data1("C"); ##3.1사용시 data1 --> data2 sumv = 0; for cnt1 = 0 to P-1 { sumv = sumv +TDC[cnt1]; } mav = sumv/P; if CrossUp(c,mav) then buy(); if crossdown(c,mav) then exitlong(); 에서 일단 !의 의미를 알고 싶구요...(너무 초보적인 질문인가요?ㅋㅋ) 그리고 array함수의 의미를 대충은 알겠는데, 자꾸 헷갈리네요. 제 느낌에는 이건 타종목에 선물 일봉을 띄어놓아야 하는거 같은데...선물 30분봉을 띄어놓고 선물 5일평균선을 이용하고 싶거든요. 그러니까, 본종목은 옵션, 타종목은 선물 30분봉, mav(기준)는 선물의 5일이평선 이렇게요. 그러면 타종목을 2개 띄워서 (분봉, 일봉)data1, data2를 이용할까요? 그리고 crossup(c.mav)에서 c는 옵션의 분봉 아닌가요? 선물 분봉(타종목)을 이용하고 싶은데... 주석 좀 달아주세요...
프로필 이미지

예스스탁 예스스탁 답변

2007-07-09 13:27:22

안녕하세요 예스스탁입니다. 배열변수는 하나의 변수에 여러개의 방을 만들어 사용하는 변수입니다. 하나의 변수에 N개의 방을 만든 후 각 방에 번호를 붙여 나중에 호출하여 사용합니다. 주석과 함께 매수/매수청산식을 수정했습니다. input : P(5); var : cnt(0),sumv(0),cnt1(0),mav(0); array : TDC[5](0); if date != date[1] then{ ## 현재봉의 날짜와 전봉의 날짜가 다를때로 표현하여 날짜가 변경되었음을 표현 for cnt = 1 to 4{ ## 1~4번 까지 TDC[cnt] = TDC[cnt-1][1]; ##각방의 값을 뒤의 방으로 넘김 } } TDC[0] = data1("C"); ##0번방에 타종목의 현재값을 저장 sumv = 0; for cnt1 = 0 to P-1 { ##0~P-1번 방까지 sumv = sumv +TDC[cnt1]; ## 값을 누적 } mav = sumv/P; if CrossUp(data1("c"),mav) then buy(); if crossdown(data1("c"),mav) then exitlong(); 위의 식은 타종목 분봉을 사용하시면 됩니다. 분봉에서 일봉의 이평을 그리는 식입니다. 즐거운 하루되세요 > 도레미트리오 님이 쓴 글입니다. > 제목 : Re : Re : 자세한 설명 좀 부탁드립니다^^ > 제가 아직은 배우고 있는 입장이라서요^^; input : P(5); var : cnt(0),sumv(0),cnt1(0),mav(0); array : TDC[5](0); if date != date[1] then{ for cnt = 1 to 4{ TDC[cnt] = TDC[cnt-1][1]; } } TDC[0] = data1("C"); ##3.1사용시 data1 --> data2 sumv = 0; for cnt1 = 0 to P-1 { sumv = sumv +TDC[cnt1]; } mav = sumv/P; if CrossUp(c,mav) then buy(); if crossdown(c,mav) then exitlong(); 에서 일단 !의 의미를 알고 싶구요...(너무 초보적인 질문인가요?ㅋㅋ) 그리고 array함수의 의미를 대충은 알겠는데, 자꾸 헷갈리네요. 제 느낌에는 이건 타종목에 선물 일봉을 띄어놓아야 하는거 같은데...선물 30분봉을 띄어놓고 선물 5일평균선을 이용하고 싶거든요. 그러니까, 본종목은 옵션, 타종목은 선물 30분봉, mav(기준)는 선물의 5일이평선 이렇게요. 그러면 타종목을 2개 띄워서 (분봉, 일봉)data1, data2를 이용할까요? 그리고 crossup(c.mav)에서 c는 옵션의 분봉 아닌가요? 선물 분봉(타종목)을 이용하고 싶은데... 주석 좀 달아주세요...
프로필 이미지

도레미트리오

2007-07-09 15:52:32

> 예스스탁 님이 쓴 글입니다. > 제목 : Re : Re : Re : 자세한 설명 좀 부탁드립니다^^ > 안녕하세요 예스스탁입니다. 배열변수는 하나의 변수에 여러개의 방을 만들어 사용하는 변수입니다. 하나의 변수에 N개의 방을 만든 후 각 방에 번호를 붙여 나중에 호출하여 사용합니다. 주석과 함께 매수/매수청산식을 수정했습니다. input : P(5); var : cnt(0),sumv(0),cnt1(0),mav(0); array : TDC[5](0); if date != date[1] then{ ## 현재봉의 날짜와 전봉의 날짜가 다를때로 표현하여 날짜가 변경되었음을 표현 for cnt = 1 to 4{ ## 1~4번 까지 TDC[cnt] = TDC[cnt-1][1]; ##각방의 값을 뒤의 방으로 넘김 } } TDC[0] = data1("C"); ##0번방에 타종목의 현재값을 저장 sumv = 0; for cnt1 = 0 to P-1 { ##0~P-1번 방까지 sumv = sumv +TDC[cnt1]; ## 값을 누적 } mav = sumv/P; if CrossUp(data1("c"),mav) then buy(); if crossdown(data1("c"),mav) then exitlong(); 위의 식은 타종목 분봉을 사용하시면 됩니다. 분봉에서 일봉의 이평을 그리는 식입니다. 즐거운 하루되세요 > 도레미트리오 님이 쓴 글입니다. > 제목 : Re : Re : 자세한 설명 좀 부탁드립니다^^ > 제가 아직은 배우고 있는 입장이라서요^^; input : P(5); var : cnt(0),sumv(0),cnt1(0),mav(0); array : TDC[5](0); if date != date[1] then{ for cnt = 1 to 4{ TDC[cnt] = TDC[cnt-1][1]; } } TDC[0] = data1("C"); ##3.1사용시 data1 --> data2 sumv = 0; for cnt1 = 0 to P-1 { sumv = sumv +TDC[cnt1]; } mav = sumv/P; if CrossUp(c,mav) then buy(); if crossdown(c,mav) then exitlong(); 에서 일단 !의 의미를 알고 싶구요...(너무 초보적인 질문인가요?ㅋㅋ) 그리고 array함수의 의미를 대충은 알겠는데, 자꾸 헷갈리네요. 제 느낌에는 이건 타종목에 선물 일봉을 띄어놓아야 하는거 같은데...선물 30분봉을 띄어놓고 선물 5일평균선을 이용하고 싶거든요. 그러니까, 본종목은 옵션, 타종목은 선물 30분봉, mav(기준)는 선물의 5일이평선 이렇게요. 그러면 타종목을 2개 띄워서 (분봉, 일봉)data1, data2를 이용할까요? 그리고 crossup(c.mav)에서 c는 옵션의 분봉 아닌가요? 선물 분봉(타종목)을 이용하고 싶은데... 주석 좀 달아주세요...