커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1359
글번호 230811
답변완료
수식 검토 부탁드리겠습니다
질문 몇가지 부탁드리겠습니다
질문1. ARRV 배열의 이동평균을 ARRMA 로 작성했는데요,
값이 제대로 (작게 나오네요) 안나오네요 어디서 잘못 작성한건지 검토 좀 부탁 드리겠습니다
작성한 수식대로라면 ARRV 배열에 포함된 값들로만 3이동평균 한게 맞지 않나요??
VAR : P1(0),SUM1(0),ARRMA(0);
var : m1(0),m2(0),T(0),HH(0),HH1(0),LL(0),CNT(0),HARR(0),hvi(0);
VAR:TLUP(0);
ARRAY : ARR[100](0),VII[100](0),ARRV[100](0);
if H>L*1.11 Then
{
TLUP=TL_NEW(sDatE,sTimE,H,sDatE,sTimE,99999);
TL_SetColoR(TLUP,CyaN);
TL_SetSizE(TLUP,1);
for cnt = 99 downto 1
{
ARR[CNT] = ARR[CNT-1];
VII[CNT] = VII[CNT-1];
ARRV[CNT] = ARRV[CNT-1];
}
ARR[0] = H;
VII[0] = DayOpen*1.10;
if ARR[4] > 0 Then
{
HARR = 0;
HVI = 0;
For cnt = 0 to 4
{
if harr == 0 or (harr > 0 and ARR[cnt] > harr) Then
{
HARR = ARR[cnt];
HVI = VII[cnt];
}
}
if HVI > 0 Then
{
ARRV[0] = HVI;
}
}
# Plot11(ARR[0]);
# Plot12(HARR[0]);
Plot13(ARRV[0]);
P1=3;
IF ARRV[P1-1]>0 TheN
{
SUM1=0;
FoR CNT= 0 TO P1-1;
{
SUM1= SUM1+ARRV[CNT];
}
ARRMA=SUM1/P1;
PLOT22(ARRMA);
}
}
질문2.
아래 수식에서 배열 ARR의 5일간 최고값을 HARR에 대입하고 그 값들로 "ARRH 라는 배열"로 만들고 난뒤에,
ARR 배열에 ARRH값을 삽입하고자 (0번에 ARRH 값이 오고 그다음에 H값이 오도록) 아래와 같이 작성했는데 잘 안나오네요 어디서 잘못됐는지 한번 봐주셨으면 합니다
ARR[1]을 출력했을때 HIGH 값이 잘 나오는데 ARR[0]으로 하면 5일간 최고 고가 값이 안나오네요..
VAR : P1(0),SUM1(0),ARRMA(0);
var : m1(0),m2(0),T(0),HH(0),HH1(0),LL(0),CNT(0),HARR(0),hvi(0);
VAR:TLUP(0);
ARRAY : ARR[100](0),VII[100](0),ARRV[100](0),ARRH [100](0);
if H>L*1.11 Then
{
TLUP=TL_NEW(sDatE,sTimE,H,sDatE,sTimE,99999);
TL_SetColoR(TLUP,CyaN);
TL_SetSizE(TLUP,1);
for cnt = 99 downto 1
{
ARR[CNT] = ARR[CNT-1];
VII[CNT] = VII[CNT-1];
ARRV[CNT] = ARRV[CNT-1];
ARRH[CNT]= ARRH[CNT-1];
}
ARR[0] = H;
VII[0] = DayOpen*1.10;
if ARR[4] > 0 Then
{
HARR = 0;
HVI = 0;
For cnt = 0 to 4
{
if HARR == 0 or (HARR > 0 and ARR[cnt] > HARR) Then
{
HARR = ARR[cnt];
HVI = VII[cnt];
}
}
if HVI > 0 AND HARR>0 Then
{
ARRV[0] = HVI;
ARRH[0]=HARR;
}
}
FoR cnt = 99 downto 1
{
ARR[CNT] = ARR[CNT-1];
}
ARR[0]=HARR[0];
Plot12(HARR);
# Plot11(ARR[0]);
}
질문3.
arr 배열의 값들을 보고자 디버그 수식을 작성했는데요
혹시 각 봉에서의 모든 배열 값들을 외부로 추출해서 쓰려면 (PRINT)
MessageLoG("%.1f,%.1f,%.1f",ARR[0],ARR[1],ARR[2]);
예를들어 50번 까지 보려면 이런식으로 모두 나열해서 쓰는 방법 밖에 없나요??
범위 지정 할 수 있는 수식이 있는지 궁금합니다
2024-11-20
747
글번호 185465
답변완료
수식 문의 드립니다.
안녕하세요. 개발자님,
늘 감사드립니다.
수식 문의 드립니다.
매수진입 : 10일선과 20일선이 정배열후
10일선에 처음 닿은 봉포함 이전 10개의 봉중 최고가를 위로 돌파하여
그 최고가 위에 종가가 형성되면,
그 봉의 종가에 시장가로 3계좌 매수 진입
손절 : 진입후 가격이, 진입한 봉의 최저가에 닿으면 보유한 물량 모두 청산
청산1 : 진입봉 이후에 나온 첫 음봉 종가에 1계좌 청산
청산2: 가격이 10일선 에 가격이 닿으면 바로 시장가로 1계좌 청산
청산3 : 20일선 아래에 종가가 형성되면, 바로 종가에 남은 모든 물량 청산
-------
감사합니다.
늘 ~ 좋은 날 되세요 ^^
2024-11-20
683
글번호 185450
답변완료
지표 문의드립니다.
안녕하세요.
항상 도움 주심에 감사드립니다.
1. 현재봉(0봉)기준
0봉 ~ 이전30봉의 고점
이전 30봉 ~ 이전60봉의 고점
이전 60봉 ~ 이전 90봉의 고점
...
...
위와 같이 30봉씩 끊어서 각 고점을 이동평균한 선을 부탁드립니다.
2. 위 1번 선에서 10포인트씩 더한 선을 부탁드립니다.
3. 현재봉(0봉) 기준
0봉 ~ 이전30봉의 저점
이전 30봉 ~ 이전60봉의 저점
이전 60봉 ~ 이전 90봉의 저점
...
...
위와 같이 30봉씩 끊어서 각 저점을 이동평균한 선을 부탁드립니다.
4. 위 3번 선에서 10포인트씩 뺀 선을 부탁드립니다.
항상 감사드립니다.
2024-11-20
679
글번호 185447
하늘선물 님에 의해서 삭제되었습니다.
2024-11-20
1
글번호 185446
답변완료
수식요청드립니다.
주가가 일목균형표 5봉간 5%이내있을때 파워종목검색
2024-11-20
691
글번호 185445
답변완료
수식변경 부탁드립니다.
input : length(70);
input : mult(1.2);
var : src(0),lag(0),zlema(0),volatility(0),trend(0),zlemaColor(0),tx(0);
src = close;
lag = floor((length - 1) / 2);
zlema = ema(src + (src - src[lag]), length);
volatility = highest(atr(length), length*3) * mult;
if CrossUp(close, zlema+volatility) Then
trend = 1;
if CrossDown(close, zlema-volatility) Then
trend = -1;
zlemaColor = iff(trend == 1 , Blue, red);
plot1(zlema, "Zero Lag Basis",zlemaColor);
if trend == -1 Then
plot2(zlema+volatility ,"Deviation Band",Blue);
Else
plot2(zlema-volatility , "Deviation Band",red);
if trend == -1 and trend[1] != -1 Then
{
tx = Text_New(sDate,sTime,zlema+volatility,"▼");
Text_SetColor(tx,Blue);
Text_SetStyle(tx,2,1);
}
if trend == 1 and trend[1] != 1 Then
{
tx = Text_New(sDate,sTime,zlema-volatility ,"▲");
Text_SetColor(tx,Red);
Text_SetStyle(tx,2,0);
}
위 수식에서 나오는 삼각 신호를 차트표시에서 선택(삼각,사각,원) 할 수 있게 해주시고 신호 크기도 수식에서 숫자로 조절 할 수 있게 변경 부탁드립니다.
감사함니다.
2024-11-20
819
글번호 185444
답변완료
부탁합니다
강조표시는 보라색상 굵게 부탁해요
A=(dayhigh()+daylow()+dayclose())/3;
A1=(Predayhigh()+Predaylow()+Predayclose())/3;
A2=(nPredayhigh(2)+nPredaylow(2)+nPredayclose(2))/3;
A3=(nPredayhigh(3)+nPredaylow(3)+nPredayclose(3))/3;
A4=(nPredayhigh(4)+nPredaylow(4)+nPredayclose(4))/3;
대금1=A*dayVolume();
대금2=A1*predayVolume(1);
대금3=A2*predayVolume(2);
대금4=A2*predayVolume(3);
대금5=A2*predayVolume(4);
총대금=대금1+대금2+대금3+대금4+대금5;
총거래=dayVolume()+predayVolume(1)+predayVolume(2)+predayVolume(3)+predayVolume(4);
B=총대금/총거래;
W5=VALUEWHEN(1, B, B);
CROSSUP(C,W5) && C<O
2024-11-20
806
글번호 185443
답변완료
종목검색식 부탁드림니다.
항상 노고에 감사드림니다.
아래의 수식을 종목검색식으로 부탁드림니다.
A1=Macd(12,26);
A2=eavg(A1,9);
A3=Valuewhen(1,Crossup(A1,0),c);
A4=Valuewhen(1,Crossup(A1,A2),c);
Crossup(c,A3)
&&
Crossup(c,A4)
2024-11-20
716
글번호 185442
답변완료
행복; 검색식 작성 바랍니다
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
검색식 관련입니다
< 질문 >
- 주기; 일봉
- 1봉전부터 99봉전 사이에 상한가를 딱 2번만 하였고
- 2번째 상한가가 된 다음 날부터 1봉전 사이에
* 10일 이격이 130 이상된 경우가 없고
* 20일 이격이 130 이상된 경우가 있고
- 오늘 20일 이격이 110 이하로 내려온 종목을 검색하려고 합니다
검색식 부탁드립니다
수고하십시요^^
2024-11-20
695
글번호 185441