항상 수고하십니다.
75050번에 작성해주신 수식을 시뮬에 사용했는데 매수신호는 하루에 3~4번 나오는거 같은데 매도신호는 그 이상 여러번 발생 하는거 같아서 재문의 드립니다.
근데 저는 하루에 매수신호, 매도신호 합쳐서 3번 신호가 나왔으면 합니다.
어디 부분을 수정해야 할까요?
감사합니다.
#영업일 변경시
#entry변수는 0으로 초기화
if Bdate != Bdate[1] Then
entry = 0;
#진입이 발생하면(전봉대비 수량증가)
#entry변수는 1씩 증가
if CurrentContracts > CurrentContracts[1] Then
entry = entry+1;
if BBdn > 0 and C < bbdn and #BBdn값이 0보다 크고(위 로직에 의해 일간볼밴하단값이 계산이 되었고) 종가가 일간 볼밴하단보다 작고
RSIV <= 30 and #기본차트 RSI는 30 이하이고
mav1 > 0 and mav2 > 0 and mav1 < mav2 and #mav1과 mav2는 0보다 크고 (위 로직에 의해 일간아평값이 계산이 되었고) 일간5이평이 일간 20이평보다 작고
macdv < macds and #기본차트 MACD는 MACD시그널보다 작고ㅜㅡㅜ
entry < 진입횟수 Then #진입횟수는 지정한 값 이하일때
Buy("b",OnClose,DEF,Floor(매수금액/C)); #지정한 금액만큼 매수
if MarketPosition == 1 and #매수후
C > AvgEntryPrice and #종가가 평균가보다 크고
BBup > 0 and C > bbup and #종가가 일간볼밴상단보다 크고
RSIV >= 70 and # 기본차트 RSI는 70이상이고
mav1 > 0 and mav2 > 0 and mav1 > mav2 and #일간5이평이 일간20이평보다 크고
macdv > macds Then #기본차트 MACD는 MACD시그널보다 크면 지정금액만큼 청산
ExitLong("bx",OnClose,DEF,"",Floor(매도금액/C),2);
답변 1
예스스탁
예스스탁 답변
2021-12-17 10:55:32
안녕하세요
예스스탁입니다.
if Bdate != Bdate[1] Then
entry = 0;
if CurrentContracts > CurrentContracts[1] Then
entry = entry+1;
entry가 진입횟수만 카운트를 합니다.
진입청산을 합쳐서 카운트 되게 변경하시려면
아래와 같이 카운트 내용을 변경하시면 됩니다.
if Bdate != Bdate[1] Then
entry = 0;
if CurrentContracts != CurrentContracts[1] Then
entry = entry+1;
즐거운 하루되세요
> 필명이요 님이 쓴 글입니다.
> 제목 : 수식 문의드립니다.
> 항상 수고하십니다.
75050번에 작성해주신 수식을 시뮬에 사용했는데 매수신호는 하루에 3~4번 나오는거 같은데 매도신호는 그 이상 여러번 발생 하는거 같아서 재문의 드립니다.
근데 저는 하루에 매수신호, 매도신호 합쳐서 3번 신호가 나왔으면 합니다.
어디 부분을 수정해야 할까요?
감사합니다.
#영업일 변경시
#entry변수는 0으로 초기화
if Bdate != Bdate[1] Then
entry = 0;
#진입이 발생하면(전봉대비 수량증가)
#entry변수는 1씩 증가
if CurrentContracts > CurrentContracts[1] Then
entry = entry+1;
if BBdn > 0 and C < bbdn and #BBdn값이 0보다 크고(위 로직에 의해 일간볼밴하단값이 계산이 되었고) 종가가 일간 볼밴하단보다 작고
RSIV <= 30 and #기본차트 RSI는 30 이하이고
mav1 > 0 and mav2 > 0 and mav1 < mav2 and #mav1과 mav2는 0보다 크고 (위 로직에 의해 일간아평값이 계산이 되었고) 일간5이평이 일간 20이평보다 작고
macdv < macds and #기본차트 MACD는 MACD시그널보다 작고ㅜㅡㅜ
entry < 진입횟수 Then #진입횟수는 지정한 값 이하일때
Buy("b",OnClose,DEF,Floor(매수금액/C)); #지정한 금액만큼 매수
if MarketPosition == 1 and #매수후
C > AvgEntryPrice and #종가가 평균가보다 크고
BBup > 0 and C > bbup and #종가가 일간볼밴상단보다 크고
RSIV >= 70 and # 기본차트 RSI는 70이상이고
mav1 > 0 and mav2 > 0 and mav1 > mav2 and #일간5이평이 일간20이평보다 크고
macdv > macds Then #기본차트 MACD는 MACD시그널보다 크면 지정금액만큼 청산
ExitLong("bx",OnClose,DEF,"",Floor(매도금액/C),2);