선물 3개의 틱챠트에 각각 3개 시스템이 구동됩니다.
시스템 3개가 구동되는 선물챠트는 100틱 200틱 300틱
시스템명 : system-A system-B system-C
즉 3개의 시스템(예스랭귀지로 작성)이
틱수가 다른 3개의 챠트에서 각각 구동될때
3개 전부가 동일 방향일때 마지막 신호에 진입합니다.
예를들어
100틱 챠트에서 system-A 가 09:00:00 일때 255.00 에서 매도신호 발생(매수 --> 매도)
300틱 챠트에서 system-C 가 10:00:00 일때 254.50 에서 매도신호 발생(매수 --> 매도)
200틱 챠트에서 system-B 가 11:30:00 일때 255.50 에서 매도신호 발생(매수 --> 매도)
한다면 예스스팟을 이용해 동일방향을 완성한 3번째 신호가 발생한 200틱 가격인
255.50 에서 실제 계좌상의 매도진입을 합니다.
이렇게 진입한 신호는 3개중 하나라도 가장 먼저 반대신호 즉 매수(매도 ---> 매수)신호
로 청산합니다. 위의 예에서 매도 진입한 후 14:00:00 일때 300틱 챠트의
시스템(system-C)이 253.00 에서 매수 진입신호가 나왔다면 실 계좌에서
직전 255.50 매도진입 한 것을 253.00 값으로 청산합니다.
이런 패턴을 계속하여 포지션 시스템으로 운용하는 예스스팟 수식을 부탁드립니다.
감사합니다.
답변 1
예스스탁
예스스탁 답변
2014-11-18 11:37:29
안녕하세요
예스스탁입니다.
아래 내용 참고하셔서 수정보완해 사용하시기 바랍니다.
스크립트 객체화면 설정은 아래와 같습니다.
계좌객체 추가 --> 속성에서 객체명은 Account1, 계좌번호 지정
차트 객체 추가 --> 속성에서 객체명은 Chart1, 차트와 아이디 연결
차트 객체 추가 --> 속성에서 객체명은 Chart2, 차트와 아이디 연결
차트 객체 추가 --> 속성에서 객체명은 Chart3, 차트와 아이디 연결
자세한 객체설정 방법은 예스스팟 도울말 참고하시기 바랍니다.
var SK1;
var SK2;
var SK3;
function Main_OnStart()
{
SK1 = 0;
SK2 = 0;
SK3 = 0;
}
function Chart1_OnRiseSignal(Signal)
{
SK1 = Signal.signalKind;
//현재차트1에서 매도신호 발생하고 차트2와 차트3에서 매도신호 발생중이면 매도
if (SK1 == 3 && SK2 == 3 && SK3 == 3)
{
//1계약 신호가격으로 매도주문
Account1.OrderSell(Main.GetOrderCode(Signal.code), 1, Signal.price, 0);
}
//차트1에서 매도청산신호 발생하면 매도포지션 청산
if (SK1 == 4 )
{
Account1.OrderBuy(Main.GetOrderCode(Signal.code), 1, Signal.price, 0);
}
}
function Chart2_OnRiseSignal(Signal)
{
SK2 = Signal.signalKind;
//현재차트2에서 매도신호 발생하고 차트1과 차트3에서 매도신호 발생중이면 매도
if (SK2 == 3 && SK1 == 3 && SK3 == 3)
{
//1계약 신호가격으로 매도주문
Account1.OrderSell(Main.GetOrderCode(Signal.code), 1, Signal.price, 0);
}
//차트2에서 매도청산신호 발생하면 매도포지션 청산
if (SK2 == 4 )
{
Account1.OrderBuy(Main.GetOrderCode(Signal.code), 1, Signal.price, 0);
}
}
function Chart3_OnRiseSignal(Signal)
{
SK3 = Signal.signalKind;
//현재차트3에서 매도신호 발생하고 차트1과 차트2에서 매도신호 발생중이면 매도
if (SK3 == 3 && SK1 == 3 && SK2 == 3)
{
//1계약 신호가격으로 매도주문
Account1.OrderSell(Main.GetOrderCode(Signal.code), 1, Signal.price, 0);
}
//차트3에서 매도청산신호 발생하면 매도포지션 청산
if (SK3 == 4 )
{
Account1.OrderBuy(Main.GetOrderCode(Signal.code), 1, Signal.price, 0);
}
}
즐거운 하루되세요
> 우후훗 님이 쓴 글입니다.
> 제목 : 선물 3개의 틱챠트에 각각 3개 시스템이 구동됩니다.
> 선물 3개의 틱챠트에 각각 3개 시스템이 구동됩니다.
시스템 3개가 구동되는 선물챠트는 100틱 200틱 300틱
시스템명 : system-A system-B system-C
즉 3개의 시스템(예스랭귀지로 작성)이
틱수가 다른 3개의 챠트에서 각각 구동될때
3개 전부가 동일 방향일때 마지막 신호에 진입합니다.
예를들어
100틱 챠트에서 system-A 가 09:00:00 일때 255.00 에서 매도신호 발생(매수 --> 매도)
300틱 챠트에서 system-C 가 10:00:00 일때 254.50 에서 매도신호 발생(매수 --> 매도)
200틱 챠트에서 system-B 가 11:30:00 일때 255.50 에서 매도신호 발생(매수 --> 매도)
한다면 예스스팟을 이용해 동일방향을 완성한 3번째 신호가 발생한 200틱 가격인
255.50 에서 실제 계좌상의 매도진입을 합니다.
이렇게 진입한 신호는 3개중 하나라도 가장 먼저 반대신호 즉 매수(매도 ---> 매수)신호
로 청산합니다. 위의 예에서 매도 진입한 후 14:00:00 일때 300틱 챠트의
시스템(system-C)이 253.00 에서 매수 진입신호가 나왔다면 실 계좌에서
직전 255.50 매도진입 한 것을 253.00 값으로 청산합니다.
이런 패턴을 계속하여 포지션 시스템으로 운용하는 예스스팟 수식을 부탁드립니다.
감사합니다.