커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다

스토케스틱 슬로우 10/5/4 ---> a 스토케스틱 슬로우 20/10 ---> b 1. a 와 b 가 모두 기준선 20이하(k선) 일때 a의 %k선이 b의 %k선을 골든크로스 시 매수신호 2. a 와 b 가 모두 기준선 80이상(k선) 일때 a의 %k선이 b의 %k선을 데드크로스 시 매도신호 익절 20 손절 20
프로필 이미지
해피슈
2019-03-31
282
글번호 127502
시스템

ddd

ddd
프로필 이미지
이형지
2019-03-31
218
글번호 127501
시스템
답변완료

수식

항상 감사드립니다. 조건에 부합하는 봉에만 우측연장 없이 표현될수 있도록 수식 부탁드립니다. 감사합니다. 안녕하세요 예스스탁입니다. if countif(C>O,2) == 2 and H-L > H[1]-L[1] Then { var1 = h; var2 = l; var3 = O; } plot1(var1); plot2(var2); plot3(var3); plot1(var1+(var1-var2)); plot1(var2-(var1-var2)); if countif(C<O,2) == 2 and H-L > H[1]-L[1] Then { var4 = h; var5 = l; var6 = O; } plot1(var4); plot2(var5); plot3(var6); plot1(var4+(var4-var5)); plot1(var5-(var4-var5)); 즐거운 하루되세요 > 한국사람73 님이 쓴 글입니다. > 제목 : 수식 > 하기 조건에 따른 수식 부탁드립니다. ## 연속 양봉 발생 및 2번째 양봉 고저폭이 첫번째 양봉 고저폭보다 크다 1) 2번째 양봉 고가 & 저가 & 시가를 표시한다 2) 2번째 양봉 고가와 저가의 상방 대칭을 표시한다 3) 2번째 양봉 고가와 저가의 하방 대칭을 표시한다 ## 연속 음봉 발생 및 2번째 음봉 고저폭이 첫번째 양봉 고저폭보다 크다 1) 2번째 음봉 고가 & 저가 & 시가를 표시한다 2) 2번째 음봉 고가와 저가의 상방 대칭을 표시한다 3) 2번째 음봉 고가와 저가의 하방 대칭을 표시한다 감사합니다.
프로필 이미지
한국사람73
2019-03-31
319
글번호 127500
지표

샐리짱 님에 의해서 삭제되었습니다.

프로필 이미지
샐리짱
2019-03-30
0
글번호 127499
지표
답변완료

지표문의

1.아래는 darvas박스 지표인데요 지표를 뛰우면 1,2,3,4,5 숫자가 나타 나는데 의미가 무엇인가요? 또 숫자 표시 안 되게 지표수정 좀 해주세요. inputs : ShowAll(true); var : BoxTop(0), BoxBtm(0), Ctr(0), BBD(0), BBT(0), EBD(0), EBT(0), UpBand(0), DnBand(0), CurrState(1), TextId(-1), TopId(-1), TopIdP(-1), BtmId(-1), BtmIdP(-1), LSId(-1), LSIdP(-1), RSId(-1), RSIdP(-1), HiFirst(true), LoFirst(false), State1(false), State2(false), State3(false), State4(false), State5(false), DrawBox(false), ValidBox(false), HadBreak(false), NewBox(false); if index == 1 then begin BoxTop = high; BoxBtm = low; State1 = true; BBD = date; BBT = time; end; if NewBox and high > UpBand then begin BBD = date; BBT = time; TL_SetEnd(TopId, BBD, BBT, UpBand); TL_SetEnd(BtmId, BBD, BBt, DnBand); RSIdP = RSId ; RSId = TL_New(BBD, BBT, DnBand, BBD, BBT, UpBand); if ShowAll == false and RSIdP <> -1 then TL_Delete( RSIdP ) ; if HiFirst then TL_SetColor(RSId, yellow); else TL_SetColor(RSId, magenta); NewBox = false; State1 = true; LoFirst = false; HiFirst = true; end; if NewBox and low < DnBand then begin BBD = date; BBT = time; TL_SetEnd(TopId, BBD, BBT, UpBand); TL_SetEnd(BtmId, BBD, BBt, DnBand); RSIdP = RSId; RSId = TL_New(BBD, BBT, DnBand, BBD, BBT, UpBand); if ShowAll == false and RSIdP <> -1 then TL_Delete(RSIdP); if HiFirst then TL_SetColor(RSId, yellow) ; else TL_SetColor(RSId, magenta); NewBox = false; State1 = true; HiFirst = false; LoFirst = true; end; if HiFirst then begin if State4 then begin if high > BoxTop then begin BoxTop = high; State1 = true; State4 = false; CurrState = 1; end else begin if low < BoxBtm then begin State4 = false; State3 = true; BoxBtm = low; CurrState = 3; end else begin State4 = false; State5 = true; CurrState = 5; end; end; end; if State3 then begin if high > BoxTop then begin BoxTop = high; State1 = true; State3 = false; CurrState = 1; end else begin if low < BoxBtm then begin State3 = true; BoxBtm = low; CurrState = 3; end else begin State3 = false; State4 = true; CurrState = 4; end; end; end; if State2 then begin if high > BoxTop then begin BoxTop = high; State1 = true; State2 = false; CurrState = 1; end else begin State2 = false; State3 = true; BoxBtm = low; CurrState = 3; end; end; if State1 then begin if high > BoxTop then begin BoxTop = high; State1 = true; CurrState = 1; end else begin State1 = false; State2 = true; CurrState = 2; end; end; end else begin #{ Using LoFirst } if State4 then begin if low < BoxBtm then begin BoxBtm = low; State1 = true; State4 = false; CurrState = 1; end else begin if high > BoxTop then begin State3 = true; State4 = false; BoxTop = high; CurrState = 3; end else begin State4 = false; State5 = true; CurrState = 5; end; end; end; if State3 then begin if low < BoxBtm then begin BoxBtm = low; State1 = true; State3 = false; CurrState = 1; end else begin if high > BoxTop then begin State3 = true; BoxTop = high; CurrState = 3; end else begin State3 = false; State4 = true; CurrState = 4; end; end; end; if State2 then begin if low < BoxBtm then begin Boxbtm = low; State1 = true; State2 = false; CurrState = 1; end else begin State2 = false; State3 = true; BoxTop = high; CurrState = 3; end; end; if State1 then begin if low < BoxBtm then begin BoxBtm = low; State1 = true; CurrState = 1; end else begin State1 = false; State2 = true; CurrState = 2; end; end; end; #{ END IF HIFIRST OR LOFIRST } if State5 then begin DrawBox = true; EBD = date; EBT = time; end; if DrawBox then begin TopIdP = TopId; BtmIdP = BtmId; LSIdP = LSId; TopId = TL_New(BBD, BBT, BoxTop, EBD, EBT, BoxTop); BtmId = TL_New(BBD, BBT, BoxBtm, EBD, EBT, BoxBtm); LSId = TL_New(BBD, BBT, BoxBtm, BBD, BBT, BoxTop); if ShowAll == false then begin if TopIdP <> -1 then TL_Delete(TopIdP); if BtmIdP <> -1 then TL_Delete(BtmIdP); if LSIdP <> -1 then TL_Delete(LSidP); end; if HiFirst then begin TL_SetColor(TopId, yellow); TL_SetColor(BtmId, yellow); TL_SetColor(LSId, yellow); end else begin TL_SetColor(TopId, magenta); TL_SetColor(BtmId, magenta); TL_SetColor(LSId, magenta); end; State1 = false; State2 = false; State3 = false; State4 = false; State5 = false; DrawBox = false; ValidBox = true; end; if ValidBox then begin UpBand = BoxTop; DnBand = BoxBtm; ValidBox = false; NewBox = true; BoxTop = high; BoxBtm = low; end; 2.그럼 수고하세요 if HiFirst then TextId = Text_New(date, time, high * 1.0005, NumToStr(CurrState, 0)); else TextId = Text_New(date, time, low * 0.9995, NumToStr(CurrState, 0));
프로필 이미지
성공예견
2019-03-30
349
글번호 127498
지표
답변완료

부탁드립니다.

변환부탁드립니다. 감사드립니다. R=sum(if(C-C(1)>0,C-C(1),0),기간)/sum(if(C-C(1)>0,C-C(1),C(1)-C),기간)*100 eavg(R, signal) dema(R, signal) tema(R, signal) eavg(tema(R, signal),signal) 설정) 기간 14 signal 9
프로필 이미지
뮬리
2019-03-30
318
글번호 127497
지표
답변완료

수식 요청

개별 주식에 적용하려고 합니다. 당일 해당종목이 15:10까지 양봉이거나 음봉이라도 당일 15:10 주가가 전날 종가보다 높으면 바로 매수하고 다음날 시가에 매도하는 수식 부탁드립니다
프로필 이미지
pdy2280
2019-03-29
316
글번호 127496
시스템
답변완료

지표부탁드립니다.(시간)

* 많은 도움에 고맙습니다. (요청1) 스톡 2개를 하나로 하고 싶은데 잘안되네요 하나로 합처주시면 잘 쓰겠습니다. Input : Period(5), Period1(3), Period2(3); var : StoK(0),StoD(0); StoK = StochasticsK(Period,Period1); StoD = StochasticsD(Period,Period1,Period2); Plot1(StoK, "StochasticsK",RED,def,1); Plot2(StoD, "StochasticsD",BLUE,def,1); Input : Period(8), Period1(4), Period2(2); var : StoK(0),StoD(0); StoK = StochasticsK(Period,Period1); StoD = StochasticsD(Period,Period1,Period2); Plot1(StoK, "StochasticsK",RED,def,1); Plot2(StoD, "StochasticsD",BLUE,def,1); (요청2) 차트에 안되는데 뭐를 잘못 했나요? 즉 당일 설정시간 이후 이평선의 첫골드크로스( OR 첫데드 크로스)가 나면 그가격을 오늘 하루 기준가격 으로 잡고 시간이 지남에 따라 피보선이 상향 or 하향 으로 변화 하면서 그려지게할려고 합니다. 기준 : 기준 가격대비 현재가가 하락 하면 기준 가격이 고점이 되고 기준 가격대비 현재가가 상승 하면 기준 가격이 저점이 되는것입니다. *기준가격: 11시 이후 첫 골든 크로스나 테드 크로스 input : 날짜(20190329),시간(110000); var1 = ma(c,5) ; var2 = ma(c,20) ; if Sdate == 날짜 and ((sdate != sdate[1] and stime >= 시간) or (sdate == sdate[1] and stime >= 시간 and stime[1] < 시간)) Then Condition1 = true; if Condition1 == true then { plot1(HH,"고점"); plot2(LL,"저점"); plot3(10^(LOG10(LL)+(LOG10(HH)-LOG10(LL))*(76.4/100)),"-23.6%"); plot4(10^(LOG10(LL)+(LOG10(HH)-LOG10(LL))*(61.8/100)),"-38.2%"); plot5(10^(LOG10(LL)+(LOG10(HH)-LOG10(LL))*(50/100)),"-50%"); plot6(10^(LOG10(LL)+(LOG10(HH)-LOG10(LL))*(38.2/100)),"-61.8%"); plot7(10^(LOG10(LL)+(LOG10(HH)-LOG10(LL))*(23.6/100)),"-76.4%"); plot8(10^(LOG10(HH)+(LOG10(HH)-LOG10(LL))*(23.6/100)),"23.6%"); Plot9(10^(LOG10(HH)+(LOG10(HH)-LOG10(LL))*(38.2/100)),"38.2%"); Plot10(10^(LOG10(HH)+(LOG10(HH)-LOG10(LL))*(50/100)),"50%"); Plot11(10^(LOG10(HH)+(LOG10(HH)-LOG10(LL))*(61.8/100)),"61.8%"); plot12(10^(LOG10(HH)+(LOG10(HH)-LOG10(LL))*(76.4/100)),"76.4%"); } * 고맙습니다. 좋은 한주 되십시요^^
프로필 이미지
요타
2019-03-31
334
글번호 127495
지표
답변완료

문의

빠른 답변 고맙습니다. 답변1과 답변3은 시뮬레이션이 잘 됩니다. 그런데 답변 2가 시뮬레이션이 되지 않습니다. 다시 한번 부탁드립니다. 매월 1일부터 옵션옵션만기일 전날까지 거래하는 수식 var : nday(0),week(0),Xdate(0); nday = date - int(date/100)*100; week = DayOfWeek(date); if nday >= 8 and nday <= 14 and week == 4 then Xdate = sdate; if nday >= 1 and sdate < Xdate Then { 진입청산수식 } *********************************************************************************** 안녕하세요 예스스탁입니다. 1 var : nday(0),week(0),Xdate(0); nday = date - int(date/100)*100; week = DayOfWeek(date); if nday >= 8 and nday <= 14 and week == 4 then Xdate = sdate; if sdate == Xdate then { 진입청산수식 } 2 var : nday(0),week(0),Xdate(0); nday = date - int(date/100)*100; week = DayOfWeek(date); if nday >= 8 and nday <= 14 and week == 4 then Xdate = sdate; if nday >= 1 and sdate < Xdate Then { 진입청산수식 } 3 var : nday(0),week(0),month(0),Xdate(0),XMonth(0); month = int(date/100)-int(date/10000)*100; nday = date - int(date/100)*100; week = DayOfWeek(date); if nday >= 8 and nday <= 14 and week == 4 then { Xdate = sdate; XMonth = Month; } if sdate > Xdate and month == XMonth Then { 진입청산수식 } 즐거운 하루되세요 > 목마와숙녀 님이 쓴 글입니다. > 제목 : 문의 > 최근 3년간 시뮬레이션을 위해 기간설정 수식을 부탁드립니다. 1. 매월 옵션만기일만 거래하는 수식 2. 매월 1일부터 옵션옵션만기일 전날까지 거래하는 수식 3. 옵션만기일 다음 날부터 매월말까지 거래하는 수식 항상 고맙습니다.
프로필 이미지
목마와숙녀
2019-03-30
332
글번호 127494
시스템