커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3697
글번호 230811
답변완료
표준편차 사용예시 부탁드립니다.
안녕하세요 매번 질문에 친절한 답변 정말 감사드립니다.
1. 오늘은 제목처럼, 표준편차 사용예시 코드를 부탁드리고자 합니다.
일반적인 표준편차 산출 식이 있음에도 불구하고, 가중 이동평균의 표준편차를 구하려고 합니다.
현재 시점에서, 각 시점의 편차(시점별 값 - 평균값)를 구하는 과정이 어려워 질문드립니다.
각 시점의 편차를 구하려고 할 때, '고정된 평균'값을 어떻게 산출해야 하는지 모르겠습니다.
가령, 종가 데이터의 편차의 제곱의 합을 먼저 구한다고 한다면,
var1 = accumN(c,20)/20;
var2 = accumN(Square(c - var1),20)/20;
.
.
(이하생략)
으로 풀어나가려고 했으나 곰곰이 생각해보면 va1인 평균값은 var2에서 계산될 때 [0],[1],[2]..
순으로 이전 시점의 평균값을 뱉어내니 현재 시점의 평균과 다르게 됩니다. 이 부분을 어떻게
해결할지 모르겠습니다..
2. 곁다리로, 함수 중 하나를 여쭤보고자 합니다.
메뉴얼에 있는함수중에, AvgDeviation(Price,Length) 라는 편차평균을 구하는 놈이 있는데, 얘는
용도가 뭔가요? 편차의 합은 항상 0이라서, 평균이 0일텐데 정확한 용도가 궁금합니다..
항상 갑갑한 질문 죄송합니다....
2024-11-20
767
글번호 185467
답변완료
추가질문 드립니다.
앞질문(90070)에 대한 추가질문
첨부 파일에 보듯이 1>화살표가 너무커서..크기 조절하는 방법좀 가르쳐주세.
2>새로생긴 보조지표 어떠게 보는 건가요?
2024-11-20
671
글번호 185466
답변완료
수식 검토 부탁드리겠습니다
질문 몇가지 부탁드리겠습니다
질문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
773
글번호 185465
답변완료
수식 문의 드립니다.
안녕하세요. 개발자님,
늘 감사드립니다.
수식 문의 드립니다.
매수진입 : 10일선과 20일선이 정배열후
10일선에 처음 닿은 봉포함 이전 10개의 봉중 최고가를 위로 돌파하여
그 최고가 위에 종가가 형성되면,
그 봉의 종가에 시장가로 3계좌 매수 진입
손절 : 진입후 가격이, 진입한 봉의 최저가에 닿으면 보유한 물량 모두 청산
청산1 : 진입봉 이후에 나온 첫 음봉 종가에 1계좌 청산
청산2: 가격이 10일선 에 가격이 닿으면 바로 시장가로 1계좌 청산
청산3 : 20일선 아래에 종가가 형성되면, 바로 종가에 남은 모든 물량 청산
-------
감사합니다.
늘 ~ 좋은 날 되세요 ^^
2024-11-20
717
글번호 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
700
글번호 185447
하늘선물 님에 의해서 삭제되었습니다.
2024-11-20
1
글번호 185446
답변완료
수식요청드립니다.
주가가 일목균형표 5봉간 5%이내있을때 파워종목검색
2024-11-20
717
글번호 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
843
글번호 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
829
글번호 185443