안녕하세요 해당 시스템식에서 궁금한게 있어 글을 남깁니다.
아래 식은 매수하고 다다음날 12시에 청산 하는 내용인데,
아래의 식은.. 거래일 기준이 아니라 단순 날짜로 계산되는것 같습니다.
예를들어 금요일에 매수되었다면 다음날은 월요일 다다음날은 화요일이라서
화요일 12시에 청산이 되어야 하는데, 월요일 12시에 청산되는걸 발견하였습니다.
아래의 식을 거래일로 작성하려면 어떻게 해야하는지 확인 부탁드립니다.
if MarketPosition == 1 Then
if sdate >= EntryDate+2 and sTime == 120000 Then
{
ExitLong("다다음날 12시청산");
}
답변 1
예스스탁
예스스탁 답변
2022-05-26 11:38:00
안녕하세요
예스스탁입니다.
날짜는 달력상 기준으로 리턴됩니다.
또한 진입이 만약 20220430이면 +2해도 20220432가 됩니다.
아래와 같이 거래일수를 카운트하는 수식을 만들고 거래일수를 이용해 청산하게 하시면 됩니다.
var : dd(0),ED(0);
if Bdate != Bdate[1] Then
dd = dd+1;
if MarketPosition == 1 Then
{
if MarketPosition != MarketPosition[1] Then
ED = DD[BarsSinceEntry];
if dd >= ED+2 and sTime == 120000 Then
{
ExitLong("다다음날 12시청산");
}
}
즐거운 하루되세요
> 맴맴잉 님이 쓴 글입니다.
> 제목 : 시스템식 문의 드립니다.
> 안녕하세요 해당 시스템식에서 궁금한게 있어 글을 남깁니다.
아래 식은 매수하고 다다음날 12시에 청산 하는 내용인데,
아래의 식은.. 거래일 기준이 아니라 단순 날짜로 계산되는것 같습니다.
예를들어 금요일에 매수되었다면 다음날은 월요일 다다음날은 화요일이라서
화요일 12시에 청산이 되어야 하는데, 월요일 12시에 청산되는걸 발견하였습니다.
아래의 식을 거래일로 작성하려면 어떻게 해야하는지 확인 부탁드립니다.
if MarketPosition == 1 Then
if sdate >= EntryDate+2 and sTime == 120000 Then
{
ExitLong("다다음날 12시청산");
}