예스스탁
예스스탁 답변
2008-02-20 09:51:38
안녕하세요? 예스스탁입니다
문의하신 내용 답변드립니다.
1)
IF 특정조건 THEN {
BUY("매수", atstop, CloseD(1)*1.05)
BUY("매수", atstop, CloseD(1)*1.06)
}
와 같이 사용했을시에 BUY의 매개변수 "매수"가 형식이 맞지않는다고 오류가 나며
CloseD는 사용자 함수 오류라고 애러가 뜨네요..
매개변수 "매수" "atstop",closeD의 정확한 의미를 알고 싶습니다.
=> 예스트레이더3.1버전을 기준으로 답변을 드렸었는데 예스트레이더3.0버전을 사용하고 계시기 때문에 발생하는 오류이며 답변자가 정확하지 않게 답변드린 내용도 있었습니다. 죄송합니다. 3.0버전은 수개월후 가동 중지될 예정이므로 3.1버전을 이용하시길 부탁드립니다.
3.0 버전으로 정상적으로 작성한다면 다음과 같이 작성하시면 됩니다.
IF 특정조건 THEN {
BUY("매수1", atstop, dayclose(1)*1.05);
BUY("매수2", atstop, dayclose(1)*1.06);
}
3.1버전으로 작성한다면 위와 같이 작성하셔도 되고 다음과 같이 작성하셔도 됩니다.
IF 특정조건 THEN {
BUY("매수1", atstop, CloseD(1)*1.05);
BUY("매수2", atstop, CloseD(1)*1.06);
}
3.0버전에서 오류가 났던 이유는 1. 두개의 매수 이름이 동일했기 때문이며, 2. 3.0에서 제공되지 않는 함수CloseD가 사용되었기 때문입니다. 3. 문장이 끝났을때 세미콜론으로 문장종료상태를 표시해야 하는데 그 내용이 없었습니다.
매개변수인 "매수1"은 매수신호의 이름을 나타냅니다. 차트에 매매신호를 적용할 경우 매수신호의 위치에 매수신호의 이름을 표시하는 기능입니다.
atstop은 주문의 유형을 의미합니다. 주문은 4가지 유형이 존재합니다. onclose, atmarket, atstop, atlimit 주문 유형인데 상세 내용은 저희 홈페이지 > 예스트레이더 > 수식작성법>함수및예약어>주문함수의 내용과 홈페이지 > 예스트레이더>수식작성예제>주요함수>시스템함수에 "OnClose, AtMarket, AtLimit, AtStop 차이" 라는 내용을 참고해 보시길 바랍니다.
2)
if marketposition(0) == 0 then
exitlong("EL", atstop, entryPrice(0)*0.95);
위에서 marketposition(0)가 의미하는것은 무엇인가요?
exitlong는 주문함수라고 나오긴하는데 sell함수와 차이는 무엇인가요?
또한 매도할때에도 현재가 매도 ,현재가보다 특정호가 낮은 가격에 매도,시장가매도는 어떻게 구현해야 하는지요?
=> marketposition(0) 은 현재 진입되어 있는 신호상의 포지션 상태를 나타냅니다. 매수신호가 발생되어 있고 매수 유지 중이라면 1값을 리턴하게 되고, 매도신호가 유지중이라면 -1값을 리턴하게 되고, 청산신호가 발생되어 포지션이 없은 상태이면 0값을 리턴하는 함수입니다. marketposition(0)에서 괄호속의 값은 N번째 진입 포지션의 상태를 의미하는데 만일 0값이라면 현재의 포지션의 상태, 1이라면 청산이 완료된포지션중 현재에서 가장 가까운포지션의 상태를 가져옵니다.
exitlong은 매수청산을 위한 함수입니다. 매수신호에 대해 매수포지션을 청산시키는 함수입니다. 주식 종목은 매수와 매수청산 거래만 있으므로 buy와 exitlong으로 사용하시면 됩니다.
sell은 매수청산 및 신규매도를 위한 함수입니다. 선물이나 옵션과 같이 매도거래가 가능한 종목에서 매수신호가 유지중인 상태에서 sell을 만나게 되면 기존의 매수포지션을 청산하는 청산신호와 신규매도신호가 동시에 발생되게 됩니다. 만일 포지션이 없는 상태였다면 신규매도 신호만 발생하게 됩니다.
sell은 매수청산과 신규매도 모두를 나타내지만, 주식과 같은 종목에서 사용할 경우 신규매도는 할 수 없으므로 매수청산 신호로만 작용하게 됩니다.
매매할때의 주문가격은 랭귀지로 제어할 수 없고 시스템트레이딩 설정창의 매매탭 매매가격 항목에서 설정해 주시면 됩니다.
3)예스트레이더 프로용 메뉴얼 같은건 없나요? 홈페이지 동영상은 너무 오래전거라 너무 많이 달라서요...(주요 제공 함수 및 각 매개변수 설명,실제 사용 예 등이 나와있는 메뉴얼이면 충분할거 같습니다만...)
=> 저희 홈페이지 > 예스트레이더 > 수식작성법 > 함수및예약어 부분을 참고하시면 됩니다.
감사합니다.
> CJ_coco 님이 쓴 글입니다.
> 제목 : 프로그램 문의
> 주신 답변 감사합니다
헌대 몇가지 오류가 나서요
1)
IF 특정조건 THEN {
BUY("매수", atstop, CloseD(1)*1.05)
BUY("매수", atstop, CloseD(1)*1.06)
}
와 같이 사용했을시에 BUY의 매개변수 "매수"가 형식이 맞지않는다고 오류가 나며
CloseD는 사용자 함수 오류라고 애러가 뜨네요..
매개변수 "매수" "atstop",closeD의 정확한 의미를 알고 싶습니다.
2)
if marketposition(0) == 0 then
exitlong("EL", atstop, entryPrice(0)*0.95);
위에서 marketposition(0)가 의미하는것은 무엇인가요?
exitlong는 주문함수라고 나오긴하는데 sell함수와 차이는 무엇인가요?
또한 매도할때에도 현재가 매도 ,현재가보다 특정호가 낮은 가격에 매도,시장가매도는 어떻게 구현해야 하는지요?
3)예스트레이더 프로용 메뉴얼 같은건 없나요? 홈페이지 동영상은 너무 오래전거라 너무 많이 달라서요...(주요 제공 함수 및 각 매개변수 설명,실제 사용 예 등이 나와있는 메뉴얼이면 충분할거 같습니다만...)
확인 부탁드립니다.