커뮤니티

차트 분할

프로필 이미지
무한상인
2020-04-02 11:01:49
570
글번호 137458
답변완료

첨부 이미지

첨부파일처럼 여러 행사가의 옵션 틱차트에서 동일한 조건하에 어느 한 옵션 차트에서 첫 신호가 발생하면 다른 행사가의 옵션에서는 신호가 나오지 않게 하는 방법이 있나요. 잔고 함수를 통해서 제어가 가능할 것 같은데요.
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2020-04-03 14:49:29

안녕하세요 예스스탁입니다. 수식은 차트별로 동작하여 다른차트의 정보를 알지 못합니다. 잔고함수를 사용한다면 잔고에 콜이나 풋이 없을때만 주문을 집행하게만 작성될수 있습니다. 선물/옵션계좌는 선물코드가 1로 시작하고 콜은 2, 풋은 3으로 시작하므로 종목코드가 2와 3으로 시작하지 않으면 주문이 발생하게 작성해 드립니다. 또한 잔고함수는 항상 현재값만 리턴합니다. 과거 값은 없으므로 시뮬레이션이 가능하지 않고 적용 중 재접속하거나 차트를 재조회하거나 시스템을 다시 적용하면 이전 신호 연결해서 진행할수 없습니다. 이용에 참고하시기 바랍니다. var : accNum(""),num(0),cnt(0),code(""); accNum = "111-11-111111";//선옵계좌번호 num = GetNumPositions(accNum); entry = true; for cnt = 0 to num-1 { code = GetPositionSymbol(cnt,accNum); if GetPositionQuantity(code,accNum) != 0 && (LeftStr(code,1) =="2" or LeftStr(code,1) =="3") then entry = false; } if entry == true then { 진입수식 } 즐거운 하루되세요 > 무한상인 님이 쓴 글입니다. > 제목 : 차트 분할 > 첨부파일처럼 여러 행사가의 옵션 틱차트에서 동일한 조건하에 어느 한 옵션 차트에서 첫 신호가 발생하면 다른 행사가의 옵션에서는 신호가 나오지 않게 하는 방법이 있나요. 잔고 함수를 통해서 제어가 가능할 것 같은데요.
프로필 이미지

무한상인

2020-04-03 16:30:56

GetPositionSymbol(0,계좌번호); 를 입력하면 "연산자 앞뒤 두 데이터의형태가 같아야 합니다." 라는 에러 메세지가 나오네요. 함수가 잘못된 거 아닐까요. 확인 부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 차트 분할 > 안녕하세요 예스스탁입니다. 수식은 차트별로 동작하여 다른차트의 정보를 알지 못합니다. 잔고함수를 사용한다면 잔고에 콜이나 풋이 없을때만 주문을 집행하게만 작성될수 있습니다. 선물/옵션계좌는 선물코드가 1로 시작하고 콜은 2, 풋은 3으로 시작하므로 종목코드가 2와 3으로 시작하지 않으면 주문이 발생하게 작성해 드립니다. 또한 잔고함수는 항상 현재값만 리턴합니다. 과거 값은 없으므로 시뮬레이션이 가능하지 않고 적용 중 재접속하거나 차트를 재조회하거나 시스템을 다시 적용하면 이전 신호 연결해서 진행할수 없습니다. 이용에 참고하시기 바랍니다. var : accNum(""),num(0),cnt(0),code(""); accNum = "111-11-111111";//선옵계좌번호 num = GetNumPositions(accNum); entry = true; for cnt = 0 to num-1 { code = GetPositionSymbol(cnt,accNum); if GetPositionQuantity(code,accNum) != 0 && (LeftStr(code,1) =="2" or LeftStr(code,1) =="3") then entry = false; } if entry == true then { 진입수식 } 즐거운 하루되세요 > 무한상인 님이 쓴 글입니다. > 제목 : 차트 분할 > 첨부파일처럼 여러 행사가의 옵션 틱차트에서 동일한 조건하에 어느 한 옵션 차트에서 첫 신호가 발생하면 다른 행사가의 옵션에서는 신호가 나오지 않게 하는 방법이 있나요. 잔고 함수를 통해서 제어가 가능할 것 같은데요.
프로필 이미지

예스스탁 예스스탁 답변

2020-04-03 17:00:46

안녕하세요 예스스탁입니다. GetPositionSymbol은 종목코드를 스트링으로 리턴합니다. 해당값을 저장하는 변수는 ("")로 선언이 되어 있어야 합니다. 기존수식에 ""로 선언이 되어 있습니다. entry에 대한 변수 선언이 없어 추가해 드립니다. var : accNum(""),num(0),cnt(0),code(""); var : entry(false); accNum = "111-11-111111";//선옵계좌번호 num = GetNumPositions(accNum); entry = true; for cnt = 0 to num-1 { code = GetPositionSymbol(cnt,accNum); if GetPositionQuantity(code,accNum) != 0 && (LeftStr(code,1) =="2" or LeftStr(code,1) =="3") then entry = false; } 즐거운 하루되세요 > 무한상인 님이 쓴 글입니다. > 제목 : 함수 에러 > GetPositionSymbol(0,계좌번호); 를 입력하면 "연산자 앞뒤 두 데이터의형태가 같아야 합니다." 라는 에러 메세지가 나오네요. 함수가 잘못된 거 아닐까요. 확인 부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 차트 분할 > 안녕하세요 예스스탁입니다. 수식은 차트별로 동작하여 다른차트의 정보를 알지 못합니다. 잔고함수를 사용한다면 잔고에 콜이나 풋이 없을때만 주문을 집행하게만 작성될수 있습니다. 선물/옵션계좌는 선물코드가 1로 시작하고 콜은 2, 풋은 3으로 시작하므로 종목코드가 2와 3으로 시작하지 않으면 주문이 발생하게 작성해 드립니다. 또한 잔고함수는 항상 현재값만 리턴합니다. 과거 값은 없으므로 시뮬레이션이 가능하지 않고 적용 중 재접속하거나 차트를 재조회하거나 시스템을 다시 적용하면 이전 신호 연결해서 진행할수 없습니다. 이용에 참고하시기 바랍니다. var : accNum(""),num(0),cnt(0),code(""); accNum = "111-11-111111";//선옵계좌번호 num = GetNumPositions(accNum); entry = true; for cnt = 0 to num-1 { code = GetPositionSymbol(cnt,accNum); if GetPositionQuantity(code,accNum) != 0 && (LeftStr(code,1) =="2" or LeftStr(code,1) =="3") then entry = false; } if entry == true then { 진입수식 } 즐거운 하루되세요 > 무한상인 님이 쓴 글입니다. > 제목 : 차트 분할 > 첨부파일처럼 여러 행사가의 옵션 틱차트에서 동일한 조건하에 어느 한 옵션 차트에서 첫 신호가 발생하면 다른 행사가의 옵션에서는 신호가 나오지 않게 하는 방법이 있나요. 잔고 함수를 통해서 제어가 가능할 것 같은데요.