커뮤니티
수식 확인 부탁 드립니다
2026-06-25 13:36:28
43
글번호 232577
input: b1(20);
buy("b", atstop, highest(high,b1));
ExitLong("s", atstop, lowest(low,b1));
수식에 50이동평균선위에서 매수 진입 조건추가 var1 = ma(c,p1); 작성했습니다.
input: b1(20),p1(50);
var : var1(0);
var1 = ma(c,p1);
if var1 < c Then
{ buy("b1", atstop, highest(high, b1)}
ExitLong("s", atstop, lowest(low,b1));
기본 수식은 종가가 20개 봉의 최고가에 도달시 매수 진입 되도록 작성함.
문제점 : 50이동평균선 위에서만 매수진입되도록 추가하니 50이동평균선 아래에서 20개봉 최고가발생 후 종가가 50이평 돌파하면 매수신호발생됩니다.
수정요청사항 : 종가가 20개 봉의 최고가에 도달시 50이동평균선아래인경우 매수신호 발생 하지않고 50이동평균선 위에서만 매수진입 발생 되도록 수식 작성 부탁 드립니다.
20개봉 최고가의 매수신호 발생은 기본챠트의 봉숫자에 따라 계산 하고 진입 허용만 50 이평선 위로 제한 되도록 수정바랍니다.
AI서비스로 여러번 수정해도 50이동평균선 아래에서 20개봉 최고가발생 후에 종가가 50이평 돌파하면 매수신호발생는 문제점 계속 발생 됩니다.
답변 1
예스스탁 예스스탁 답변
2026-06-25 14:44:11
안녕하세요
예스스탁입니다.
if문은 봉완성시 조건체크하고
atstop은 봉완성시 값을 셋팅하고
다음봉 미완성시 가격조건 충족하면 즉시 신호가 발생하는 타입입니다.
작성하신 수식은
봉완성시 종가가 20이평보다 크면
20개봉 최고가를 셋팅하고 다음봉 현재가가 해당값 이상이면 신호가 발생합니다.
봉미완성시 20개봉 최고가 터치시에
50이평보다 위이면 매수하게 하시려면
미완성시 터치값을 기준으로 50이평을 별도 계산하고
조건지정해 신호발생하게 하셔야 합니다.
20개봉 최고가 터치시 이평값 기준이므로 이후 현재가 변동에 따라
이평선 위치는 변경될 수 있습니다.
input: b1(20),p1(50);
var : var1(0);
//다음봉 시가가 20봉최고가 이상
if NextBarOpen >= highest(high, b1) Then
{
//다음봉시가기준 50이평값 계산
var1 = (NextBarOpen+AccumN(C,P1-1))/P1;
if NextBarOpen > var1 Then
buy("b1", atstop, highest(high, b1));
}
Else //다음봉 시가가 20봉최고가 미만이면
{
//50봉최고값 도달 기준 20이평값
var1 = (highest(high, b1)+AccumN(C,P1-1))/P1;
if highest(high, b1) > var1 Then
buy("b2", atstop, highest(high, b1));
}
ExitLong("s", atstop, lowest(low,b1));
즐거운 하루되세요
다음글
이전글