커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7773
글번호 230811
답변완료
소수점 관련 함수 문의
안녕하세요 ?
소수점 이하 몇자리에서 절사시키는 함수가 있나요 ?
예를 들면 150.581230의 이동평균선 값이 나왔을 때, 소수점이하 3자리부터 잘라
150.58의 값이 나오도록 하는 함수가 있는지 답변 바랍니다.
감사합니다.
2009-04-21
964
글번호 21813
답변완료
수식 수정 테스트 부탁드립니다
보내주신 수식을 적용하여 보니
진입이후 설정한 이익이 발생하였는데도 불구하고
손절이 나왔습니다.
다시한번수식을 점검해 주시면 고맙겠습니다.
namu6247 @ naver . com
2009-04-21
904
글번호 21812
답변완료
저점정렬
수고 많으십니다.
아래 식으로 정렬을 하니 중복되는 값들이 발생하는데 중복되는 값을 없애는 방법은 없나요?
예를 들어 100,90,85,85,60,85,90,70 등이 있다면 아래의 식은 SL[1]=60,SL[2]=70,SL[3]=85,SL[4]=85,SL[5]=85,SL[6]=90,SL[7]=90,SL[8]=100으로 나타나네요.
90과 85를 각각 한 개로 인식하는 방법을 문의합니다.SL[1]=60,SL[2]=70,SL[3]=85,SL[4]=90,SL[5]=100으로 가격도 정리하는 방법입니다. 꼭 좀 알려주세요.
================ 아 래 ==========================
안녕하세요
예스스탁입니다.
input :left(3),right(3);
var : tempi2(0),tempmin(0),tempi(0),tempIndex(0);
array : SL[11](0),NTHVALUE[11](0);
SL[1] = Swinglow(1,L,Left,right,dayindex()+1);
SL[2] = SwingLow(2,L,Left,right,dayindex()+1);
SL[3] = SwingLow(3,L,Left,right,dayindex()+1);
SL[4] = SwingLow(4,L,Left,right,dayindex()+1);
SL[5] = SwingLow(5,L,Left,right,dayindex()+1);
SL[6] = SwingLow(6,L,Left,right,dayindex()+1);
SL[7] = SwingLow(7,L,Left,right,dayindex()+1);
SL[8] = SwingLow(8,L,Left,right,dayindex()+1);
SL[9] = SwingLow(9,L,Left,right,dayindex()+1);
SL[10] = SwingLow(10,L,Left,right,dayindex()+1);
For tempi2 = 1 to 10
{
tempmin = 99999999;
For tempi = 1 to 10
{
if ( tempmin > SL[tempi] ) then
{
tempmin = SL[tempi];
tempIndex = tempi;
}
}
NTHVALUE[tempi2] = tempmin;
SL[tempIndex] = 99999999;
}
plot1(NTHVALUE[1]);
plot2(NTHVALUE[2]);
plot3(NTHVALUE[3]);
plot4(NTHVALUE[4]);
plot5(NTHVALUE[5]);
plot6(NTHVALUE[6]);
plot7(NTHVALUE[7]);
plot8(NTHVALUE[8]);
plot9(NTHVALUE[9]);
plot10(NTHVALUE[10]);
즐거운 하루되세요
> HI_coco 님이 쓴 글입니다.
> 제목 : 저점가격 정렬
> 수고 많으십니다
문의번호 8798의 내용은 아래와 같습니다
저의 질문은 고점가격을 높은 순서가 아닌 저점가격을 낮은 순서로 정렬을 하고자하면
어떻게 해야 하나요, 아래 예에서 80, 90, 100, 110 이렇게 정렬하는 것을 의미합니다.
== 아래 ==
안녕하세요
예스스탁입니다.
input :left(3),right(3);
var : tempi2(0),tempmax(0),tempi(0),tempIndex(0);
array : SH[11](0),NTHVALUE[11](0);
SH[1] = SwingHigh(1,h,Left,right,dayindex()+1);
SH[2] = SwingHigh(2,h,Left,right,dayindex()+1);
SH[3] = SwingHigh(3,h,Left,right,dayindex()+1);
SH[4] = SwingHigh(4,h,Left,right,dayindex()+1);
SH[5] = SwingHigh(5,h,Left,right,dayindex()+1);
SH[6] = SwingHigh(6,h,Left,right,dayindex()+1);
SH[7] = SwingHigh(7,h,Left,right,dayindex()+1);
SH[8] = SwingHigh(8,h,Left,right,dayindex()+1);
SH[9] = SwingHigh(9,h,Left,right,dayindex()+1);
SH[10] = SwingHigh(10,h,Left,right,dayindex()+1);
For tempi2 = 1 to 10
{
tempmax = -99999999;
For tempi = 1 to 10
{
if ( tempmax < SH[tempi] ) then
{
tempmax = SH[tempi];
tempIndex = tempi;
}
}
NTHVALUE[tempi2] = tempmax;
SH[tempIndex] = -99999999;
}
plot1(NTHVALUE[1]);
plot2(NTHVALUE[2]);
plot3(NTHVALUE[3]);
plot4(NTHVALUE[4]);
plot5(NTHVALUE[5]);
plot6(NTHVALUE[6]);
plot7(NTHVALUE[7]);
plot8(NTHVALUE[8]);
plot9(NTHVALUE[9]);
plot10(NTHVALUE[10]);
총 당일 15개 까지 정렬하여 보여드립니다.
즐거운 하루되세요
> 불나는오리 님이 쓴 글입니다.
> 제목 : 당일 고점의 가격 정렬
> SwingHigh와 같은 것으로 그때 그때 고점을 알 수 있었는데..
이것을 당일부터 현재시점까지
고점이 생성되었을 경우의 순서(높은값부터~낮은값 순서대로)적인 값을 알고 싶습니다.
예를 들면,
오늘 시장이 시작되고 12시가 된 시점에서 SwingHigh로 나온 값들이
90, 100, 110, 80 이렇게 나왔을때...
가장 높은 값은 110
둘째는 100
셋째는 90
넷째는 80
이렇게 얻어오는 방법을 알고 싶습니다.
수고하세요.
2009-04-21
963
글번호 21811
답변완료
키움용 수식 보조지표 부탁드립니다.
안녕하세요...관리자님..제가 입문한지 얼마안된 초보라 아래의 키움용 수식을 리딩용 로직 지표로 바꿔보려 이리저리 꿰맞추어 보아도 몇가지 오류가 나오며 잘 안되더군요.
아래는 macd와 비교되는 고,저,시,종가를 이용한 변형된 지표입니다..부디관리자님께서
도와 주셨으면하고 부탁드립니다..^^메일로 부탁드려요. <wbj5235 @ naver.com>
감사합니다.
지표조건설정 :
Smooth : 3 (임의값)
Smooth2 : 3 (임의값)
==============================================
지표명 :
수식 :
Z=eavg((C-L)-(H-C), Period);
Z2=eavg((H-O)-(H-C), Period);
Z3=eavg((H-O)-(O-L), Period);
eavg(eavg((Z+Z2+Z3)/3, Smooth),Smooth2)
지표조건설정 :
Period : 5 (신뢰도 위주) / 3 (타이밍 위주)
Smooth : 3 (임의값)
Smooth2 : 3 (임의값)
라인설정 :
막대 (이왕이면 시그날 선으로...0선위면 적색,0선 아래면 청색으로 라인안 내용을 채웠으면 합니다만..)
비교기준 ; 0기준선
==============================================
2009-04-20
1650
글번호 21808
답변완료
매매가 일어나지 않아 문의드립니다.
어제 일정 시점에 대한 timehigh, timelow를 사용하는 법을 알려주셔서
다양한 로직에 사용해보려 하는데
매매가 일어나지 않는 경우가 있어서 문의 드립니다.
제가 아래와 같이 코딩해서 돌려보았습니다.
if date != date[1] Then
var2 = var1[1]; ## 전일 9시~12시 전까지의 최저가
var1 = TimeLow(90000,115959); ## 당일 9시~12시 전까지의 최저가
var : DOEB(0);
Input : 진입A2_atrP(0.16);
DOEB = data2(atr(9))*진입A2_atrP;
if C > dayopen+dayopen*DOEB/100
and daylow(1) == var2 then
buy();
이렇게 코딩을 했는데 진입이 되지 않네요.
Input : 진입A2_atrP(0.16);
var : DOEB(0);
DOEB = data2(atr(9))*진입A2_atrP;
if C > dayopen+dayopen*DOEB/100 then
buy();
이렇게만 코딩해서 구동하면 정상적으로 작동이 되는데
위에 언급한 timelow 관련식을 적으면 안되네요.
도움좀 부탁드립니다.
수고스러우시더라도 왜 그런지까지 알려주시면 감사하겠습니다.
좋은 하루 보내세요!
2009-04-20
1020
글번호 21806
답변완료
매매 한번만되게 해주세요..
아까 멜보냈었는데요.. 매매 한번만 되게 해주세요..
robets00@naver.com
2009-04-20
1001
글번호 21799
답변완료
시스템식 부탁드립니다
input : SP(5),LP(20);
if ma(data2(c),SP) > ma(data2(c),LP)
and ma(data3(c),SP) < ma(data3(c),LP)
Then buy("매수");
if ma(data2(c),SP) < ma(data2(c),LP)
and ma(data3(c),SP) > ma(data3(c),LP)
Then Sell("매도");
1포인트 목표가 이익청산하고 다음 반대쪽 신호 나올때까지
진입금지 시키는 시스템식 만들고 싶은데 잘 안되네요/
(예) (매도포지션 이익청산을 했다면 다음 신규매수신호 나올때까지 진입금지)
(매수포지션 이익청산을 했다면 다음 신규매도신호 나올때까지 진입금지)
그리고 당일 총수익 3포인트 이상발생시 당일매매중지
하루 손실거래 연속4회 발생시 당일매매중지
부탁드립니다
지난번 교대역지점 교육받고 열심히 노력하고 있습니다
감사합니다
jtk2010@naver.com
2009-04-20
1148
글번호 21798
답변완료
참조종목으로 신호 발생시
수고하십니다.
옵션챠트를 주종목, 선물챠트를 참조 종목으로 하여
매매를 한다고 할때,
말씀하시길
"참조종목의 어느 가격에 정확히 도달시에 신호를 발생할 수 없습니다.
봉완성시로만 작성가능하며 onclose타입으로만 작성가능합니다"
그렇다면 참조종목 봉완성되면 주종목에서 바로 매수가 되어야 합니까? 아니면 바로 매수가 안나올수도 있나요?
예를들어 "선물지수가 시초가보다 1피 오르면 콜옵션 1계약 무조건매수하라"(1분봉)
했을때 선물지수 1피 오르고 봉완성 됬는데도 콜옵션 1계약 매수가 안되면 수식에 문제
가 있는것이겠죠?
제가 사용하는 수식이 조건에 도달했는데도 한번씩 매수가 되지 않아 질문드려봅니다.
2009-04-20
1031
글번호 21793
답변완료
시스템
아래 별표부분 배열이 이해가 되지 않습니다.]
초보자라 생각하시고 자세한 설명 부탁드려요
Input: FastMA(9),SlowMA(26),MacdMA(4), NCOs(4), NBars(50), Trailbar(6);
Vars: MVal(0), MAvg(0), MDif(0), Counter(0), TotalBars(0), HighestHi(0), LowestLo(0);
Array: cov[2,50](0);
MVal = MACD(FastMA,SlowMA);
MAvg = ema(MACD(FastMA,SlowMA),MacdMA);
MDif = MVal - MAvg;
//{ Store the MACD Cross information in the cov array }
if crossup(MDif, 0) OR CrossDown(MDIF, 0) Then Begin
*******For counter = 0 to 49 Begin
cov[ 0 , 50 - counter ] = cov[ 0 , 49 - counter ];
cov[ 1 , 50 - counter ] = cov[ 1 , 49 - counter ];
cov[ 2 , 50 - counter ] = cov[ 2 , 49 - counter ];
End;
cov[ 0, 0] = CurrentBar;
cov[ 1, 0] = High;
cov[ 2, 0] = Low;
End; ********
2009-04-20
1119
글번호 21787