커뮤니티
만기일 청산
2017-01-12 20:59:20
118
글번호 105853
안녕하세요?
일봉 차트에서
data1: 연결선물지수
data2: 콜옵션; data3: 풋옵션입니다.
아래 만기일 조건 만족하면 청산하려고 합니다.
If cond_만기일 == True Then {
exitlong();
exitshort();
}
그런데 종가에서 임시 신호만 생기고 정식 신호가 생기지 않습니다.
오류 수정 부탁드립니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2017-01-13 11:02:20
안녕하세요
예스스탁입니다.
if문은 봉완성시가 기준입니다.
봉완성은 다음봉 시가가 수신될때 이므로
차트가 일봉이면 다음날 시가가 수신되어야 봉이 완성되고
신호가 발생하게 됩니다. 해당봉 종가에 청산은 가능하지 않습니다.
분봉이면 아래 수식 사용하시면 되지만
시간으로 조건지정해 청산은 분봉이하만 가능합니다.
#2016년 8월1일전(장시간연장 이전)
#만기일에는 14시46분 당일청산, 만기일이 아니면 15시04분 청산
#2016년 8월1일이후(장시간연장 이후)
#만기일에는 15시19분 당일청산, 만기일이 아니면 15시 34분청산
var: month(0,data1),nday(0,data1),week(0,data1);
month = data1(int(date/100)-int(date/10000)*100);
nday = data1(date - int(date/100)*100);
week = data1(DayOfWeek(date));
if data1(sdate < 20160801) then{
if month%3 == 0 and nday >= 8 and nday <= 14 and week == 4 then
SetStopEndofday(144900);
Else
SetStopEndofday(150400);
}
else{
if month%3 == 0 and nday >= 8 and nday <= 14 and week == 4 then
SetStopEndofday(151900);
Else
SetStopEndofday(153400);
}
일봉이면 만기일 일봉의 시가에 청산하시는 방법뿐이 없습니다.
var: month(0,data1),nday(0,data1),week(0,data1);
month = data1(int(NextBarSdate/100)-int(NextBarSdate/10000)*100);
nday = data1(NextBarSdate - int(NextBarSdate/100)*100);
week = data1(DayOfWeek(NextBarSdate));
if crossup(c,ma(c,20)) Then
buy();
if month%3 == 0 and nday >= 8 and nday <= 14 and week == 4 then{
exitlong("bx",AtMarket);
ExitShort("sx",AtMarket);
}
즐거운 하루되세요
> 리턴 님이 쓴 글입니다.
> 제목 : 만기일 청산
> 안녕하세요?
일봉 차트에서
data1: 연결선물지수
data2: 콜옵션; data3: 풋옵션입니다.
아래 만기일 조건 만족하면 청산하려고 합니다.
If cond_만기일 == True Then {
exitlong();
exitshort();
}
그런데 종가에서 임시 신호만 생기고 정식 신호가 생기지 않습니다.
오류 수정 부탁드립니다.
감사합니다.