예스스탁
예스스탁 답변
2020-08-03 16:38:19
안녕하세요
예스스탁입니다.
1
#노이즈
var: noise(0),rng(0),upv(0),T(0);
noise = 1 - data2(abs((O-C)/(H-L)));
rng = data2(H - L);
upv = Data2(c)+rng*noise;
if MarketPosition <= 0 and crossup(C,upv)
then
{
buy("돌파매수",Atmarket,DEF,10);
T = Data2(TimeToMinutes(sTime));
}
#상한매도
if MarketPosition == 1 and
Data2(TimeToMinutes(sTime)) != T and
crossdown(H,upv) and upv == upv[1]
then
exitlong();
2
#노이즈
var: noise(0),rng(0),upv(0),T(0);
noise = 1 - data2(abs((O-C)/(H-L)));
rng = data2(H - L);
upv = Data2(c)+rng*noise;
if MarketPosition <= 0 and crossup(C,upv)
then
{
buy("돌파매수",Atmarket,DEF,10);
T = Data2(TimeToMinutes(sTime));
}
#상한매도
if MarketPosition == 1 and
Data2(TimeToMinutes(sTime)) != T and
H > upv then
exitlong();
즐거운 하루되세요
> 기사단장 님이 쓴 글입니다.
> 제목 : data2로 도출한 채널 돌파관련 문의
> 안녕하세요.
항상 도와주셔서 정말 감사드립니다.
분봉매매에서 채널을 일반적인 일봉 채널이 아닌, 60분봉 채널을 만들기 위해 data2에 60분봉을 선택한 후, data2의 고가 저가를 통해 변동성 채널을 도출하였습니다.
아래와 같은 전략을 개발하려고 하는데
1) 매수: 채널의 상단을 돌파하면 매수
2) 매도: '매수가 이루어진 60분봉 이후'의 60분봉 상단 채널을 돌파 후 꺾이면 매도
아래 2가지 문제에 봉착하였습니다.
문제1: 60분봉이 바뀌는 부분(채널선이 바뀌는 부분)에서 상단선이 상승하면 이를 이어주는 세로선을 종가가 지나가면 crossdown한거라고 생각하고 매도를 해 버립니다. (그림1)
문제2: 만약 Crossdown이 아니라 부등호로 C > 상단 을 해버리면, '매수한 60분봉 이후' 조건이 먹히지 않네요 (그림2)
아래 수식 확인 부탁드리며, 수식보완해주시면 정말 감사드리겠습니다.
(예스트레이더코인 관련 전략관련 궁금한 부분이나, 수식구조가 동일하여 이곳에 문의드리며, 예스트레이더에서도 동일하게 문의드리려고 하였던 부분이니 도와주시면 감사하겠습다)
[문제1 에 대한 수식] - Crossdown사용
#노이즈
var: noise(0);
noise = 1 - data2(abs((O-C)/(H-L)));
#변동성지표
var: rng(0);
rng = data2(H - L);
#매수 조건
# 1. 상한선 돌파 매수
if crossup(C,data2(C)+rng*noise)
then {
buy("돌파매수",Atmarket,DEF,10);
}
#상한매도
if crossdown(H,data2(C)+rng*noise)
then
exitlong();
[문제2 에 대한 수식] - 부등호 사용 및 다음봉 구분 조건 추가
#노이즈
var: noise(0);
noise = 1 - data2(abs((O-C)/(H-L)));
#변동성지표
var: rng(0);
rng = data2(H - L);
#매수 조건
# 1. 상한선 돌파 매수
if crossup(C,data2(C)+rng*noise)
then {
buy("돌파매수",Atmarket,DEF,10);
value1 == 0;
}
#다음 60분으로 60분봉이 넘어가는 조건 추가
if mod(stime,60) ==0
then
{
value1 == 1;
}
#상한매도
if value1 == 1 //다음 60분봉으로 넘어갔을 경우
and H >= data2(C)+rng*noise // crossdown 대신 부등호를 사용하여 해결해보려 하였습니다.
then
exitlong();