첨부 이미지
그림1
첨부파일처럼
여러 행사가의 옵션 틱차트에서
동일한 조건하에
어느 한 옵션 차트에서 첫 신호가 발생하면
다른 행사가의 옵션에서는 신호가 나오지 않게 하는 방법이 있나요.
잔고 함수를 통해서 제어가 가능할 것 같은데요.
답변 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
{
진입수식
}
즐거운 하루되세요
> 무한상인 님이 쓴 글입니다.
> 제목 : 차트 분할
> 첨부파일처럼
여러 행사가의 옵션 틱차트에서
동일한 조건하에
어느 한 옵션 차트에서 첫 신호가 발생하면
다른 행사가의 옵션에서는 신호가 나오지 않게 하는 방법이 있나요.
잔고 함수를 통해서 제어가 가능할 것 같은데요.
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
{
진입수식
}
즐거운 하루되세요
> 무한상인 님이 쓴 글입니다.
> 제목 : 차트 분할
> 첨부파일처럼
여러 행사가의 옵션 틱차트에서
동일한 조건하에
어느 한 옵션 차트에서 첫 신호가 발생하면
다른 행사가의 옵션에서는 신호가 나오지 않게 하는 방법이 있나요.
잔고 함수를 통해서 제어가 가능할 것 같은데요.