커뮤니티
해외선물 초보 문의드립니다!
2014-02-17 13:24:16
206
글번호 72611
안녕하세요,
해외선물에서 시스템 트레이딩을 처음 시도하는 초보입니다^^
다름이 아니라 제가 수식을 작성하려고 하는데 어디서부터 시작해야할지 몰라 문의드립니
다.
일단 저는 진입은 수동, 청산만 자동으로 하려고 하는데요.
청산기준은 60분차트 20일선을 종가기준으로 20틱 돌파하면 청산하는 것입니다.
그리고 청산하게 되면 최초 진입당시의 손절주문은 자동으로 취소되고,
만약 손절을 먼저하면 청산주문 또한 취소되는 방식으로 하려고 합니다.
예스글로벌을 깔아서 하려고 하는데 프로그램 경험이 없다보니 조금 막막하네요..~
혹시 매도, 매수 case로 수식 작성해 주실수 있나요??
만약 가능하다면 매우 감사하겠습니다.
아니면 어떤식으로 진행해야할지 힌트만 주셔도 감사하겠습니다.
답변 6
예스스탁 예스스탁 답변
2014-02-17 15:14:02
안녕하세요
예스스탁입니다.
문의하신 내용은 수식으로 가능하지 않습니다.
시스템에서는 수동주문여부를 인지할수 없습니다.
또한 취소주문 등도 가능하지 않습니다.
도움을 드리지 못해 죄송합니다.
즐거운 하루되세요
> jason 님이 쓴 글입니다.
> 제목 : 해외선물 초보 문의드립니다!
> 안녕하세요,
해외선물에서 시스템 트레이딩을 처음 시도하는 초보입니다^^
다름이 아니라 제가 수식을 작성하려고 하는데 어디서부터 시작해야할지 몰라 문의드립니
다.
일단 저는 진입은 수동, 청산만 자동으로 하려고 하는데요.
청산기준은 60분차트 20일선을 종가기준으로 20틱 돌파하면 청산하는 것입니다.
그리고 청산하게 되면 최초 진입당시의 손절주문은 자동으로 취소되고,
만약 손절을 먼저하면 청산주문 또한 취소되는 방식으로 하려고 합니다.
예스글로벌을 깔아서 하려고 하는데 프로그램 경험이 없다보니 조금 막막하네요..~
혹시 매도, 매수 case로 수식 작성해 주실수 있나요??
만약 가능하다면 매우 감사하겠습니다.
아니면 어떤식으로 진행해야할지 힌트만 주셔도 감사하겠습니다.
예스스탁 예스스탁 답변
2014-02-17 16:58:24
안녕하세요
예스스탁입니다.
input : 수동진입포지션(1); #매수1, 매도-1
input : 가상진입날짜(20140214),가상진입시간(90000); #과거의 봉으로 지정
input : 진입가격(1.0000),진입수량(10); #체결가격 및 체결수량
input : 현재날짜(20140217),현재시간(140000); #현재 적용시점의 날짜와 시간
var : mav(0),cond(false);
mav = ma(c,20);
#과거봉에 가상의 진입을 발생시키는 용도
if sdate == 가상진입날짜 and
(stime == 가상진입시간 or (stime > 가상진입시간 and stime[1] < 가상진입시간)) Then{
if 수동진입포지션 == 1 Then
buy("b",OnClose,def,진입수량);
if 수동진입포지션 == -1 Then
sell("s",OnClose,def,진입수량);
}
if sdate >= 현재날짜 and stime >= 현재시간 Then
cond = true;
if cond == true Then{
if 수동진입포지션 == 1 Then{
ExitLong("bx",AtStop,진입가격-PriceScale*30);
if C <= mav-PriceScale*20 Then
ExitLong();
}
if 수동진입포지션 == -1 Then{
ExitShort("sx",AtStop,진입가격+PriceScale*30);
if C >= mav+PriceScale*20 Then
ExitShort();
}
}
즐거운 하루되세요
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 해외선물 초보 문의드립니다!
> 안녕하세요
예스스탁입니다.
문의하신 내용은 수식으로 가능하지 않습니다.
시스템에서는 수동주문여부를 인지할수 없습니다.
또한 취소주문 등도 가능하지 않습니다.
도움을 드리지 못해 죄송합니다.
즐거운 하루되세요
> jason 님이 쓴 글입니다.
> 제목 : 해외선물 초보 문의드립니다!
> 안녕하세요,
해외선물에서 시스템 트레이딩을 처음 시도하는 초보입니다^^
다름이 아니라 제가 수식을 작성하려고 하는데 어디서부터 시작해야할지 몰라 문의드립니
다.
일단 저는 진입은 수동, 청산만 자동으로 하려고 하는데요.
청산기준은 60분차트 20일선을 종가기준으로 20틱 돌파하면 청산하는 것입니다.
그리고 청산하게 되면 최초 진입당시의 손절주문은 자동으로 취소되고,
만약 손절을 먼저하면 청산주문 또한 취소되는 방식으로 하려고 합니다.
예스글로벌을 깔아서 하려고 하는데 프로그램 경험이 없다보니 조금 막막하네요..~
혹시 매도, 매수 case로 수식 작성해 주실수 있나요??
만약 가능하다면 매우 감사하겠습니다.
아니면 어떤식으로 진행해야할지 힌트만 주셔도 감사하겠습니다.
예스스탁 예스스탁 답변
2014-02-18 17:00:14
input : 수동진입포지션(1); #매수1, 매도-1
input : 가상진입날짜(20140214),가상진입시간(90000); #과거의 봉으로 지정
input : 진입가격(1.0000),진입수량(10); #체결가격 및 체결수량
input : 현재날짜(20140217),현재시간(140000); #현재 적용시점의 날짜와 시간
var : mav(0),cond(false);
mav = ma(c,20);
#과거봉에 가상의 진입을 발생시키는 용도
if sdate == 가상진입날짜 and
(stime == 가상진입시간 or (stime > 가상진입시간 and stime[1] < 가상진입시간)) Then{
if 수동진입포지션 == 1 Then
buy("b",OnClose,def,진입수량);
if 수동진입포지션 == -1 Then
sell("s",OnClose,def,진입수량);
}
if sdate >= 현재날짜 and stime >= 현재시간 Then
cond = true;
if cond == true Then{
if 수동진입포지션 == 1 Then{
ExitLong("bx1",AtStop,진입가격-PriceScale*30);
ExitLong("bx2",AtStop,mav-PriceScale*20);
}
if 수동진입포지션 == -1 Then{
ExitShort("sx1",AtStop,진입가격+PriceScale*30);
ExitShort("sx2",AtStop,mav+PriceScale*20);
}
}
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : Re : 해외선물 초보 문의드립니다!
>
안녕하세요
예스스탁입니다.
input : 수동진입포지션(1); #매수1, 매도-1
input : 가상진입날짜(20140214),가상진입시간(90000); #과거의 봉으로 지정
input : 진입가격(1.0000),진입수량(10); #체결가격 및 체결수량
input : 현재날짜(20140217),현재시간(140000); #현재 적용시점의 날짜와 시간
var : mav(0),cond(false);
mav = ma(c,20);
#과거봉에 가상의 진입을 발생시키는 용도
if sdate == 가상진입날짜 and
(stime == 가상진입시간 or (stime > 가상진입시간 and stime[1] < 가상진입시간)) Then{
if 수동진입포지션 == 1 Then
buy("b",OnClose,def,진입수량);
if 수동진입포지션 == -1 Then
sell("s",OnClose,def,진입수량);
}
if sdate >= 현재날짜 and stime >= 현재시간 Then
cond = true;
if cond == true Then{
if 수동진입포지션 == 1 Then{
ExitLong("bx",AtStop,진입가격-PriceScale*30);
if C <= mav-PriceScale*20 Then
ExitLong();
}
if 수동진입포지션 == -1 Then{
ExitShort("sx",AtStop,진입가격+PriceScale*30);
if C >= mav+PriceScale*20 Then
ExitShort();
}
}
즐거운 하루되세요
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 해외선물 초보 문의드립니다!
> 안녕하세요
예스스탁입니다.
문의하신 내용은 수식으로 가능하지 않습니다.
시스템에서는 수동주문여부를 인지할수 없습니다.
또한 취소주문 등도 가능하지 않습니다.
도움을 드리지 못해 죄송합니다.
즐거운 하루되세요
> jason 님이 쓴 글입니다.
> 제목 : 해외선물 초보 문의드립니다!
> 안녕하세요,
해외선물에서 시스템 트레이딩을 처음 시도하는 초보입니다^^
다름이 아니라 제가 수식을 작성하려고 하는데 어디서부터 시작해야할지 몰라 문의드립니
다.
일단 저는 진입은 수동, 청산만 자동으로 하려고 하는데요.
청산기준은 60분차트 20일선을 종가기준으로 20틱 돌파하면 청산하는 것입니다.
그리고 청산하게 되면 최초 진입당시의 손절주문은 자동으로 취소되고,
만약 손절을 먼저하면 청산주문 또한 취소되는 방식으로 하려고 합니다.
예스글로벌을 깔아서 하려고 하는데 프로그램 경험이 없다보니 조금 막막하네요..~
혹시 매도, 매수 case로 수식 작성해 주실수 있나요??
만약 가능하다면 매우 감사하겠습니다.
아니면 어떤식으로 진행해야할지 힌트만 주셔도 감사하겠습니다.
jason
2014-02-19 11:48:27
input : 진입가격(1323.2),진입수량(5); #체결가격 및 체결수량
input : 현재날짜(20140219),현재시간(012446); #현재 적용시점의 날짜와 시간
var : mav1(0), mav2(0), cond(false);
mav1 = ma(c,10);
mav2 = ma(c,20);
#과거봉에 가상의 진입을 발생시키는 용도
if sdate == 가상진입날짜 and
(stime == 가상진입시간 or (stime > 가상진입시간 and stime[1] < 가상진입시간)) Then{
if 수동진입포지션 == 1 Then
buy("b",OnClose,def,진입수량);
if 수동진입포지션 == -1 Then
sell("s",OnClose,def,진입수량);
}
if sdate >= 현재날짜 and stime >= 현재시간 Then
cond = true;
if cond == true Then{
if 수동진입포지션 == 1 Then{
ExitLong("bx",AtStop,진입가격-PriceScale*30);
if CrossDown(mav1, mav2) Then
ExitLong();
}
if 수동진입포지션 == -1 Then{
ExitShort("sx",AtStop,진입가격+PriceScale*30);
if CrossUp(mav1, mav2) Then
ExitShort();
}
}
예스스탁 예스스탁 답변
2014-02-25 11:34:05
안녕하세요
예스스탁입니다.
진입을 추가로 하시므로
시스템 적용시에 시스템 트레이딩 설정창의 피라미딩 탭에서
다른진입신호만 허용으로 설정하고 적용하셔야 합니다.
1. 1회 추가
input : 수동진입포지션(1); #매수1, 매도-1
input : 가상진입날짜(20140214),가상진입시간(90000); #과거의 봉으로 지정
input : 진입가격(1323.2),진입수량(5),목표가1(1335.00),추가수량(1),TrTicks(30);
input : 현재날짜(20140219),현재시간(012446); #현재 적용시점의 날짜와 시간
var : mav1(0), mav2(0), cond(false),HH(0),LL(0);
mav1 = ma(c,10);
mav2 = ma(c,20);
#과거봉에 가상의 진입을 발생시키는 용도
if sdate == 가상진입날짜 and
(stime == 가상진입시간 or (stime > 가상진입시간 and stime[1] < 가상진입시간)) Then{
if 수동진입포지션 == 1 Then
buy("b1",OnClose,def,진입수량);
if 수동진입포지션 == -1 Then
sell("s1",OnClose,def,진입수량);
}
if sdate >= 현재날짜 and stime >= 현재시간 Then
cond = true;
if cond == true Then{
if 수동진입포지션 == 1 Then{
ExitLong("bx",AtStop,진입가격-PriceScale*30);
#추가매수1
if MaxEntries == 1 and crossup(c,목표가1) Then{
buy("b2",OnClose,def,추가수량);
HH = C;
}
#1차 추가매수후 최고가 계산하고
if MaxEntries >= 2 Then{
if H > HH Then
HH = H;
#최고가에서 일정틱하락하면 전량청산
ExitLong("Btr",AtStop,HH-PriceScale*TrTicks);
}
}
if 수동진입포지션 == -1 Then{
ExitShort("sx",AtStop,진입가격+PriceScale*30);
#추가매도
if MaxEntries == 1 and CrossDown(c,목표가1) Then{
sell("s2",OnClose,def,추가수량);
LL = C;
}
#1차 추가매수 후 최저가 계산하고
if MaxEntries >= 2 Then{
if L < LL Then
LL = L;
#최저가에서 일정틱 상승하면 전량청산
ExitLong("Str",AtStop,LL+PriceScale*TrTicks);
}
}
}
2. 2회 추가
input : 수동진입포지션(1); #매수1, 매도-1
input : 가상진입날짜(20140214),가상진입시간(90000); #과거의 봉으로 지정
input : 진입가격(1323.2),진입수량(5),목표가1(1335.00),목표가2(1350.00),추가수량(1),TrTicks(30);
input : 현재날짜(20140219),현재시간(012446); #현재 적용시점의 날짜와 시간
var : mav1(0), mav2(0), cond(false),HH(0),LL(0);
mav1 = ma(c,10);
mav2 = ma(c,20);
#과거봉에 가상의 진입을 발생시키는 용도
if sdate == 가상진입날짜 and
(stime == 가상진입시간 or (stime > 가상진입시간 and stime[1] < 가상진입시간)) Then{
if 수동진입포지션 == 1 Then
buy("b1",OnClose,def,진입수량);
if 수동진입포지션 == -1 Then
sell("s1",OnClose,def,진입수량);
}
if sdate >= 현재날짜 and stime >= 현재시간 Then
cond = true;
if cond == true Then{
if 수동진입포지션 == 1 Then{
ExitLong("bx",AtStop,진입가격-PriceScale*30);
#1차 추가매수
if MaxEntries == 1 and crossup(c,목표가1) Then{
buy("b2",OnClose,def,추가수량);
HH = C;
}
#2차 추가매수
if MaxEntries == 2 and crossup(c,목표가2) Then{
buy("b3",OnClose,def,추가수량);
HH = C;
}
#추가매수 발생 후 최고가 계산
if MaxEntries >= 2 Then{
if H > HH Then
HH = H;
#최고가에서 일정틱 하락하면 전량청산
ExitLong("Btr",AtStop,HH-PriceScale*TrTicks);
}
}
if 수동진입포지션 == -1 Then{
ExitShort("sx",AtStop,진입가격+PriceScale*30);
#1차 추가매도
if MaxEntries == 1 and CrossDown(c,목표가1) Then{
sell("s2",OnClose,def,추가수량);
LL = C;
}
#2차 추가매도
if MaxEntries == 2 and CrossDown(c,목표가2) Then{
sell("s3",OnClose,def,추가수량);
LL = C;
}
#추가매도 후 최저가 계산
if MaxEntries >= 2 Then{
if L < LL Then
LL = L;
#최저가에서 일정틱 상승하면 전량청산
ExitLong("Str",AtStop,LL+PriceScale*TrTicks);
}
}
}
즐거운 하루되세요
> jason 님이 쓴 글입니다.
> 제목 : Re : Re : Re : Re : 이평청산 수정한 식입니다.
> input : 진입가격(1323.2),진입수량(5); #체결가격 및 체결수량
input : 현재날짜(20140219),현재시간(012446); #현재 적용시점의 날짜와 시간
var : mav1(0), mav2(0), cond(false);
mav1 = ma(c,10);
mav2 = ma(c,20);
#과거봉에 가상의 진입을 발생시키는 용도
if sdate == 가상진입날짜 and
(stime == 가상진입시간 or (stime > 가상진입시간 and stime[1] < 가상진입시간)) Then{
if 수동진입포지션 == 1 Then
buy("b",OnClose,def,진입수량);
if 수동진입포지션 == -1 Then
sell("s",OnClose,def,진입수량);
}
if sdate >= 현재날짜 and stime >= 현재시간 Then
cond = true;
if cond == true Then{
if 수동진입포지션 == 1 Then{
ExitLong("bx",AtStop,진입가격-PriceScale*30);
if CrossDown(mav1, mav2) Then
ExitLong();
}
if 수동진입포지션 == -1 Then{
ExitShort("sx",AtStop,진입가격+PriceScale*30);
if CrossUp(mav1, mav2) Then
ExitShort();
}
}
jason
2014-03-04 16:28:02
수식검증 부탁드립니다.
input : 수동진입포지션(1); #매수1, 매도-1
input : 가상진입날짜(20140214),가상진입시간(90000); #과거의 봉으로 지정
input : 진입가격(1323.2),진입수량(5),목표가1(1335.00),추가수량(1),매수1차청산수량(1),매도1차청산수량(1),매수손절1(1330),매수손절2(1329),매수손절3(1328),매도손절1(1290),매도손절2(1291),매도손절3(1292),매수익절(1350),매도익절(1250);
input : 현재날짜(20140219),현재시간(012446); #현재 적용시점의 날짜와 시간
var : cond(false),HH(0),LL(0);
#과거봉에 가상의 진입을 발생시키는 용도
if sdate == 가상진입날짜 and
(stime == 가상진입시간 or (stime > 가상진입시간 and stime[1] < 가상진입시간)) Then{
if 수동진입포지션 == 1 Then
buy("b1",OnClose,def,진입수량);
if 수동진입포지션 == -1 Then
sell("s1",OnClose,def,진입수량);
}
if sdate >= 현재날짜 and stime >= 현재시간 Then
cond = true;
if cond == true Then{
if 수동진입포지션 == 1 Then{
ExitLong("bx1",AtStop,매수손절1);
If C >= 목표가1 Then{
sell("s2",AtMarket,def,매수1차청산수량);
ExitLong("bx2",AtMarket,매수손절2);
}
if MaxEntries == 1 and crossup(c,목표가1) Then{
buy("b2",OnClose,def,추가수량);
HH = C;
ExitLong("bx3",AtMarket,매수손절3);
ExitLong("bx4",AtLimit,매수익절);
}
}
if 수동진입포지션 == -1 Then{
ExitShort("sx1",AtStop,매도손절1);
If C <= 목표가1 Then{
Buy("b3",AtMarket,def,매도1차청산수량);
ExitShort("sx2",AtMarket,매도손절2);
}
if MaxEntries == 1 and CrossDown(c,목표가1) Then{
sell("s3",OnClose,def,추가수량);
LL = C;
ExitShort("sx3",AtMarket,매도손절3);
ExitShort("sx4",AtLimit,매도익절);
}
}
}
다음글
이전글