하루에 한번만 진입하려고 아래와 같이 Entrydate를 활용했는데,
하루에 2번씩 진입하는게 계속 발생해서요.
수정의견 부탁드립니다~
----------------------------------------------
input: 최초투입금액(10000000),종료시간(153000),gain(1.0),stoploss(1.5), 진입위치(1.002);
VARS: kk(1), capital(0);
if sTime < 종료시간 and MarketPosition == 0 and DayIndex>0 and sdate>=EntryDate(0)+1 then
{
Sell("돌파매도",AtStop,(2*DayLow(1)+2*DayClose(1)-DayHigh(1))/3*진입위치,kk);
}
답변 1
예스스탁
예스스탁 답변
2022-05-04 15:09:38
안녕하세요
예스스탁입니다.
EntryDate(0)은 현재 진입의 날짜입니다.
진입이 되어 있으면 날짜를 리턴하지만 현재봉이 무포지션이면 0이 리턴됩니다.
그러므로 봉의 날짜 20210504가 0+1보다 크므로 계속 진입하게 됩니다.
당일 진입횟수는 아래와 같은 계산식 이용하시면 됩니다.
input: 최초투입금액(10000000),종료시간(153000),gain(1.0),stoploss(1.5), 진입위치(1.002);
VARS: kk(1), capital(0),entry(0);
if Bdate != Bdate[1] Then
entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if sTime < 종료시간 and MarketPosition == 0 and DayIndex>0 and entry < 1 then
{
Sell("돌파매도",AtStop,(2*DayLow(1)+2*DayClose(1)-DayHigh(1))/3*진입위치,kk);
}
즐거운 하루되세요
> 건곤대 님이 쓴 글입니다.
> 제목 : 하루에 한번만 진입
> 하루에 한번만 진입하려고 아래와 같이 Entrydate를 활용했는데,
하루에 2번씩 진입하는게 계속 발생해서요.
수정의견 부탁드립니다~
----------------------------------------------
input: 최초투입금액(10000000),종료시간(153000),gain(1.0),stoploss(1.5), 진입위치(1.002);
VARS: kk(1), capital(0);
if sTime < 종료시간 and MarketPosition == 0 and DayIndex>0 and sdate>=EntryDate(0)+1 then
{
Sell("돌파매도",AtStop,(2*DayLow(1)+2*DayClose(1)-DayHigh(1))/3*진입위치,kk);
}