커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1697
글번호 230811
답변완료
종목검색식 문의드려요
수고하십니다
종목검색식문의드립니다 이전에 문의해서 만들어주식 검색식이 2가지 있는데요 2가지를 동시에 만족하는 검색식 문의드립니다
1번
var1 = ma(c,5);
Var2 = ma(C,20);
if CrossDown(var1,Var2) Then
var3 = (var1+Var2)/2;
if Var3 > 0 and CrossUp(C,Var3) Then
Find(1);
2번
input : short(12),long(26);
var : macdv(0),t(0),hh(0),hh1(0);
macdv = macd(short,long);
if CrossUp(macdv,0) Then
{
t = 1;
hh = h;
hh1 = hh[1];
}
if CrossDown(macdv,0) Then
t = -1;
if t == 1 Then
{
if h > hh Then
hh = h;
if hh1 > 0 and CrossUp(C,hh1) Then
Find(1);
}
1,2번 조건을 동시에 만족하는 종목 검색식 부타드립니다
항상 감사합니다
수고하세요~~
2022-01-20
902
글번호 155608
신대륙발견 님에 의해서 삭제되었습니다.
2022-01-20
11
글번호 155607
답변완료
수식 부탁드립니다
안녕하세요
가상화폐를 프로그램하고 있는데
SetStopProfittarget(PriceScale*익절,PercentStop);
SetStopLoss(PriceScale*손절,PercentStop);
어제 알려주셨던 이 식이 적용이 안되는 것 같아서요...
가상화폐 프로그램으로 부탁드립니다
감사합니다
2022-01-20
954
글번호 155606
답변완료
타주기 시스템 수정및 진입시기 조정
항사 감사드립니다.
1.
아래 타주기에(data2) 적용할수있도록 수정부탁드립니다(내용은 요약본입니다)
input:period90(220),횡보율(0.001);
var : var301(0),var321(0);
var : t60(0),t70(0);
var301=ema(c,period90);
var321=ema(c,period90+20);
value1 = 0;
value2 = 0;
value3 = 0;
if var301>var301[1]*(1+횡보율/100) then value1 = value1+1;
else if var301<var301[1]*(1-횡보율/100) then value2 = value2+1;
else value3 = value3+1;
if var321>var321[1]*(1+횡보율/100) then value1 = value1+1;
else if var321<var321[1]*(1-횡보율/100) then value2 = value2+1;
else value3 = value3+1;
if Var301>Var321 Then
t60 = 1 ;
else if Var301<Var321 Then
t60 = -1;
### 그물망 직선라인 1-1 ###
if value1 == 21 Then
t70 = 1 ;
else if value2 == 21 Then
t70 = -1;
/**********************************************************/
2.진입시기 조정
아래 시스템식에서 08:00기준으로
전일발생한 마지막신호(매수/매도) 08:00 이후 최초발생한 신호가 같은방향(매수/매도)이면
당일발생한 첫번째 신호는 무시하고 두번째신호부터 진입
전일마지막 발생신호(매수/매도)가 당일 첫번째신호(매도/매수)가 다른방향이면 첫번째신호에 진입
### 동일방향 재진입금지/전일 마지막신호와 무관하게 진입 ###
var : entrycnt(0);
if stime == 080000 or (stime > 080000 and stime[1] < 080000) Then # 08:00 장시작 #
Entrycnt = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
Entrycnt = Entrycnt+1;
if stime >= 080000 or stime < 050000 Then{ #매매시간 08:00~05:00#
if ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != 1) or (MarketPosition == -1)) and #동일방향 재진입금지#
Var10>Var20 and t60==1 Then
BUY("B_1");
if ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)) and #동일방향 재진입금지#
Var10<Var20 and t60==-1 Then
sell("S_1");
}
감사합니다
2022-01-20
1077
글번호 155605
답변완료
선물 주문 수급 분석 챠트
선물 매수 혹은 매도 주문이 대량으로 들어오는 것을 (1회에 100계약 이상의 주문)
챠트에 막대 챠트로 구현할 수 있을까요 ? 가능하다면 수식 부탁드립니다.
2022-01-20
815
글번호 155604
답변완료
함수문의 드립니다
안녕하세요~
마직막 줄에서 file end 에러가 나는 이유를 모르겠습니다
value1 = TRIX(5);
value2 = ema(value1,9);
if (sTime > 082000 and sTime < 170000) then
{
If MarketPosition == 0 and #1
crossup(value1,value2) Then
Buy();
SetStopLoss(20,PointStop);
SetStopProfittarget(20,PointStop);
If MarketPosition == 1 and #2
CrossDown (value1,value2) Then
SetStopLoss(20,PointStop);
SetStopProfittarget(20,PointStop);
2022-01-19
974
글번호 155603
답변완료
지표 수식(지표2-1, 지표2-2) 작성 부탁드립니다. (지표1-1, 1-2와 관련)
담당자님, 안녕하세요.
작성해주신 지표 수식을
잘 활용하고 있습니다. 감사드립니다..
지표 수식의 작성 부탁드립니다.
아래 Q&A75607번에서 지표수식 요청(지표1-1, 1-2)드린 것과 로직상 유사한 지표입니다.
작성에 참고하시기 바랍니다.
(KOSPI200 주가지수 선물) 분봉 차트에서, 예를 들면 3분봉 차트에서
적용하는 지표라고 가정하고 다음과 같은 로직의 지표 수식 작성을 부탁드립니다.
------------------------------------------------------------------------------------
<지표 2-1>
3분봉 차트에서
전일(D-1) 09:00 ~ 09:30 기간의 (고점 + 저점) / 2 = A
(cf. 즉, A는 30분 차트에서는 전일(D-1) 첫째 30분봉의 '(고점+저점)/2'와 같음.)
전일(D-1) 09:30 ~ 10:00 기간의 (고점 + 저점) / 2 = B
(cf. 즉, B는 30분 차트에서는 전일(D-1) 둘째 30분봉의 '(고점+저점)/2'와 같음.)
............ 위와 같은 로직으로
(10:00~10:30) -> C, (10:30~11:00) -> D, (11:00~11:30) -> E, (11:30~12:00) -> F,
(12:00~12:30) -> G, (12:30~13:00) -> H, (13:00~13:30) -> I, (13:30~14:00) -> J,
(14:00~14:30) -> K, (14:30~15:00) -> L,
전일(D-1) 15:00 ~ 15:30 기간의 (고점 + 저점) / 2 = M
전일(D-1) 15:00 ~ 장마감까지 기간의 (고점 + 저점) / 2 = N
(cf. 즉, N은 30분 차트에서는 전일(D-1) 마지막 30분봉의 '(고점+저점)/2'와 같음.)
으로 정의하고
MAX(A, B, C, D........K, L, M, N) = Q
[전일(D-1)의 최고가 - Q] /2 = R
[Q - 전일(D-1)의 최저가] /2 = S
를 각각 계산하여
'당일(D)의 시가 + (R*1)'를 표시하는 수평라인
'당일(D)의 시가 + (R*2)'를 표시하는 수평라인
'당일(D)의 시가 + (R*3)'를 표시하는 수평라인
'당일(D)의 시가 + (R*4)'를 표시하는 수평라인
'당일(D)의 시가 + (R*5)'를 표시하는 수평라인
'당일(D)의 시가 + (R*6)'를 표시하는 수평라인
'당일(D)의 시가 - (S*1)'를 표시하는 수평라인
'당일(D)의 시가 - (S*2)'를 표시하는 수평라인
'당일(D)의 시가 - (S*3)'를 표시하는 수평라인
'당일(D)의 시가 - (S*4)'를 표시하는 수평라인
'당일(D)의 시가 - (S*5)'를 표시하는 수평라인
'당일(D)의 시가 - (S*6)'를 표시하는 수평라인
을 모두 한꺼번에 당일(D) 장시작 부터 당일 장마감까지 기간에 표시함.
그런데
만일 당일 현재가가 '당일(D)의 시가 + (R*6)'의 수치(표시된 최종라인)을 상회(상향돌파)하면
'당일(D)의 시가 + (R*7)'를 표시하는 수평라인을 추가로 표시하고
그 라인도 상향돌파하면 순차적으로 배수 n이 증가하여
당일(D) 지수 최고점 보다 상단에 위치하게 되는
수평라인[당일(D)의 시가 + (R*n)]이 (1개) 반드시 존재하도록 그 수평라인이 추가됨.
또한,
만일 당일 현재가가 '당일(D)의 시가 - (S*6)'의 수치(표시된 최종라인)을 하회(하향돌파)하면
'당일(D)의 시가 - (S*7)'를 표시하는 수평라인을 추가로 표시하고
그 라인도 하향돌파하면 순차적으로 배수 n이 증가하여
당일(D) 지수 최저점 보다 하단에 위치하게 되는
수평라인[당일(D)의 시가 - (S*n))]이 (1개) 반드시 존재하도록 그 수평라인이 추가됨.
<cf. 수평라인들이 추가되는 조건은 화면 상하단 크기의 제약을 고려하여 배수 n을 6으로 제한함에 따라
당일의 등락폭이 매우 큰 날에는 당일의 지수구간을 모두 표시하지 못할 경우에 대한 보완임.
그런데 이를 지표 수식으로 구현하는 것이 어려우면 제외해도 되지만 가능하다면 구현되기를 희망함>
cf. 위 변수 A~S 중에서 O는 0(영)과 혼동될 수 있어 제외하였으며
P는 지표 2-2에서만 사용되어 제외하였습니다. 참고하시기 바랍니다.
--------------------------------------------------------------------------------------
<지표 2-2>
3분봉 차트에서
A, B, C.........L, M, N에 대한 정의는 위의 지표2-1과 동일하게
A, B, C.........L, M, N을 정의하고
MAX(A, B, C, D........K, L, M, N) = Q
[전일(D-1)의 최고가 - Q] /2 = R
[Q - 전일(D-1)의 최저가] /2 = S
를 각각 계산함. <cf. 위의 지표 2-1과 A~N 정의, Q, R, S 수식 모두 동일함>
여기에
당일(D)의 (09:00에 시작하는 분봉 시가 + 09:30에 완성되는 분봉 종가) / 2 = P
(cf. 즉, P는 3분 차트에서 당일(D) '[(09:00~09:03) 캔들의 시가 + (09:27~09:30) 캔들의 종가] / 2'이며
P는 30분 차트에서는 당일 첫째 30분봉의 '(시가+종가)/2'와 같음.)
으로 (추가) 정의하고
'P + (R*1)'를 표시하는 수평라인
'P + (R*2)'를 표시하는 수평라인
'P + (R*3)'를 표시하는 수평라인
'P + (R*4)'를 표시하는 수평라인
'P + (R*5)'를 표시하는 수평라인
'P + (R*6)'를 표시하는 수평라인
'P - (S*1)'를 표시하는 수평라인
'P - (S*2)'를 표시하는 수평라인
'P - (S*3)'를 표시하는 수평라인
'P - (S*4)'를 표시하는 수평라인
'P - (S*5)'를 표시하는 수평라인
'P - (S*6)'를 표시하는 수평라인
을 모두 한꺼번에 당일(D) 9:30 부터 당일 장마감까지 기간에 표시함.
(cf. P는 당일(D) 첫째 30분봉의 시가와 종가의 봉중심임.)
그런데
만일 당일 현재가가 'P + (R*6)'의 수치(표시된 최종라인)을 상회(상향돌파)하면
'P + (R*7)'를 표시하는 수평라인을 추가로 표시하고
그 라인도 상향돌파하면 순차적으로 배수 n이 증가하여
당일(D) 지수 최고점 보다 상단에 위치하게 되는
수평라인[P + (R*n)]이 (1개) 반드시 존재하도록 그 수평라인이 추가됨.
또한,
만일 당일 현재가가 'P - (S*6)'의 수치(표시된 최종라인)을 하회(하향돌파)하면
'P - (S*7)'를 표시하는 수평라인을 추가로 표시하고
그 라인도 하향돌파하면 순차적으로 배수 n이 증가하여
당일(D) 지수 최저점 보다 하단에 위치하게 되는
수평라인[P - (S*n)]이 (1개) 반드시 존재하도록 그 수평라인이 추가됨.
<cf. 수평라인들이 추가되는 조건은 화면 상하단 크기의 제약을 고려하여 배수 n을 6으로 제한함에 따라
당일의 등락폭이 매우 큰 날에는 당일의 지수구간을 모두 표시하지 못할 경우에 대한 보완임.
그런데 이를 지표 수식으로 구현하는 것이 어려우면 제외해도 되지만 가능하다면 구현되기를 희망함>
cf. 위 변수 A~S 중에서 O는 0(영)과 혼동될 수 있어 제외하였습니다. 참고하시기 바랍니다.
---------------------------------------------------------------------------------------
위와 같이 지표2-1, 2-2의 수식 작성을 부탁드립니다.
담당자님 노고와 답변에 미리
감사드립니다.
2022-01-20
1022
글번호 155601
답변완료
지표 수식(지표1-1, 지표1-2) 작성 부탁드립니다. (지표2-1, 2-2와 관련)
담당자님, 안녕하세요.
항상 수고 많으십니다.
작성해주신 지표 수식을 잘 활용하고 있습니다. 감사드립니다.
지표 수식의 작성 부탁드립니다.
위 Q&A 75608번에서 지표수식 요청(지표2-1, 2-2)드린 것과 로직상 유사한 지표입니다.
작성에 참고하시기 바랍니다.
(KOSPI200 주가지수 선물) 분봉 차트에서, 예를 들면 3분봉 차트에서
적용하는 지표라고 가정하고 다음과 같은 로직의 지표 수식 작성을 부탁드립니다.
------------------------------------------------------------------------------------
<지표 1-1>
3분봉 차트에서
전일(D-1)의 (09:00에 시작하는 분봉 시가 + 09:30에 완성되는 분봉 종가) / 2 = A
(cf. 즉, A는 3분 차트에서 전일(D-1) '[ (09:00~09:03) 캔들의 시가 + (09:27~09:30) 캔들의 종가 ] / 2'이며
A는 30분 차트에서는 전일(D-1) 첫째 30분봉의 '(시가+종가)/2'와 같음.)
전일(D-1)의 (09:30에 시작하는 분봉 시가 + 10:00에 완성되는 분봉 종가) / 2 = B
(cf. 즉, B는 3분 차트에서 전일(D-1) '[ (09:30~09:33) 캔들의 시가 + (09:57~10:00) 캔들의 종가 ] / 2'이며
B는 30분 차트에서는 전일(D-1) 둘째 30분봉의 '(시가+종가)/2'와 같음.)
............ 위와 같은 로직으로
(10:00~10:30) -> C, (10:30~11:00) -> D, (11:00~11:30) -> E, (11:30~12:00) -> F,
(12:00~12:30) -> G, (12:30~13:00) -> H, (13:00~13:30) -> I, (13:30~14:00) -> J,
(14:00~14:30) -> K, (14:30~15:00) -> L,
전일(D-1)의 (15:00에 시작하는 분봉 시가 + 15:30에 완성되는 분봉 종가) / 2 = M
전일(D-1)의 (15:30에 시작하는 분봉 시가 + 장마감시 완성되는 분봉 종가) / 2 = N
(cf. 즉, N은 30분 차트에서는 전일 마지막 30분봉의 '(시가+종가)/2'와 같음.)
으로 정의하고
MAX(A, B, C, D........K, L, M, N) = Q
[전일(D-1)의 최고가 - Q] /2 = R
[Q - 전일(D-1)의 최저가] /2 = S
를 각각 계산하여
'당일(D)의 시가 + (R*1)'를 표시하는 수평라인
'당일(D)의 시가 + (R*2)'를 표시하는 수평라인
'당일(D)의 시가 + (R*3)'를 표시하는 수평라인
'당일(D)의 시가 + (R*4)'를 표시하는 수평라인
'당일(D)의 시가 + (R*5)'를 표시하는 수평라인
'당일(D)의 시가 + (R*6)'를 표시하는 수평라인
'당일(D)의 시가 - (S*1)'를 표시하는 수평라인
'당일(D)의 시가 - (S*2)'를 표시하는 수평라인
'당일(D)의 시가 - (S*3)'를 표시하는 수평라인
'당일(D)의 시가 - (S*4)'를 표시하는 수평라인
'당일(D)의 시가 - (S*5)'를 표시하는 수평라인
'당일(D)의 시가 - (S*6)'를 표시하는 수평라인
을 모두 한꺼번에 당일(D) 장시작 부터 당일 장마감까지 기간에 표시함.
그런데
만일 당일 현재가가 '당일(D)의 시가 + (R*6)'의 수치(최상단 최종라인)을 상회(상향돌파)하면
'당일(D)의 시가 + (R*7)'를 표시하는 수평라인을 추가로 표시하고
그 라인도 상향돌파하면 순차적으로 배수n이 증가하여
당일(D) 지수 최고점 보다 상단에 있는
수평라인[당일(D)의 시가 + (R*n)]이 (1개) 반드시 존재하도록 그 수평라인이 추가됨.
또한,
만일 당일 현재가가 '당일(D)의 시가 - (S*6)'의 수치(최하단 최종라인)을 하회(하향돌파)하면
'당일(D)의 시가 - (S*7)'를 표시하는 수평라인을 추가로 표시하고
그 라인도 하향돌파하면 순차적으로 배수 n이 증가하여
당일(D) 지수 최저점 보다 하단에 위치하게 위치하게 되는
수평라인[당일(D)의 시가 - (S*n)]이 (1개) 반드시 존재하도록 그 수평라인이 추가됨.
<cf. 수평라인들이 추가되는 조건은 화면 상하단 크기의 제약을 고려하여 당초 n을 6으로 제한함에 따라
당일의 등락폭이 매우 큰 날에는 당일의 지수구간을 모두 표시하지 못할 경우에 대한 보완임.
그런데 이를 지표 수식으로 구현하는 것이 어려우면 제외해도 되지만 가능하다면 구현되기를 희망함>
cf. 위 변수 A~S 중에서 O는 0(영)과 혼동될 수 있어 제외하였으며
P는 지표 1-2에서만 사용되어 제외하였습니다. 참고하시기 바랍니다.
---------------------------------------------------------------------------------------
<지표 1-2>
3분봉 차트에서
A, B, C.........L, M, N에 대한 정의는 위의 지표1-1과 동일하게
A, B, C.........L, M, N을 정의하고
MAX(A, B, C, D........K, L, M, N) = Q
[전일(D-1)의 최고가 - Q] /2 = R
[Q - 전일(D-1)의 최저가] /2 = S
를 각각 계산함. <cf. 위의 지표 1-1과 A~N 정의, Q, R, S 수식 모두 동일함>
여기에
당일(D)의 (09:00에 시작하는 분봉 시가 + 09:30에 완성되는 분봉 종가) / 2 = P
(cf. 즉, P는 3분 차트에서 당일(D) '[(09:00~09:03) 캔들의 시가 + (09:27~09:30) 캔들의 종가] / 2'이며
P는 30분 차트에서는 당일(D) 첫째 30분봉의 '(시가+종가)/2'와 같음.)
으로 (추가) 정의하고
'P + (R*1)'를 표시하는 수평라인
'P + (R*2)'를 표시하는 수평라인
'P + (R*3)'를 표시하는 수평라인
'P + (R*4)'를 표시하는 수평라인
'P + (R*5)'를 표시하는 수평라인
'P + (R*6)'를 표시하는 수평라인
'P - (S*1)'를 표시하는 수평라인
'P - (S*2)'를 표시하는 수평라인
'P - (S*3)'를 표시하는 수평라인
'P - (S*4)'를 표시하는 수평라인
'P - (S*5)'를 표시하는 수평라인
'P - (S*6)'를 표시하는 수평라인
을 모두 한꺼번에 당일(D) 9:30 부터 당일 장마감까지 기간에 표시함.
(cf. P는 당일(D) 첫째 30분봉의 시가와 종가의 봉중심임.)
그런데
만일 당일 현재가가 'P + (R*6)'의 수치(최상단 최종라인)을 상회(상향돌파)하면
'P + (R*7)'를 표시하는 수평라인을 추가로 표시하고
그 라인도 상향돌파하면 순차적으로 배수 n이 증가하여
당일(D) 지수 최고점 보다 상단에 위치하게 되는
수평라인[P + (R*n)]이 (1개) 반드시 존재하도록 그 수평라인이 추가됨.
또한,
만일 당일 현재가가 'P - (S*6)'의 수치(최하단 최종라인)을 하회(하향돌파)하면
'P - (S*7)'를 표시하는 수평라인을 추가로 표시하고
그 라인도 하향돌파하면 순차적으로 배수 n이 증가하여
당일(D) 지수 최저점 보다 하단에 위치하게 되는
수평라인[P - (S*n)]이 (1개) 반드시 존재하도록 그 수평라인이 추가됨.
<cf. 수평라인들이 추가되는 조건은 화면 상하단 크기의 제약을 고려하여 배수 n을 6으로 제한함에 따라
당일의 등락폭이 매우 큰 날에는 당일의 지수구간을 모두 표시하지 못할 경우에 대한 보완임.
그런데 이를 지표 수식으로 구현하는 것이 어려우면 제외해도 되지만 가능하다면 구현되기를 희망함>
cf. 위 변수 A~S 중에서 O는 0(영)과 혼동될 수 있어 제외하였습니다. 참고하시기 바랍니다.
----------------------------------------------------------------------------------------
위와 같이 지표1-1, 1-2의 수식 작성을 부탁드립니다.
담당자님 노고와 답변에 미리
감사드립니다.
2022-01-20
962
글번호 155600
답변완료
부탁 드립니다~~
이평 = ma(c,기간);
개털 = crossup(c(1),이평) && 이평<c(1) && 이평<c;
골든 = crossup(c,이평);
골든전저점 = lowest(L,기간);
개털때전저점 = lowest(L(기간),기간*2);
저점높아지고 = 개털때전저점 <= 골든전저점;
몇봉이내개털 = BarsSince(개털) <= 기간*3;
개털조건 = 저점높아지고 && 몇봉이내개털 && 골든;
GR쌍바닥 = valuewhen(1,개털조건,이평);
기간: 20
여기를 종가상 돌파 하는 봉을 찾을 수 있을까요?
가능 하다면 기간을 5 도 사용 해 보려 합니다.
2022-01-19
796
글번호 155599