커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

골든도라도 님에 의해서 삭제되었습니다.

프로필 이미지
골든도라도
2026-02-22
18
글번호 230682
종목검색

uncle 님에 의해서 삭제되었습니다.

프로필 이미지
uncle
2026-02-22
11
글번호 230681
사용자 함수
답변완료

수식문의

지표 수식 문의합니다.파라볼릭(종가) 기본값으로 지표를 만드려고 하는데..종가를 var1로 대체해서 다른 값을 넣는 수식을 만드려고 합니다.항상 감사드립니다.
프로필 이미지
한글나라
2026-02-22
95
글번호 230680
지표
답변완료

수식문의

(0봉전에 5가중이평이 60가중이평을 GC하고)"3봉이내(0봉 or 1봉전 or 2봉전)에 종가가 200가중이평을 돌파하는 경우"를 표현하려면A == CrossUp(C, M200);If ..... ..... and Countif(A==true, 3)라고 하면 맞을까요?
프로필 이미지
ksks
2026-02-21
125
글번호 230679
종목검색
답변완료

부탁드립니다

갱신=H>highest(H(1),기간-1);기준고=Valuewhen(1,갱신,H);상단=Valuewhen(1,BarsSince(갱신)==(기간-2),기준고);Crossup(c,상단)&&C>O분봉 수식과 일봉수식 부탁드립니다
프로필 이미지
님이랑
2026-02-21
118
글번호 230677
종목검색
답변완료

부탁드립니다.

국내선물 분봉 복합차트에서 08시45분부터 고가를 표시하는 지표를 부탁 드립니다.
프로필 이미지
예시
2026-02-21
96
글번호 230676
지표
답변완료

수식오류 문의 드립니다.

종목 검색 수식 작성중 Plot 는 기술적 지표로만 쓸수 있다고 오류가 뜨는데 답변 주시면 감사하겠습니다
프로필 이미지
문어발
2026-02-21
117
글번호 230675
종목검색
답변완료

수식 부탁 드림니다

안녕 하세요수식 문의 드립니다1. (5)_HMAWavg(WAVG(가격, 기간/2)*2 - Wavg(가격, 기간), floor(sqrt(기간)));2. (20)_HMA3. (5)_HMA_고점4. (5)_HMA_저점5. (20)_HMA_고점6. (20)_HMA_저점7. (20)_가중이평----------------------------------------변수이름가격 = 종가기간1 = 5기간2 = 20기간3 = 20----------------------------------------챠트 표시에1. (5)_HMA 2. (20)_HMA3. 5_고점 4. 5_저점5. 20_고점 6. 20_저점7. 가중_20----------------------------------------나타나게 해 주십시요항상 감사 합니다
프로필 이미지
s1017051
2026-02-21
149
글번호 230672
지표
답변완료

수식수정 부탁드립니다

아래의 지표수식에 대해 수정 요망합니다.#기본조건 설정#===================================================================================================input : 상승단갭율(1.45), 양봉기준율(0.050), 음봉기준율(0.0499), 가격라인율(11.8);var : 양봉(False),음봉(False), GapUp(False), GapDown(False) ;input : 하락갭율양(1.75), 하락갭율음(-1.75);양봉 = C >= O *(1+양봉기준율/100) ;음봉 = C < O*(1+음봉기준율/100) or C < O ;GapUp = ( O - C[1] ) / C[1] * 100 >= 상승단갭율 ; GapDown = ( (C[1] * (1-하락갭율양/100) >= O) or ((O-C[1])/C[1] * 100 <= 하락갭율음) ) and C[1] > O and O[1] > O ; #시가 상승갭 발생의 경우#===================================================================================================if GapUp == true and C[1] <= O[1] and C > O Then { Var1 = C[1] ; Var2 = (C-O)*가격라인율/100+O ; }if GapUp == true and C[1] <= O[1] and C <= O Then { Var1 = C[1] ; Var2 = O ; }if GapUp == true and C[1] > O[1] and C > O Then { Var1 = C[1] ; Var2 = (C-O)*가격라인율/100+O ; }if GapUp == true and C[1] > O[1] and C <= O Then { Var1 = C[1] ; Var2 = O ; }Plot1(Var1, "상승갭전일종가라인");Plot2(Var2, "상승갭당일시가라인");#===================================================================================#갭하락캔들의 음봉 또는 양봉를 구별하여 라인 설정#===================================================================================if GapDown == true and C <= O Then #하락갭이면서 음봉인 경우{ if 양봉[1] == true Then { Var3 = O[1] ; Var4 = O ; } if 음봉[1] == true Then { Var3 = C[1] ; Var4 = C ; }}if GapDown == true and C > O Then #하락갭이면서 양봉인 경우{ if 양봉[1] == true and C <= C[1] Then #1봉전의 캔들이 양봉이면서 전일종가보다 당일종가가 낮은 경우는 1봉전 시가와 당일시가로 두개의 가격라인이 생성되고 { Var3 = O[1] ; Var4 = O ; } if 양봉[1] == true and C > C[1] Then #1봉전의 캔들이 양봉이면서 전일종가보다 당일종가가 높은 경우는 당일종가와 1봉전 종가로 두개의 가격라인이 생성되고 { Var3 = O[1] ; Var4 = O ; } if 음봉[1] == true and C <= C[1] Then #1봉전의 캔들이 음봉이면서 전일종가보다 당일종가가 낮은 경우는 1봉전 종가와 당일종가로 두개의 가격라인이 생성되고 { Var3 = C[1] ; Var4 = O ; } if 음봉[1] == true and C > C[1] Then #1봉전의 캔들이 음봉이면서 전일종가보다 당일종가가 높은 경우는 1봉전 종가와 당일시가로 두개의 가격라인이 생성되고 { Var3 = C[1] ; Var4 = O ; }}Plot3(Var3, "하락갭전일종가라인음양봉");Plot4(Var4, "하락갭당일가격라인음양봉");#==============================================================================================# 1. 상승 갭(Var1) 계단식 변동 추적 #==============================================================================================var : UGap0(0), UGap1(0), UGap2(0), UGap3(0); var : UIdx0(0), UIdx1(0), UIdx2(0), UIdx3(0); # 변동이 발생한 봉 번호(Index)var : URate(0), txUp(0);Input : U최소변동하락율(40),U계단변동율텍스트표시(1),글자크기UU(13),글자긁기UU(1),글자크기UD(13),글자긁기UD(1);var : U_UpCnt(0), U_DnCnt(0); var : U_PrevCnt1(0), U_PrevCnt2(0);if Var1 > 0 and Var1 != Var1[1] Then{ # 1-1. 가격 데이터 계단식 이관 if Var1[1] == Var1[2] Then { UGap3 = UGap2; UGap2 = UGap1; UGap1 = UGap0; } UGap0 = Var1; # 1-2. 발생 위치(인덱스) 계단식 이관 if Var1[1] == Var1[2] Then { UIdx3 = UIdx2; UIdx2 = UIdx1; UIdx1 = UIdx0; } UIdx0 = Index; # 1-3. 변동률 계산 및 텍스트 출력 if UGap1 > 0 Then { URate = (UGap0 - UGap1) / UGap1 * 100; # (현재-과거)/과거 * 100 if Var1[1] != Var1[2] Then { Text_Delete(txUp); } Else { # 연속 카운팅 및 과거 파동 저장 로직 if URate > 0 Then # 위로 변동 (상승) { if U_DnCnt > 0 Then { U_PrevCnt2 = U_PrevCnt1; U_PrevCnt1 = -U_DnCnt; } U_UpCnt = U_UpCnt + 1; # 상승 카운트 1 증가 U_DnCnt = 0; # 하락 카운트 초기화 } Else if URate < 0 Then # 아래로 변동 (하락) { if U_UpCnt > 0 Then { U_PrevCnt2 = U_PrevCnt1; U_PrevCnt1 = U_UpCnt; } U_DnCnt = U_DnCnt + 1; U_UpCnt = 0; } } if U계단변동율텍스트표시 == 1 and Abs(URate) >= U최소변동하락율 Then { if URate > 0 Then # 위로 변동 (상승) { txUp = Text_New(sDate, sTime, H * 1.05, "+" + NumToStr(URate, 2) + "%"); Text_SetColor(txUp, BlacK); Text_SetStyle(txUp, 2, 1); Text_SetSize(txUp, 글자크기UU); Text_SetBold(txUp, 글자긁기UU); } Else if URate < 0 Then # 아래로 변동 (하락) { txUp = Text_New(sDate, sTime, L * 0.95, NumToStr(URate, 2) + "%"); Text_SetColor(txUp, WhitE); Text_SetStyle(txUp, 2, 0); Text_SetSize(txUp, 글자크기UD); Text_SetBold(txUp, 글자긁기UD); } } }}#==============================================================================================# 2. 하락 갭(Var3) 계단식 변동 추적 및 텍스트 표시#==============================================================================================var : DGap0(0), DGap1(0), DGap2(0), DGap3(0); var : DIdx0(0), DIdx1(0), DIdx2(0), DIdx3(0); # 변동이 발생한 봉 번호(Index)var : DRate(0), txDown(0);Input : D최소변동하락율(30),D계단변동율텍스트표시(1),글자크기DU(15),글자긁기DU(1),글자크기DD(15),글자긁기DD(1);var : D_UpCnt(0), D_DnCnt(0); var : D_PrevCnt1(0), D_PrevCnt2(0); if Var3 > 0 and Var3 != Var3[1] Then{ # 2-1. 가격 데이터 계단식 이관 if Var3[1] == Var3[2] Then { DGap3 = DGap2; DGap2 = DGap1; DGap1 = DGap0; } DGap0 = Var3; # 2-2. 발생 위치(인덱스) 계단식 이관 if Var3[1] == Var3[2] Then { DIdx3 = DIdx2; DIdx2 = DIdx1; DIdx1 = DIdx0; } DIdx0 = Index; # 2-3. 변동률 계산 및 텍스트 출력 if DGap1 > 0 Then { DRate = (DGap0 - DGap1) / DGap1 * 100; if Var3[1] != Var3[2] Then { Text_Delete(txDown); } Else { # 연속 카운팅 및 과거 파동 저장 로직 if DRate > 0 Then # 위로 변동 (상승) { if D_DnCnt > 0 Then { D_PrevCnt2 = D_PrevCnt1; D_PrevCnt1 = -D_DnCnt; } D_UpCnt = D_UpCnt + 1; D_DnCnt = 0; } Else if DRate < 0 Then { if D_UpCnt > 0 Then { D_PrevCnt2 = D_PrevCnt1; D_PrevCnt1 = D_UpCnt; } D_DnCnt = D_DnCnt + 1; D_UpCnt = 0; } } if D계단변동율텍스트표시 == 1 and Abs(DRate) >= D최소변동하락율 Then { if DRate > 0 Then # 위로 변동 (상승) { txDown = Text_New(sDate, sTime, H * 1.05, "+" + NumToStr(DRate, 2) + "%"); Text_SetColor(txDown, Red); Text_SetStyle(txDown, 2, 1); Text_SetSize(txDown, 글자크기DU); Text_SetBold(txDown, 글자긁기DU); } Else if DRate < 0 Then # 아래로 변동 (하락) { txDown = Text_New(sDate, sTime, L * 0.95, NumToStr(DRate, 2) + "%"); Text_SetColor(txDown, Blue); Text_SetStyle(txDown, 2, 0); Text_SetSize(txDown, 글자크기DD); Text_SetBold(txDown, 글자긁기DD); } } }}plot1~4의 라인은 계단식 상승 또는 하락의 변동라인을 표시하게 되어 있는데 이 변동의 변동율을 차트에 표시하게 하는 수식입니다.문제는 일정한 변동율이 있을 때에만 표시되게 수식을 구성하였는데 일정율이상의 변동율이 발생했음에도 불구하고 차트에 표시가 되지 않아서 수정 검토를 요청드리는 것입니다.예를 들어 현대건설의 주봉차트에서 문제가 되고 있는 부분에 대해서 예시해보겠습니다.1. 2020년 3월 27일 주봉의 경우는 Plot3(Var3, "하락갭전일종가라인음양봉");라인의 하락변동율이 38.90%가 됨에도 불구하고 U최소변동하락율(40)와 D최소변동하락율을 23이상 입력하면 표시가 안되지만 22이하로 입력하면 표시가 됩니다. 그런데 U최소변동하락율을39이하로 설정하고 D최소변동하락율을 38까지 입력하면 변동율이 표시가 됩니다. 즉 U최소변동하락율과 D최소변동하락율는 각각 독립적으로작동을 해야하는데 연동되어 표시가 된다는 것입니다.2. 2015년 07월 03일의 주봉은 28.32%, 2016년 02월 12일의 주봉은 27.49%인데 D최소변동하락율을 각 변화율보다 낮은 변화율을 설정하면 표시가 되어야 하는데 U최소변동하락율(40)와 25%, 15%등을 설정하면 표시가 안되다가 D최소변동하락율을 0에 가깝게 설정하거나 U최소변동하락율(40)을 일정이하로 변동시키면 표시가 된다는 것입니다갭상승라인과 갭하락라인의 변동율이 독립적으로 설정한 변동율이상이면 표시가 될 수 있게끔 수정해주시기 바랍니다.
프로필 이미지
해피오
2026-02-20
797
글번호 230661
지표