커뮤니티
부분적인 재문의
2015-10-29 09:58:54
201
글번호 91851
먼저 항상 답변 감사드립니다. 아래는 어제 받은 답변입니다.
3
신호타입 중 atstop은
봉완성시 지정한 가격을 셋팅하고
다음봉에서
매수에서는 지정한 가격 이상
매도에서는 지정한 가격 이하의 시세가
발생하면 즉시 신호가 발생합니다.
전일 마지막봉에서 셋팅하면
전일자기준 nday일전 고가와 저가로 다음날
첫봉에 신호가 발생합니다
아래와 같이 마지막봉에는 셋팅이 되지 않도록
시간조건을 주시면 됩니다.
당일 청산시간이 14시 59분이므로
14시 59분 이전에만 가격 감시하도록 하셔야 합니다.
-------------------------------
1. 9시1분봉 시가는 ~.85이며 고가는 ~.00입니다. 진입하고 싶은 포인트는 ~.95입니다.
그러므로 1분봉에서 진입을 하길 원하지만, 말씀하신 것 처럼 그 다음인 2분봉에 atlimit으로 진입하는 신호를 보입니다.
그렇다면 1분봉에서 진입할 수 있도록 할 수는 없는 것인가요?
2. 또한 그림처럼 종종 하루에 두 번 진입하는 경우가 꽤 발생하더라구요. 하루에 한 번만 진입하고 싶습니다.
--------------------------------
아래는 만들어주신 함수입니다. 부탁드리겠습니다.
input : N(1),nday(2),pt(0.5),시간(93000);
var : Entry(0);
if bdate != Bdate[1] Then
Entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
Entry = Entry+1;
if stime >= 시간 and stime < 145900 then{
if entry < N and H < dayhigh(nday)+pt Then
buy("b",AtStop,dayhigh(nday)+pt);
if entry < N and H > dayhigh(nday)+pt Then
buy("bb",AtLimit,dayhigh(nday)+pt);
if entry < N and L > daylow(nday)-pt Then
sell("s",AtStop,daylow(nday)-pt);
if entry < N and L < daylow(nday)-pt Then
Sell("ss",AtLimit,daylow(nday)-pt);
}
SetStopProfittarget(0.5,PointStop);
SetStopLoss(0.5,PointStop);
SetStopEndofday(145900);
- 1. 질문3.png (0.04 MB)
답변 1
예스스탁 예스스탁 답변
2015-10-29 11:42:48
안녕하세요
예스스탁입니다.
1.
첫봉에서 신호를 내기 위해서는
하루중 마지막봉에 조건을 걸어 셋팅하고
다음봉(다음날 첫봉)의 시세와 비교하게 해야 합니다.
하루중 마지막봉은 시간으로만 지정이 가능합니다.
차트의 주기별로 시간이 다르므로
plot1(stime);
위 지표 적용하셔서 마지막봉 시간확인하고
지정해 주셔야 합니다.
해당 시간에 거래가 없어 해당 봉이 없으면
다음날 첫봉에 신호는 나올수 없습니다.
input : N(1),nday(2),pt(0.5),시간(93000);
var : Entry(0);
if bdate != Bdate[1] Then
Entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
Entry = Entry+1;
if stime == 151500 Then{
if NextBarOpen <= dayhigh(nday-1)+pt Then
buy("b11",AtStop,dayhigh(nday-1)+pt);
if NextBarOpen >= dayhigh(nday-1)+pt Then
buy("b12",AtLimit,dayhigh(nday-1)+pt);
if NextBarOpen >= daylow(nday-1)-pt Then
sell("s11",AtStop,daylow(nday-1)-pt);
if NextBarOpen < daylow(nday-1)-pt Then
Sell("s12",AtLimit,daylow(nday-1)-pt);
}
if stime >= 시간 and stime < 145900 then{
if entry < N and NextBarOpen <= dayhigh(nday)+pt Then
buy("b1",AtStop,dayhigh(nday)+pt);
if entry < N and NextBarOpen >= dayhigh(nday)+pt Then
buy("b2",AtLimit,dayhigh(nday)+pt);
if entry < N and NextBarOpen >= daylow(nday)-pt Then
sell("s1",AtStop,daylow(nday)-pt);
if entry < N and NextBarOpen < daylow(nday)-pt Then
Sell("s2",AtLimit,daylow(nday)-pt);
}
SetStopProfittarget(0.5,PointStop);
SetStopLoss(0.5,PointStop);
SetStopEndofday(145900);
2.
외부변수에서 N이 진입횟수입니다.
첨부된 그림과 같이
외부변수 N이 1이면 하루에 두번신호가 나오지 않습니다.
시스템트레이딩 설정창의 변수탭에서
N값 확인하시기 바랍니다.
식이 차트에 적용된 상태에서
랭귀지 편집기에서 수식의 외부변수를 변경하시면
즉시 적용이 되지 않습니다.
수식 자체에서 변경하실경우 식을 재적용 해주셔야 합니다.
즐거운 하루되세요
> 돌을던져라 님이 쓴 글입니다.
> 제목 : 부분적인 재문의
> 먼저 항상 답변 감사드립니다. 아래는 어제 받은 답변입니다.
3
신호타입 중 atstop은
봉완성시 지정한 가격을 셋팅하고
다음봉에서
매수에서는 지정한 가격 이상
매도에서는 지정한 가격 이하의 시세가
발생하면 즉시 신호가 발생합니다.
전일 마지막봉에서 셋팅하면
전일자기준 nday일전 고가와 저가로 다음날
첫봉에 신호가 발생합니다
아래와 같이 마지막봉에는 셋팅이 되지 않도록
시간조건을 주시면 됩니다.
당일 청산시간이 14시 59분이므로
14시 59분 이전에만 가격 감시하도록 하셔야 합니다.
-------------------------------
1. 9시1분봉 시가는 ~.85이며 고가는 ~.00입니다. 진입하고 싶은 포인트는 ~.95입니다.
그러므로 1분봉에서 진입을 하길 원하지만, 말씀하신 것 처럼 그 다음인 2분봉에 atlimit으로 진입하는 신호를 보입니다.
그렇다면 1분봉에서 진입할 수 있도록 할 수는 없는 것인가요?
2. 또한 그림처럼 종종 하루에 두 번 진입하는 경우가 꽤 발생하더라구요. 하루에 한 번만 진입하고 싶습니다.
--------------------------------
아래는 만들어주신 함수입니다. 부탁드리겠습니다.
input : N(1),nday(2),pt(0.5),시간(93000);
var : Entry(0);
if bdate != Bdate[1] Then
Entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
Entry = Entry+1;
if stime >= 시간 and stime < 145900 then{
if entry < N and H < dayhigh(nday)+pt Then
buy("b",AtStop,dayhigh(nday)+pt);
if entry < N and H > dayhigh(nday)+pt Then
buy("bb",AtLimit,dayhigh(nday)+pt);
if entry < N and L > daylow(nday)-pt Then
sell("s",AtStop,daylow(nday)-pt);
if entry < N and L < daylow(nday)-pt Then
Sell("ss",AtLimit,daylow(nday)-pt);
}
SetStopProfittarget(0.5,PointStop);
SetStopLoss(0.5,PointStop);
SetStopEndofday(145900);