첨부 이미지
그림1
그림2
안녕하세요.
로직에 따라 당일 진입 후 당일 청산하는 시스템전략식을 예제로 만들어보고 있는데요
실제로 SetStopEndofday(151900);로 당일청산 기능을 원했으나
시스템 성능 보고서의 거래내역을 보면 당일청산이 제대로 이뤄지지 않는 것 같습니다.
혹시 어떻게 하면 당일 모든 포지션을 종료하는 전략을 구현할 수 있을까요?
아래 로직 다시 적어놓겠습니다. 감사합니다.
#적삼병 & 흑삼병 전략!
# 양봉이 연속 3개 출현 + 매수잔량이 매도잔량보다 multi배 만큼 많으면 매수
# 음봉이 연속 3개 출현 + 매도잔량이 매수잔량보다 multi배 만큼 많으면 매도
# 당일청산, PointStop으로 손절잡기
input : multi(1), Losslimit(3); #multi는 배수를 의미하는 변수 Losslimit은 손절(기본 3포인트)
#적삼병
if C > O and C[1] > O[1] and C[2] > O[2] # 양봉 3개
and Bids > Asks * multi Then # 매수잔량이 매도잔량보다 multi배 만큼 많으면
Buy("매수"); #매수
SetStopEndofday(151900); #장종료 1분전 모두 청산
#흑삼병
if C < O and C[1] < O[1] and C[2] < O[2] # 음봉 3개
and Asks > Bids * multi Then # 매도잔량이 매수잔량보다 multi배 만큼 많으면
Sell("매도"); #매도
SetStopEndofday(151900); #장종료 1분전 모두 청산
SetStopLoss(Losslimit, PointStop); #3포인트 불리해지면 손절
답변 2
예스스탁
예스스탁 답변
2021-07-21 15:21:35
안녕하세요
예스스탁입니다.
if문의 구조상 일봉이상의 차트에서는 당일청산이나 시간을 조건으로 신호발생이 불가능합니다.
if문이 봉완성시(다음봉시가)를 기준으로 합니다.
차트가 일봉이면 다음날시초가 수신되어야 봉이 완성되고
작성하신 매수진입과 매도진입도 봉완성시에 신호가 발생합니다.
즐거운 하루되세요
> 멍드래곤 님이 쓴 글입니다.
> 제목 : 당일청산 문의드립니다.
> 안녕하세요.
로직에 따라 당일 진입 후 당일 청산하는 시스템전략식을 예제로 만들어보고 있는데요
실제로 SetStopEndofday(151900);로 당일청산 기능을 원했으나
시스템 성능 보고서의 거래내역을 보면 당일청산이 제대로 이뤄지지 않는 것 같습니다.
혹시 어떻게 하면 당일 모든 포지션을 종료하는 전략을 구현할 수 있을까요?
아래 로직 다시 적어놓겠습니다. 감사합니다.
#적삼병 & 흑삼병 전략!
# 양봉이 연속 3개 출현 + 매수잔량이 매도잔량보다 multi배 만큼 많으면 매수
# 음봉이 연속 3개 출현 + 매도잔량이 매수잔량보다 multi배 만큼 많으면 매도
# 당일청산, PointStop으로 손절잡기
input : multi(1), Losslimit(3); #multi는 배수를 의미하는 변수 Losslimit은 손절(기본 3포인트)
#적삼병
if C > O and C[1] > O[1] and C[2] > O[2] # 양봉 3개
and Bids > Asks * multi Then # 매수잔량이 매도잔량보다 multi배 만큼 많으면
Buy("매수"); #매수
SetStopEndofday(151900); #장종료 1분전 모두 청산
#흑삼병
if C < O and C[1] < O[1] and C[2] < O[2] # 음봉 3개
and Asks > Bids * multi Then # 매도잔량이 매수잔량보다 multi배 만큼 많으면
Sell("매도"); #매도
SetStopEndofday(151900); #장종료 1분전 모두 청산
SetStopLoss(Losslimit, PointStop); #3포인트 불리해지면 손절
안녕하세요 답변 감사합니다.
코딩이 처음이라 너무 어려운데,
일봉 이상의 차트에서는 당일청산이 안되는 이유를 다른 예로 조금 쉽게 설명해주시면 감사드리겠습니다.
제 전략식에서
양봉이 3개 확인되면 다음날 시가에 매수진입을 하게 되고,
그 진입한 날 청산을 원해서 SetendofDay 함수를 집어넣은 것인데
이게 왜 안되는지 순서로서 이해하기가 어렵습니다 ㅠ
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 당일청산 문의드립니다.
> 안녕하세요
예스스탁입니다.
if문의 구조상 일봉이상의 차트에서는 당일청산이나 시간을 조건으로 신호발생이 불가능합니다.
if문이 봉완성시(다음봉시가)를 기준으로 합니다.
차트가 일봉이면 다음날시초가 수신되어야 봉이 완성되고
작성하신 매수진입과 매도진입도 봉완성시에 신호가 발생합니다.
즐거운 하루되세요
> 멍드래곤 님이 쓴 글입니다.
> 제목 : 당일청산 문의드립니다.
> 안녕하세요.
로직에 따라 당일 진입 후 당일 청산하는 시스템전략식을 예제로 만들어보고 있는데요
실제로 SetStopEndofday(151900);로 당일청산 기능을 원했으나
시스템 성능 보고서의 거래내역을 보면 당일청산이 제대로 이뤄지지 않는 것 같습니다.
혹시 어떻게 하면 당일 모든 포지션을 종료하는 전략을 구현할 수 있을까요?
아래 로직 다시 적어놓겠습니다. 감사합니다.
#적삼병 & 흑삼병 전략!
# 양봉이 연속 3개 출현 + 매수잔량이 매도잔량보다 multi배 만큼 많으면 매수
# 음봉이 연속 3개 출현 + 매도잔량이 매수잔량보다 multi배 만큼 많으면 매도
# 당일청산, PointStop으로 손절잡기
input : multi(1), Losslimit(3); #multi는 배수를 의미하는 변수 Losslimit은 손절(기본 3포인트)
#적삼병
if C > O and C[1] > O[1] and C[2] > O[2] # 양봉 3개
and Bids > Asks * multi Then # 매수잔량이 매도잔량보다 multi배 만큼 많으면
Buy("매수"); #매수
SetStopEndofday(151900); #장종료 1분전 모두 청산
#흑삼병
if C < O and C[1] < O[1] and C[2] < O[2] # 음봉 3개
and Asks > Bids * multi Then # 매도잔량이 매수잔량보다 multi배 만큼 많으면
Sell("매도"); #매도
SetStopEndofday(151900); #장종료 1분전 모두 청산
SetStopLoss(Losslimit, PointStop); #3포인트 불리해지면 손절