커뮤니티
시가매수 재문의
2013-12-09 14:30:53
210
글번호 70269
문의내용에 대한 답변은 감사드리나, 좀더 정확한 답변 부탁드립니다.
제가 원하는 것은 옵션만기일을 제외하고 시가매수하여 종가매도하는
간단한 내용입니다.
답변주신 수식을 적용해보니, 옵션만기일은 신호가 발생하지 않으나,
옵션만기 다음날도 신호가 발생하지 않고 있네요. 옵션만기 다음날은
신호가 발생하여야 합니다.
또다른 문제는 2013년 8월 8일의 경우 옵션만기일임에도 진입신호가
발생하였습니다.
바쁘시겠지만 좀 더 검토하셔서 정확하게 신호가 발생되는 수식 부탁드립니다.
감사합니다.
-----------------------------------------------------------
안녕하세요 예스스탁입니다.
해당식은 만기일 다음날만시초가에 신호가 발생하지 않는 식입니다.
위 내용이 맞으시면 해당식 정상적으로 신호가 발생하고 있습니다.
만약 만기일날에 시초가에 매수를 안하고자 하시면
아래와 같이 작성해 사용하셔야 합니다.
해당식은 전일 마지막봉에 if문을 충족시켜 다음날 시초가 들어올때
신호가 발생하는 것이므로 2번째 주 수요일에 StopTrading을 true로 만들어
다음날 시초가에 신호가 안나오게 하셔야 합니다.
Var : ExitTime(150400),TimeDelay(0);
Var : DateChecked(False), StopTrading(False);
Var : va1(0), va2(0), va3(0);
//옵션만기일 청산
va1= int(date/100)-int(date/10000)*100;
va2= date - int(date/100)*100;
va3= DayOfWeek(date);
If va1%1 == 0 And va2 >= 8 And va2 <= 14 And va3 == 3 Then
{
StopTrading = True;
}
If STime == 151500 and StopTrading == false Then
{
Buy("Buy", AtMarket,def, 1);
}
If Time >= ExitTime Then Begin
ExitShort("DayEnd ExitShort");
ExitLong("DayEnd ExitLong");
DateChecked = False;
StopTrading = False;
End;
전일 마지막봉에 if문을 충족시켜 다음날 시초가 들어올때 신호가 발생하는 타입이므로
마지막봉은 시간으로만 지정이 가능합니다.
그러므로 마지막봉으로 지정한 시간에 끝나지 않으면 신호가 발생하지 않고
해당 부분은 따로 처리가 되지 않습니다.
즐거운 하루되세요
> 착한이 님이 쓴 글입니다.
> 제목 : 시가매수 문의
> 수고하십니다.
아래와 같이 옵션만기일을 제외하고 시가매수하여 종가매도하려고 하는데
옵션만기일 근처에 제대로 신호가 안나오는데 수정부탁드립니다.
Var : ExitTime(150400),TimeDelay(0);
Var : DateChecked(False), StopTrading(False);
Var : va1(0), va2(0), va3(0);
//옵션만기일 청산
va1= int(date/100)-int(date/10000)*100;
va2= date - int(date/100)*100;
va3= DayOfWeek(date);
If va1%1 == 0 And va2 >= 8 And va2 <= 14 And va3 == 4 Then
{
StopTrading = True;
}
If STime == 151500 and !StopTrading Then
{
Buy("Buy", AtMarket, 1);
}
If Time >= ExitTime Then Begin
ExitShort("DayEnd ExitShort");
ExitLong("DayEnd ExitLong");
DateChecked = False;
StopTrading = False;
End;
답변 1
예스스탁 예스스탁 답변
2013-12-09 18:28:31
안녕하세요
예스스탁입니다.
1.
만기일 로직이 선물만기일로 되어 있어 수정했습니다.
2.
만기일 다음날은 신호가 발생되게 수정했습니다.
(만기일에는 봉의 시간을 1분봉기준으로 보고 144900으로 지정했습니다.
사용하시는 차트가 5분봉이면 144500으로 수정하시면 됩니다)
사용하는 차트에서 마지막봉의 시간을 확인하고 수정해 주셔야 합니다.
3.
만기일 전일을 수요일로 판단하고 식을 구성하므로
만약 만기일 전날이 휴일이면 만기일에 신호가 발생하게 됩니다.
또한 만기일이 휴일이어서 전일로 당겨진 경우에도 신호가 발생합니다.
해당 부분은 랭귀지에 휴일데이터가 없어 따로 컨트롤이 가능하지 않습니다.
4
기타 수능일과 같이 특별한 날은 날짜를
직접 지정해서 작성해 주셔야 합니다.
아래식에는 올해 수능만 처리가 되어 있습니다.
5.
수정한 식입니다.
Var : ExitTime(150400),TimeDelay(0);
Var : DateChecked(False), StopTrading1(False), StopTrading2(False);
Var : va2(0), va3(0);
//옵션만기일 청산
va2= date - int(date/100)*100;
va3= DayOfWeek(date);
If va2 >= 7 And va2 <= 13 And va3 == 3 Then
StopTrading1 = True;
Else
StopTrading1 = False;
If va2 >= 8 And va2 <= 14 And va3 == 4 Then
StopTrading2 = True;
Else
StopTrading2 = False;
If STime == 151500 and StopTrading1 == false and sdate != 20131107 Then
Buy("Buy1", AtMarket,def, 1);
#만기일의 마지막봉 시간
If STime == 144500 and StopTrading2 == true and sdate != 20131107 Then
Buy("Buy2", AtMarket,def, 1);
If Time >= ExitTime Then Begin
ExitShort("DayEnd ExitShort");
ExitLong("DayEnd ExitLong");
DateChecked = False;
End;
#수능일
if sdate == 20131107 and stime == 161500 Then
Buy("Buy3", AtMarket,def, 1);
즐거운 하루되세요
> 착한이 님이 쓴 글입니다.
> 제목 : 시가매수 재문의
> 문의내용에 대한 답변은 감사드리나, 좀더 정확한 답변 부탁드립니다.
제가 원하는 것은 옵션만기일을 제외하고 시가매수하여 종가매도하는
간단한 내용입니다.
답변주신 수식을 적용해보니, 옵션만기일은 신호가 발생하지 않으나,
옵션만기 다음날도 신호가 발생하지 않고 있네요. 옵션만기 다음날은
신호가 발생하여야 합니다.
또다른 문제는 2013년 8월 8일의 경우 옵션만기일임에도 진입신호가
발생하였습니다.
바쁘시겠지만 좀 더 검토하셔서 정확하게 신호가 발생되는 수식 부탁드립니다.
감사합니다.
-----------------------------------------------------------
안녕하세요 예스스탁입니다.
해당식은 만기일 다음날만시초가에 신호가 발생하지 않는 식입니다.
위 내용이 맞으시면 해당식 정상적으로 신호가 발생하고 있습니다.
만약 만기일날에 시초가에 매수를 안하고자 하시면
아래와 같이 작성해 사용하셔야 합니다.
해당식은 전일 마지막봉에 if문을 충족시켜 다음날 시초가 들어올때
신호가 발생하는 것이므로 2번째 주 수요일에 StopTrading을 true로 만들어
다음날 시초가에 신호가 안나오게 하셔야 합니다.
Var : ExitTime(150400),TimeDelay(0);
Var : DateChecked(False), StopTrading(False);
Var : va1(0), va2(0), va3(0);
//옵션만기일 청산
va1= int(date/100)-int(date/10000)*100;
va2= date - int(date/100)*100;
va3= DayOfWeek(date);
If va1%1 == 0 And va2 >= 8 And va2 <= 14 And va3 == 3 Then
{
StopTrading = True;
}
If STime == 151500 and StopTrading == false Then
{
Buy("Buy", AtMarket,def, 1);
}
If Time >= ExitTime Then Begin
ExitShort("DayEnd ExitShort");
ExitLong("DayEnd ExitLong");
DateChecked = False;
StopTrading = False;
End;
전일 마지막봉에 if문을 충족시켜 다음날 시초가 들어올때 신호가 발생하는 타입이므로
마지막봉은 시간으로만 지정이 가능합니다.
그러므로 마지막봉으로 지정한 시간에 끝나지 않으면 신호가 발생하지 않고
해당 부분은 따로 처리가 되지 않습니다.
즐거운 하루되세요
> 착한이 님이 쓴 글입니다.
> 제목 : 시가매수 문의
> 수고하십니다.
아래와 같이 옵션만기일을 제외하고 시가매수하여 종가매도하려고 하는데
옵션만기일 근처에 제대로 신호가 안나오는데 수정부탁드립니다.
Var : ExitTime(150400),TimeDelay(0);
Var : DateChecked(False), StopTrading(False);
Var : va1(0), va2(0), va3(0);
//옵션만기일 청산
va1= int(date/100)-int(date/10000)*100;
va2= date - int(date/100)*100;
va3= DayOfWeek(date);
If va1%1 == 0 And va2 >= 8 And va2 <= 14 And va3 == 4 Then
{
StopTrading = True;
}
If STime == 151500 and !StopTrading Then
{
Buy("Buy", AtMarket, 1);
}
If Time >= ExitTime Then Begin
ExitShort("DayEnd ExitShort");
ExitLong("DayEnd ExitLong");
DateChecked = False;
StopTrading = False;
End;
다음글
이전글