커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
4547
글번호 230811
지표
답변완료

보조지표 수정좀 부탁드림니다.

Input : Period(5); var : A(0),B(0); A = ma(a,Period); B = ma(b,Period); Plot1(A, "a이평"); Plot2(B, "b이평"); 이런 수식을 보조지표로 쓴다고 가정할때, 보조지표의 당일의 A의 시가가 100 이고 B의 시가가 200 이면, B의 시가를 100으로 되게해서(즉,A의 시가와 똑같이) 시작하도록 하는 수식좀 부탁드림니다. 어떤식으로 계산하던지 A와 B를 같은 가격으로 시가를 출발하도록 하시면 됨니다.
프로필 이미지
꾀돌이
2016-08-29
98
글번호 101442
지표
답변완료

교재문의

예스랭귀지를 이용한 트레이딩시스템 구축 기초예제는 찾을 수 있는데 실제 시스템 구축사례 프로그램등을 볼 수 잇는 교제는 없는지요 ? 교육 박기는 일정상 쉽지 않는 경우 교재가 있으면 좋겠습니다.
프로필 이미지
구천룡
2016-08-29
111
글번호 101436
시스템
답변완료

부탁드립니다.

다섯 개의 지표파일을(#1 #2, #3, #4, #5)를 하나의 지표파일로 만들고 싶습니다.. 다섯 개라서 뭐가 뭔지 헤롱헤롱하네요 ㅠㅠ 합본 좀 부탁드릴꼐요! 감사합니다! #1 Input : shortPeriod(12), longPeriod(26), Period(9); Var : value(0) , macdosc(0) ; value = MACD(shortPeriod, longPeriod); macdosc = value-ema(value,Period); Plot1(value, "MACD"); Plot2(ema(value,Period), "MACDSignal"); PlotBaseLine1(0, "기준선1"); #2 Input : shortPeriod(12), longPeriod(26), Period(9); Var : macdVal(0), macdSig(0), macdOsc(0); macdVal = MACD(shortPeriod, longPeriod); macdSig = ema(macdVal,Period); macdOsc = macdVal - macdSig; Plot1(macdVal, "MACD"); Plot2(macdSig, "MACDSignal"); if macdOsc > macdOsc[1] then Plot3(macdOsc*2, "MACDOscillator상승"); else plot4(macdOsc*2, "MACDOscillator하락"); PlotBaseLine1(0, "기준선1"); Input : shortPeriod(12), longPeriod(26), Period(9); Var : value(0) , macdosc(0) ; value = MACD(shortPeriod, longPeriod); macdosc = value-ema(value,Period); Plot1(value, "MACD"); Plot2(ema(value,Period), "MACDSignal"); PlotBaseLine1(0, "기준선1"); #3 input : j1(5), j2(10), j3(20), j4(60); var : jw1(0), jw2(0), jw3(0), jw4(0) ; var1 = ma(C,j1); Var2 = ma(C,j2); Var3 = ma(C,j3); Var4 = ma(C,j4); if var1 > var1[1] Then jw1 = 1; if var1 < var1[1] Then jw1 = -1; if jw1 == 1 Then plot1(var1,"이평1",RGB(255,218,185)); Else plot1(var1,"이평1",RGB(0,255,255)); if var2> Var2[1] Then jw2 = 1; if var2 < var2[1] Then jw2 = -1; if jw2 == 1 Then plot2(var2,"이평2",RGB(255,218,185)); Else plot2(var2,"이평2",RGB(0,255,255)); if var3 > var3[1] Then jw3 = 1; if var3 < var3[1] Then jw3 = -1; if jw3 == 1 Then plot3(Var3,"이평3",RGB(255,218,185)); Else plot3(var3,"이평3",RGB(0,255,255)); if var4 > var4[1] Then jw4 = 1; if var4 < var4[1] Then jw4 = -1; if jw4 == 1 Then plot4(var4,"이평4",RGB(255,218,185)); Else plot4(var4,"이평4",RGB(0,255,255)); #4 var1 = dayhigh()-(((dayhigh()-daylow())/100)*(-23.6)); Var2 = dayhigh()-((dayhigh()-daylow())/100); Var3 = dayhigh()-(((dayhigh()-daylow())/100)*23.6); Var4 = dayhigh()-(((dayhigh()-daylow())/100)*38); Var5 = dayhigh()-(((dayhigh()-daylow())/100)*50); Var6 = dayhigh()-(((dayhigh()-daylow())/100)*62); Var7 = dayhigh()-(((dayhigh()-daylow())/100)*76); Var8 = dayhigh()-(((dayhigh()-daylow())/100)*100); Var9 = dayhigh()-(((dayhigh()-daylow())/100)*130); Plot1(var1, "1", BLACK); Plot2(var2, "2", BLACK); Plot3(var3, "3", BLACK); Plot4(var4, "4", BLACK); Plot5(var5, "5", BLACK); Plot6(var6, "6", BLACK); Plot7(var7, "7", BLACK); Plot8(var8, "8", BLACK); Plot9(var9, "9", BLACK); #5 input : N(0); var : Tx1(0), Tx2(0), Tx3(0), Tx4(0), Tx5(0), Tx6(0), Tx7(0); Plot1(dayOpen(N), "시가"); Plot2(dayHigh(N), "고가"); Plot3(dayLow(N), "저가"); plot4(DayClose(1),"전일종가"); Text_Delete(Tx2); Text_Delete(Tx3); tx2 = Text_New(sdate,stime,DayHigh,"고가"); tx3 = Text_New(sdate,stime,DayLow,"저가"); Text_SetStyle(tx1,0,1); Text_SetStyle(tx2,0,1); Text_SetStyle(tx3,0,1); Text_SetStyle(tx4,0,1); If DayClose(1) > DayOpen(1) Then { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayHigh(1); } Else If DayClose(1) < DayOpen(1) Then { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayHigh(1); } Else { value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayLow(1); value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayHigh(1); } Plot5(value1, "디마크 상"); Plot6(value2, "디마크 하"); plot7((Value1+Value2)/2, "디마크 중"); Text_Delete(Tx5); Text_Delete(Tx6); Text_Delete(Tx7); tx5 = Text_New(sdate,stime,value1, "디마크 상"); tx6 = Text_New(sdate,stime,value2, "디마크 하"); tx7 = Text_New(sdate,stime,(Value1+Value2)/2, "디마크 중"); Text_SetStyle(tx5,0,1); Text_SetStyle(tx6,0,1); Text_SetStyle(tx7,0,1);
프로필 이미지
Argo
2016-08-29
111
글번호 101432
지표
답변완료

부탁좀 드리겠습니다.

틱봉 차트를 사용하며, 아래 조건을 만족했을 때 신호 발생되는 수식 2가지를 부탁합니다. ① 기준선 돌파 형과 ② 3개 이평선 묶음형 2가지입니다. 1. 기준선 돌파 형 *매수 신호 발생 조건 a. 20일선이 40일선(기준선) 상방 돌파한후 b. 캔들의 종가가 60일선 위에 있고 (이평선이 아니며, 캔들 몸통 일부가 60일선에 걸려있어도 무시하고 오직 캔들의 종가 기준) c. 캔들의 색상이 양봉일 때 (캔들의 색상이 양봉진행 중이면 예비신호 발생하고, 음봉 진행 중이면 예비 신호는 사라지며, 양봉 확정되면 매수신호 발생한다.) d. 20일선이 기준선을 돌파하고 즉시 위 조건을 만족하지 못할 경우에는 다음 캔들에서 만족하면 신호 발생하고, 다음 캔들에서도 이 조건을 만족하지 못하면 그 다음 캔들에서 만족하면 신호 발생한다. 즉, 20일선이 기준선을 돌파하고 있는 동안에는 위 조건을 만족하면 신호를 발생한다. *매도 신호 발생 조건 a. 20일선이 40일선(기준선) 하방 돌파한후 b. 캔들의 종가가 60일선 아래에 있고 (이평선이 아니며, 캔들 몸통 일부가 60일선에 걸려있어도 무시하고 오직 캔들의 종가 기준) c. 캔들의 색상이 음봉일 때 (캔들의 색상이 음봉진행 중이면 예비신호 발생하고, 양봉 진행 중이면 예비 신호는 사라지며, 음봉 확정되면 매수신호 발생한다.) d. 20일선이 기준선을 돌파하고 즉시 위 조건을 만족하지 못할 경우에는 다음 캔들에서 만족하면 신호 발생하고, 다음 캔들에서도 이 조건을 만족하지 못하면 그 다음 캔들에서 만족하면 신호 발생한다. 즉, 20일선이 기준선을 돌파하고 있는 동안에는 위 조건을 만족하면 신호를 발생한다. * 이익 틱 수 표시 매수진입 또는 매도진입하여 10틱 이상 이익을 실현하고 있을 때 첨부파일 그림과 같이 10틱 단위로 캔들 옆에 표시 2. 3개 이평선 묶음형 * 매수신호 발생 20일선이 40일선이나 60일선 어느 하나를 상방 돌파후 3개 캔들 이내에서 나머지 하나를 상방 돌파하고 캔들의 색상이 음봉이면 예비신호를 양봉이면 매수신호 발생한다. * 매도신호 발생 20일선이 40일선이나 60일선 어느 하나를 하방 돌파후 3개 캔들 이내에서 나머지 하나를 하방 돌파하고 캔들의 색상이 양봉이면 예비신호를 음봉이면 매도신호 발생한다.
프로필 이미지
천왕봉
2016-08-30
132
글번호 101431
시스템

천왕봉 님에 의해서 삭제되었습니다.

프로필 이미지
천왕봉
2016-08-29
0
글번호 101430
시스템
답변완료

수식문의 드립니다.

특정일자는 변수로 집어넣고 특정일의 종가가 조건1보다 크고 특정일 다음날은 분봉에서 일봉rsi의 값이 70이상인경우 매수1,2,3 에서 매수하고 특정일 다음날부터는 매수1,2,3조건 만족시 매수하고 싶습니다. 매수 1 매수 2 매수 3 감사합니다.
프로필 이미지
쭈니오빠
2016-08-29
97
글번호 101429
시스템
답변완료

문의드립니다

항상 친절하고 빠르게 답변해 주셔서 고맙습니다. 아래 SwingHigh를 이용한 매수식에 대응하는 SwingLow를 이용한 매도식을 부탁드립니다. input : Left(3),Right(3); if SwingHigh(1,H,Left,right,Left+Right+1) != -1 Then{ var1 = H[Right]; var2 = index[right]; } if index <= var2+40 Then buy("b1",AtStop,var1+PriceScale*1);
프로필 이미지
민기삼촌
2016-08-28
84
글번호 101428
시스템
답변완료

지표식 부탁드립니다.

매번 성실한 답변 감사드립니다. 지표식 a이평이 하락에서 상승전환(연속하락횟수3봉,상승횟수1회) 이때 macd값-종가비율 (macd/종가*1000)을 저장하고 이후에 macd값-종가비율보다 작고 a이평 상승종목 지표식 검색식 n봉내 a이평이 하락에서 상승전환(연속하락횟수3봉,상승횟수1회) 이때 macd값-종가비율 (macd/종가*1000)을 저장하고 이후에 macd값-종가비율보다 작고 a이평 상승종목 검색식 감사합니다.
프로필 이미지
부양가족
2016-08-28
109
글번호 101427
지표
답변완료

문의드립니다

input : P(20),간격(5); array : mav[12](0); mav[1] = ma(c,P+간격*1); mav[2] = ma(c,P+간격*2); mav[3] = ma(c,P+간격*3); mav[4] = ma(c,P+간격*4); mav[5] = ma(c,P+간격*5); mav[6] = ma(c,P+간격*6); mav[7] = ma(c,P+간격*7); mav[8] = ma(c,P+간격*8); mav[9] = ma(c,P+간격*9); mav[10] = ma(c,P+간격*10); mav[11] = ma(c,P+간격*11); mav[12] = ma(c,P+간격*12); #상향갯수 카운트 var1 = 0; if mav[1] > mav[1][1] Then var1 = var1+1; if mav[2] > mav[2][1] Then var1 = var1+1; if mav[3] > mav[3][1] Then var1 = var1+1; if mav[4] > mav[4][1] Then var1 = var1+1; if mav[5] > mav[5][1] Then var1 = var1+1; if mav[6] > mav[6][1] Then var1 = var1+1; if mav[7] > mav[7][1] Then var1 = var1+1; if mav[8] > mav[8][1] Then var1 = var1+1; if mav[9] > mav[9][1] Then var1 = var1+1; if mav[10] > mav[10][1] Then var1 = var1+1; if mav[11] > mav[11][1] Then var1 = var1+1; if mav[12] > mav[12][1] Then var1 = var1+1; #하향갯수 카운트 var2 = 0; if mav[1] <= mav[1][1] Then var2 = var2+1; if mav[2] <= mav[2][1] Then var2 = var2+1; if mav[3] <= mav[3][1] Then var2 = var2+1; if mav[4] <= mav[4][1] Then var2 = var2+1; if mav[5] <= mav[5][1] Then var2 = var2+1; if mav[6] <= mav[6][1] Then var2 = var2+1; if mav[7] <= mav[7][1] Then var2 = var2+1; if mav[8] <= mav[8][1] Then var2 = var2+1; if mav[9] <= mav[9][1] Then var2 = var2+1; if mav[10] <= mav[10][1] Then var2 = var2+1; if mav[11] <= mav[11][1] Then var2 = var2+1; if mav[12] <= mav[12][1] Then var2 = var2+1; #상향갯수 12개 if var1 == 12 Then buy(); #하향갯수 12개 if var2 == 12 Then sell(); 위수식으로 질문좀 드리겠습니다 각기 다르게 대입을 할려고하니깐 조금문제가있어서 재문의드립니다 1. 위 수식으로 항생 아침 10:15 분부터 1시까지 신호발생 2시부터~5시까지 신호발생 아침 10:15분부터 1시까지 2시부터~5시까지 (5시에 강제청산신호) 그외 시간에는 일체 신호금지 다음날 10시15분부터 위 조건에 일치할경우 신호 발생 2. 위 수식으로 국내선물에 대입해볼려고합니다 아침 9시부터 오후3시 신호발생 아침9시부터 오후3시까지 (3시에 강제청산신호) 그외 시간에는 일체 신호금지 다음날 9시부터 위조건에 일치할경우 신호발생 3. 위 수식으로 해외선물에 대입해볼려고합니다 오후5시부터 새벽2시까지 신호발생 오후5시부터 새벽2시까지 (새벽2시에 강제청산신호) 그외 시간에는 일체 신호금지 다음날 오후5시부터 위조건에 일치할경우 신호발생 4. 혹 위 문의에서 제가 원하는 금액을 벌었을경우 신호 강제신호도 가능한지좀 알고싶습니다 예: 신호 뜨고난후 원하는금액이 100만원이면 100만원을 찍힌게 보이면 강제청산신호발생 50만원이면 50만원이 찍혔을경우 강제청산신호발생 외부변수나 이런걸로 조절이 가능한지좀알고싶습니다 4번 같은경우 가능하면 꼭&#46124;으면 좋겠네요 제가 하루 원하는 목표금액이있을경우 그부분만 찍혔을경우 매매를 하지않았으면 해서 그렇습니다 부탁드리겠습니다 제가 혼자 대입해볼려고하니깐..뭐가 계속 오류가나서 차트상에 시간외 표시가되서 ...재문의드립니다
프로필 이미지
곽민수
2016-08-28
122
글번호 101426
시스템