커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

지표문의

1.아래지표 수정 좀해주세요 검증이안됨 INPUT: len(300), // 분석할 봉 수 priceStep(100), // 가격 구간 크기 topN(3); // 상위 HVN/LVN 개수 VAR: i(0), j(0), priceMin(0), priceMax(0), level(0), maxVol(0), minVol(999999999), pocLevel(0), pocPrice(0); ARRAY: vap , // 가격대별 거래량 hvnLevel , hvnVol , lvnLevel , lvnVol ; { 1. 최소, 최대 가격 찾기 } priceMin = Low; priceMax = High; FOR i = 1 TO len BEGIN IF Low[i] < priceMin THEN priceMin = Low[i]; IF High[i] > priceMax THEN priceMax = High[i]; END; { 2. vap 배열 초기화 } FOR j = 0 TO 999 BEGIN vap[j] = 0; END; { 3. 거래량 누적 } FOR i = 0 TO len-1 BEGIN level = INTPART( (Close[i] - priceMin) / priceStep ); IF level >= 0 AND level < 1000 THEN vap[level] = vap[level] + Volume[i]; END; { 4. Top N HVN 찾기 } FOR j = 1 TO topN BEGIN maxVol = 0; pocLevel = 0; FOR i = 0 TO 999 BEGIN IF vap[i] > maxVol THEN BEGIN maxVol = vap[i]; pocLevel = i; END; END; hvnLevel[j] = pocLevel; hvnVol[j] = maxVol; vap[pocLevel] = 0; END; { 5. Top N LVN 찾기 } FOR j = 1 TO topN BEGIN minVol = 999999999; pocLevel = 0; FOR i = 0 TO 999 BEGIN IF vap[i] > 0 AND vap[i] < minVol THEN BEGIN minVol = vap[i]; pocLevel = i; END; END; lvnLevel[j] = pocLevel; lvnVol[j] = minVol; vap[pocLevel] = 999999999; END; { 6. HVN / LVN 출력 ? Plot 이름 고정 } IF topN >= 1 THEN BEGIN pocPrice = priceMin + hvnLevel[1] * priceStep; PLOT(pocPrice, "HVN1", RED); pocPrice = priceMin + lvnLevel[1] * priceStep; PLOT(pocPrice, "LVN1", BLUE); END; IF topN >= 2 THEN BEGIN pocPrice = priceMin + hvnLevel[2] * priceStep; PLOT(pocPrice, "HVN2", RED); pocPrice = priceMin + lvnLevel[2] * priceStep; PLOT(pocPrice, "LVN2", BLUE); END; IF topN >= 3 THEN BEGIN pocPrice = priceMin + hvnLevel[3] * priceStep; PLOT(pocPrice, "HVN3", RED); pocPrice = priceMin + lvnLevel[3] * priceStep; PLOT(pocPrice, "LVN3", BLUE); END; 그럼 수고하세요
프로필 이미지
성공예견
2025-09-03
278
글번호 193701
지표

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

프로필 이미지
2wnwn
2025-09-03
45
글번호 193700
지표
답변완료

n일동안 캔들(고가,저가)가격이 n개 이상 겹치는 최저가를 이은선

n일동안 캔들(고가,저가)가격이 n개 이상 겹치는 가격에서 최저가를 이은선 수식 부탁드립니다
프로필 이미지
팔보채
2025-09-03
216
글번호 193696
지표
답변완료

부틱드립니다

수고하십니다 아래수식을 예스 화살표신호수식 부탁드립니다 a = eavg(c,10); a1 = eavg(c,34); b = rsi(14); crossup(a,a1) && b>=55 && c> o
프로필 이미지
파생돌이
2025-09-03
227
글번호 193695
지표
답변완료

문의드립니다.

다시 한번 문의드립니다. 아래 답변대로 적용하면 신호발생후부터 양봉 3개, 음봉 3개가 연속해 나올 때 청산이 됩니다. 제가 만들고자 하는 청산식은 "매수신호 발생후부터가 아니라 매수신호 발생전에 신호가 나온 봉을 포함해 3양봉이 나오고(신호봉은 반드시 3개 양봉중 마지막 양봉이라야 합니다) 그 직후 3음봉이 연달아서 나올 때 청산입니다" 제 표현력의 한계가 이정도이니 양해바랍니다. ----------------------------------------------------------------------------- if MarketPosition == 1 and BarsSinceEntry == 3 and #매수진입 이후 3봉 경과 CountIf(C > O,3)[BarsSinceEntry] == 3 and #진입봉기준 3연속 양봉 CountIf(C < O,3) == 3 Then #현재 3연속 음봉 ExitLong(); 즐거운 하루되세요 > 카르마다 님이 쓴 글입니다. > 제목 : 문의드립니다. > 제가 질문하는 능력이 많이 떨어져서 전달이 제대로 안되는 거 같아 한번 더 질문드립니다. 아래는 제 질문에 대한 예스스탁의 답변입니다. ---------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. if CountIf(C>O,3) == 3 and C[3] <= O[3] Then Buy(); if MarketPosition == 1 and BarsSinceEntry == 3 and CountIf(C<O,3) == 3 Then ExitLong(); 즐거운 하루되세요 > 카르마다 님이 쓴 글입니다. 연속 2양봉후 3번째 양봉에서 매수(즉, 진입봉 포함 연속 3양봉시 매수)진입후 이어서 연속 3음봉일 때 청산하는 식도 구하고 싶습니다. 즉, 3양봉이라서 매수신호가 나왔는데 바로 3음봉으로 꺽이면 청산하는 식입니다. 결국 양봉, 양봉, 양봉(매수신호 발생)후 이어서 음봉, 음봉, 음봉이 연달아 나오면 청산입니다. ---------------------------------------------------------------------------- 1. 매수신호가 필요한게 아니라 청산식만 필요합니다. 2. 우선 연속으로 양봉 2개가 나옵니다. 그리고 3번째 양봉이 나오고나서부터 연속해 3음봉이 나오면 청산하는 청산식입니다. 간단히 말하자면 3개의 양봉 후 3개의 음봉이 나오면 청산하느 식입니다. 즉, 진입봉을 포함해 연속 3양봉이 나온후(마지막 봉이 양봉이라야 합니다) 바로 연속해서 3음봉이 나오면 청산하는 식입니다. 미리 노고에 감사드립니다.
프로필 이미지
카르마다
2025-09-02
200
글번호 193694
시스템

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

프로필 이미지
님이랑
2025-09-02
21
글번호 193693
종목검색
답변완료

변환을 부탁드립니다.

트레이딩뷰의 Squeeze Momentum 입니다. 수고스럽겠지만 예스랭귀지로 변환을 부탁드립니다. // // @author LazyBear // List of all my indicators: https://www.tradingview.com/v/4IneGo8h/ // study(shorttitle = "SQZMOM_LB", title="Squeeze Momentum Indicator [LazyBear]", overlay=false) length = input(20, title="BB Length") mult = input(2.0,title="BB MultFactor") lengthKC=input(20, title="KC Length") multKC = input(1.5, title="KC MultFactor") useTrueRange = input(true, title="Use TrueRange (KC)", type=bool) // Calculate BB source = close basis = sma(source, length) dev = multKC * stdev(source, length) upperBB = basis + dev lowerBB = basis - dev // Calculate KC ma = sma(source, lengthKC) range = useTrueRange ? tr : (high - low) rangema = sma(range, lengthKC) upperKC = ma + rangema * multKC lowerKC = ma - rangema * multKC sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC) sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC) noSqz = (sqzOn == false) and (sqzOff == false) val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)),sma(close,lengthKC)), lengthKC,0) bcolor = iff( val > 0, iff( val > nz(val[1]), lime, green), iff( val < nz(val[1]), red, maroon)) scolor = noSqz ? blue : sqzOn ? black : gray plot(val, color=bcolor, style=histogram, linewidth=4) plot(0, color=scolor, style=cross, linewidth=2)
프로필 이미지
하날랑
2025-09-02
424
글번호 193692
시스템
답변완료

변환 부탁드립니다

다음 수식을 예스트레이더로 부탁드립니다. A = RSI(5); B = Barssince(CrossDown(A, 20)); D = Barssince(CrossUp(A, 80)); E = ValueWhen(1, CrossDown(A, 30), L); B < 30 && B < D && C < E
프로필 이미지
파크에버뉴
2025-09-02
247
글번호 193691
종목검색

파크에버뉴 님에 의해서 삭제되었습니다.

프로필 이미지
파크에버뉴
2025-09-02
0
글번호 193690
종목검색