커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다

안녕하세요. if crossup(c, 100) then buy(); 를 사용하면 갭상승으로 100을 뛰어넘어도 매수가 되더라고요. 원하는 바와 다르게요.. 그래서 if c[1]<=100 and c>100 and (c-c[1])<0.15 then buy();를 쓰려고 생각해보니까.. 돌파할때 매수될뿐만 아니라.. 하락하다가 전봉 종가가 100이고 이번 봉종가가 100.05일때도 매수가 될것 갈더라고요. crossup 함수에는 이런 일이 안 일어나게 되어있나요? 그런 일이 발생하지 않게 되어있다면, crossup을 일반 예스랭귀지 코드로 풀어써주세요.제가 좀 변형해서 써보고 싶어서요. 감사합니다.
프로필 이미지
흑사슴
2016-10-23
97
글번호 103236
시스템
답변완료

종목검색 질문드립니다.

안녕하세요 항상 수고가 많으시네요. 종목검색 질문좀 드리겠습니다. 200봉 중에서 당일뿐 아니라 200봉안에 제가 원하는 조건을 만족하는 날이 있는 종목을 검색하려 하는데 가능한지 모르겠습니다. 가능하시면 수식 부탁 드리겠습니다. 조건 200봉안에서 종가가 15%이상인날로부터 30일 이내에 저가가 20*1.02 이하로 내려간종목 이때 이평의 이격이 20일선*1.2 > 10일선 이고 10일선 > 5일선인 종목 이때 14봉전까지 평균거래대금이 50억이 이상인 종목 200봉안에서 위 조건을 다 만족하는날이 한번이라도 있는 종목을 검색하고 싶습니다. 그리고 위 조건을 다만족하는날 강조 할수 있는 수식도 같이 부탁드리겠습니다. 감사합니다. 수고하세요~
프로필 이미지
하루4%
2016-10-23
153
글번호 103235
종목검색
답변완료

질문

질문합니다. 수식으로 가능한지를 1. 틱챠트에서 특정이평을 기준으로 상하 %까지를 선으로 나타낼수 있는지요 가능하다면 틱챠트 상하 밴드안에 있을때는 분봉을 적용하여 매수 매도 방향 결정. 2. 틱챠트와 분챠트를 함께 수식으로 표현 가능한지요. 예를 들면 매수방향을 잡는데 분봉에서 특정이평선 위 그리고 틱챠트에서 특정 이평선을 위 두조건을 모두 충족하면 매수 이런 식이 가능한지요. 가능여부만 답해주시면 됩니다. 수식은 구체적으로 질문예정입니다.
프로필 이미지
매의눈
2016-10-23
100
글번호 103234
시스템
답변완료

수식수정부탁드립니다================

제가좀 수정했더니 당일분만 계산하는게 안되네요 1) 데이타를 전일치는 참고하지말고 당일분만 계산하게해주세요 (장시작후 얼마안되어 30봉이평이라도 전일치는 참고하지말고 당일치만 참고하게해주세요) 2) va77 > va87 이면서 처음으로 차이가 500 이상날때 그봉에만 매수신호 표시하고 소리나개하고 va77 < va87 이면서 처음으로 차이가 500 이상날때 그봉에만 매수신호 표시하고 소리나개해주세요 감사합니다 항상 귀찮게해드립니다 수고하세요 Input : Period1(1),Period5(1),단기급증(0),단기급감(0),단기급등락(0), 장기급증(0),장기급감(0),장기급등락(0),돌파(0),급변(0),단기급변(0),순매수급증보정(0), 순매수급감보정(0),순매수보정한계(0)/*,고저기간(0)*/ ,LENGTH1(0) ,LENGTH2(0); Var : va(0); Var : va1(0); Var : va2(0); Var : va3(0); Var : va11(0); Var : va12(0); Var : va38(0); Var : va77(0); Var : va87(0); Var : va88(0); Var : value(0); Var : vp(0),II(0),AA(0),BB(0); var : N(0),T(0); if Bdate != Bdate[1] Then{ II = 0; BB = 0; AA = 0; } II = II+1; BB = BB+Bids; AA = AA+Asks; if II < Period5 Then{ va = (BB/II)-(AA/II)+8000; } else{ va = ma(bids,period5)-ma(asks,period5)+8000; } if II < Period1 Then{ va1 = (BB/II)-(AA/II)+8000; va2 = (BB/II)-(AA/II)+8000; va3 = (BB/II)-(AA/II)+8000; } //순매수에 8000 더해 양의값만들기---------------------------- else{ va1 = ma(bids,period1)-ma(asks,period1)+8000; va2 = ma(bids,period1)-ma(asks,period1)+8000; va3 = ma(bids,period1)-ma(asks,period1)+8000; } //순매수5이평의 급등락축소시작---------------------------- if ii > 1 and va >va[1]+장기급등락 then va = ((va -va[1])/장기급증)+va[1]; if ii > 1 and va <va[1]-장기급등락 then va = va[1]-((va[1] -va)/장기급감); If ii >= 2 Then { //순매수 일정차 이상의급등락축소시작---------------------------- //if va1 >va1[1]+급등락 then va1 = va1 -급등락; if va1 >va1[1]+단기급등락 then va1 = ((va1 -va1[1])/단기급증)+va1[1]; //if va1 >va1[1]+소등락 then va1 = va1 - 소등락; if va1 <va1[1]-단기급등락 then va1 = va1[1]-((va1[1] -va1)/단기급감); //if va1 <va1[1]-급등락 then va1 = va1 + 급등락; //if va1 <va1[1]-소등락 then va1 = va1 + 소등락; //급등락축소시작---------------------------- //순매수 일정차 이하의급등락축소시작---------------------------- if va2 >va2[1]+순매수보정한계 then va2 = ((va2 -va2[1])*순매수급증보정)+va2[1]; if va2 <va2[1]-순매수보정한계 then va2 = va2[1]-((va2[1] -va2)*순매수급감보정); //1이평 막대표시 ----------------------------------------------- If va1 > va1[1] Then { Plot10(va1, "매수잔량 우위"); Plot11(0, "매도잔량 우위"); } Else{ Plot10(0, "매수잔량 우위"); Plot11(va3, "매도잔량 우위"); } //5이평 막대표시 ----------------------------------------------- If va > va[1] Then { Plot3(va, "5매수총잔량 우위"); Plot4(0, "5매도총잔량 우위"); } Else{ Plot3(0, "5매수총잔량 우위"); Plot4(va, "5매도총잔량 우위"); } PlotBaseLine5(va,"기준선5"); PlotBaseLine1(va1,"기준선1"); //순매수와 5이평의 중간값으로 선을 부드럽게함-------------------------------------------- if va < va1 then {vp=((va1-va)/2)+va;} if va1 < va then {vp=((va-va1)/2)+va1;} //Plot20(vp, "반"); //그 위 중간값의 일정 수량차이상의 급등락 표시 if vp > vp[1]+ 급변 Then{plot55(va87-100,"급등");} //if vp > vp[1]+ 급변 Then //{ // PlaySound("C:예스트레이더dataSoundubbles.wav"); } if vp < vp[1]- 급변 Then{plot44(va3-100,"급락");} //if vp < vp[1]- 급변 Then //{ // PlaySound("C:예스트레이더dataSoundaccept.wav" ); } } // if Highest(va1,고저기간 )==0 then{ // va11=Lowest(va1,고저기간 ); if va2 > va2[1]+ 단기급변 Then{plot66(va2,"단기");} if va2 < va2[1]- 단기급변 Then{plot66(va2,"단기");} Plot99(va2, "순매수1차보정"); plot20(vp+100, "반",iff(vp>vp[1]+00,red,iff(vp<vp[1]-00,BLUE,BLACK))); Plot59(va3, "순매수"); //순매수를 테마로 va77 = (3 * Ema(va3,LENGTH1)) - (3 * Ema(Ema(va3,LENGTH1),LENGTH1)) + (Ema(Ema(Ema(va3,LENGTH1),LENGTH1),LENGTH1)); Plot58(va77, "테마"); va88 = va77; if va2 < va77 and va3 > va77 Then { va88 = va3; } if va2 > va77 and va3 < va77 Then { va88 = va3; } Plot95(va88, "테마합"); va87 = (3 * Ema(va88,LENGTH2)) - (3 * Ema(Ema(va88,LENGTH2),LENGTH2)) + (Ema(Ema(Ema(va88,LENGTH2),LENGTH2),LENGTH2)); Plot78(va87, "테마합테마"); /* N=5; if SwingHigh(1,va3,N,N,N*2+1) != -1 Then{ plot38(va3[N],"H",YELLOW,DEF,1); T = 1; } if SwingLow(1,L,N,N,N*2+1) != -1 Then{ plot39(va3[N],"n",GREEN,DEF,1); T = -1; } */ /* if CrossUp(va87,va2) Then {PlaySound("C:₩예스트레이더₩data₩Sound₩bubbles.wav");} if CrossDown(va87,va2) Then {PlaySound("C:₩예스트레이더₩dataSound₩accept.wav");} */ /* if va87>va2 Then {va38 = (va87 - va2) / 2 + va2;} if va87<va2 Then {va38 = (va2 - va87) / 2 + va87;} Plot38(va87, "테마합테마기초중간"); */ //테마합테마 막대표시 ----------------------------------------------- If va87 > va87[1]+00 Then { Plot45(va87-50, "테마합테마매수잔량 우위"); Plot46(0, "테마합테마매도잔량 우위"); } If va87 < va87[1]-00 Then{ Plot45(0, "테마합테마매수잔량 우위"); Plot46(va3-50, "테마합테마매도잔량 우위"); } //매수매도신호------------------------------------------------------- if CrossUp(va2,va87) Then { Plot35(va87+400, "buy"); if CrossUp(va2,va87) Then {PlaySound("C:₩예스트레이더₩data₩Sound₩bubbles.wav");} } if CrossDown(va2,va87) Then { Plot36(va87+200, "sall"); } if CrossDown(va2,va87) Then {PlaySound("C:₩예스트레이더₩data₩Sound₩accept.wav");}
프로필 이미지
leekss1
2016-10-24
108
글번호 103233
지표
답변완료

질문입니다.

500틱 차트, 복합장에서 질문입니다. 질문1) 만약 현재 시간이 09:48 이라면 현재봉부터 전거래일 09:48 까지의 봉의 갯수를 표시하는 지표를 알고 싶습니다. 즉, 현재 시각으로부터 전거래일의 현재시각까지의 봉의 갯수를 알고 싶습니다. 여기에 문제점이 한가지 있다고 생각하는데,(한국시간 중심으로 설명) 복합장의 경우 금요일에 정규장이 종료되고 야간장이 시작되면 토요일로 넘어가게 됩니다. 이러한 경우 다음 거래일은 통상적으로 월요일이기 때문에, 월요일날 봉의 갯수를 측정하는 방법은 월요일 현재시각의 봉부터 금요일 현재시각까지의 봉의 갯수를 측정하고 싶습니다. 비슷한 경우로 일반적인 휴일이 아닌 휴일의 경우 거래일을 하루 건너뛰는 경우도 감안하여 봉의 갯수를 계산하고 싶습니다. 즉, 요지는 현거래일의 시각부터 전거래일의 시각까지 봉의 갯수를 측정하는 것입니다. 질문2) 질문1에서 추가하는 사항으로 현재시각으로부터 전거래일의 현재시각까지 봉의 갯수를 표시하되 그 봉의 갯수가 20개 이하라면 20으로 표기하고 싶습니다. 예시로 부탁드립니다. 감사합니다.
프로필 이미지
yanartas
2016-10-23
105
글번호 103232
지표
답변완료

수식 추가 요청 드립니다.

안녕하세요. 다음의 Price Channel 지표에 고가(TCHAN1)와 저가(BCHAN2)의 중심선을 추가해 주셨으면 합니다. INPUT : LENGTH(17); VAR : TCHAN1(0), BCHAN1(0), TCHAN2(0), BCHAN2(0); TCHAN1 = HIGHEST(HIGH+PriceScale*2, LENGTH)[0]; TCHAN2 = HIGHEST(HIGH+PriceScale*2, LENGTH)[0]; BCHAN1 = LOWEST(LOW-PriceScale*2, LENGTH)[0]; BCHAN2 = LOWEST(LOW-PriceScale*2, LENGTH)[0]; PLOT1(TCHAN1, "TOP1"); PLOT2(TCHAN1-PriceScale*6, "TOP2"); PLOT3(BCHAN1, "BOT2"); PLOT4(BCHAN1+PriceScale*6, "BOT1");
프로필 이미지
고박사122
2016-10-23
150
글번호 103231
지표
답변완료

수식문의 드립니다..

수식에 추가 부탁드릴께요 선언문은 제외했습니다 if (mav3*1.14 <= mav2 or maV31*1.14 <= maV21) and maV3*0.99 < L and maV1 < mav11 and ((mav2*0.995 <= mav1 and mav2*1.075 >= mav1) or (maV21*0.995 <= maV11 and maV21*1.075 >= maV11) or (mav11 > mav21 and maV2 >= maV1)) and !(maV21 > mav2 and maV22 > mav21) and LL[1] > mav6 and L > mav9*1.002 Then buy("b1",atlimit,mav9*1.002); if MarketPosition == 1 Then{ #5% 수익시 절반매도 ExitLong("절반",atlimit,EntryPrice*1.05,"",Floor(MaxContracts*0.5),1); #10% 수익시 나머지수량 전량매도 ExitLong("전량",atlimit,EntryPrice*1.10); #-1% 아래에서 상승해 위로 터치하면 매도 if H < mav7 Then ExitLong("3일매도",atlimit,mav7); if H < mav1*0.995 Then ExitLong("5일매도",atlimit,mav1*0.995); if L > mav3*0.98 Then ExitLong("20일손절",AtStop,mav3*0.98); } ----------------------------------------------------------- 나름 추가매수를 if MarketPosition == 1 and MaxEntries == 1 Then buy("추매",atlimit,EntryPrice*0.95); #피라미딩 다른진입신호 허용 설정해야됨 이렇게 넣었는데 순서가 잘못되어서인지 추가매수가 될때도 있고 안될때도 있고 그러네요 "b1" 매수후 또 maV3*1.02 에 크로스다운이 되면 "b2"로 추가 매수 . 손실 -5%가 &#46124;을때 추가매수 당일 "절반" "3일매도" "5일매도" "20일손절" 이 나오면 재매수 및 추가매수 금지. 수식 추가 부탁드립니다. 행복한 하루 보내시고 수고하세요
프로필 이미지
하루4%
2016-10-24
112
글번호 103230
시스템
답변완료

문의드립니다

문의드립니다 예스글로벌에 적용합니다 1. 수정해주세요.아래 50195 답변주신것은 전일값이 당일까지 연결되서 표시되고 있습니다. 전일값은 전일마감시점까지만 표시되고,당일은 전일과 관계없이 당일값중 해당값이 당일 마감시점까지 표시되도록 해주세요. 2. 매일마다 당일분봉에서 특정시각(0900,1330,1500)의 3개의 시가(지표명:시가1,시가2,시가3)를 각시가의 시작시점부터 당일종가 마감시점까지,지표명이 라인우측에 표시되게해서 나타내는 지표식 부탁드립니다.
프로필 이미지
뉴스타트
2016-10-24
106
글번호 103229
지표
답변완료

부탁드립니다

수고하십니다(미안합니다) 50162재질문입니다 1.새로생긴차의값을직전수치에(상방일때)더한값표시 2.직전수치에 직직전차의가값을(상방일때)더한값표시 3.새로생긴차의값을직전수치에(하방일때)뺀값표시 4.직전수치에 직직전차의가값을(하방일때)뺀값표시
프로필 이미지
파생돌이
2016-10-22
107
글번호 103228
지표