수고많으십니다.
20이평선 돌파매매에 있어서
#진입
20이평선을 돌파한 봉이 30틱 이상이면 봉 완성 전에 즉시 매수, 이하면 매수하지 않다가 돌파한 봉이 20이평선 위에 안착하고 나서 20이평선을 이탈하지 않는 상태에서 20이평선을 50틱 이상 차이로 종가로 상승하면 매수.
#청산
20이평선을 20틱 이상 하향돌파 되돌림이 나오면 즉시 청산, 만일 하향돌파 봉이 20틱이 안되고 이탈한 상태라면 이후 종가로 30틱이상 차이로 종가가 완성되면 청산.
매도는 그 반대입니다.
노고에 미리 감사드립니다.
답변 1
예스스탁
예스스탁 답변
2025-04-15 16:01:44
안녕하세요
예스스탁입니다.
var : mav(0),NextBarMAV(0),T(0);
#20이평선
mav = ma(c,20);
#상향하면 1
if CrossUp(c,mav) Then
{
T = 1;
#돌파한 봉에서 시세가 시가기준이평보다 30틱이상이면 T는 2
#b1로 매수한 것으로 간주
if T == 1 and H >= (O+AccumN(C,19)[1])+PriceScale*30 Then
T = 2;
}
#하향이탈하면 -1
if CrossDown(c,mav) Then
{
T = -1;
#돌파한 봉에서 시세가 시가기준이평보다 30틱 이하이면 T는 -2
#s1로 매도한 것으로 간주
if T == -1 and L <= (O+AccumN(C,19)[1])-PriceScale*30 Then
T = -2;
}
#현재 데드상태에서
if MarketPosition == 0 and T == -1 Then
{
#다음봉에서 시가시점 20이평선보다 30틱 이상 높은 현재가 발생 즉시 매수
NextBarMAV = (NextBarOpen+AccumN(C,19))/20;
Buy("b1",AtStop,NextBarMAV+PriceScale*30);
}
#골드 후 20이평선 대비 50틱이상 상승하면 매수
if MarketPosition == 0 and T == 1 and C >= mav+PriceScale*50 Then
{
Buy("b2");
#T는 2로 변경
T = 2;
}
#매수진입 후
if MarketPosition == 1 Then
{
NextBarMAV = (NextBarOpen+AccumN(C,19))/20;
#골드상태에서
#다음봉에서 시가시점 20이평선보다 20틱 이상 낮은 현재가 발생 즉시 청산
if T == 1 Then
ExitLong("bx1",AtStop,NextBarMAV-PriceScale*20);
#종가상 이평-30틱 이하이면 청산
if C <= mav-PriceScale*30 Then
ExitLong("bx2");
}
#현재 골드상태에서
if MarketPosition == 0 and T == 1 Then
{
#다음봉에서 시가시점 20이평선보다 30틱 이상 낮은 현재가 발생 즉시 매도
NextBarMAV = (NextBarOpen+AccumN(C,19))/20;
Sell("s1",AtStop,NextBarMAV-PriceScale*30);
}
#데드 후 20이평선 대비 50틱이상 하락하면 매수
if MarketPosition == 0 and T == 1 and C <= mav-PriceScale*50 Then
{
Sell("s2");
#T는 -2로 변경
T = -2;
}
#매도진입 후
if MarketPosition == -1 Then
{
NextBarMAV = (NextBarOpen+AccumN(C,19))/20;
#데드상태에서
#다음봉에서 시가시점 20이평선보다 20틱 이상 높은 현재가 발생 즉시 청산
if T == -1 Then
ExitShort("sx1",AtStop,NextBarMAV+PriceScale*20);
#종가상 이평+30틱 이상이면 청산
if C >= mav+PriceScale*30 Then
ExitShort("sx2");
}
즐거운 하루되세요