커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6035
글번호 230811
답변완료
61127 재문의 드립니다
아래 좋은 답변 감사합니다.
수고하세요.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의 드립니다.
> 안녕하세요
예스스탁입니다.
Input : Period(14), LPercent(30), SPercent(70);
Var : value(0),tx(0);
value = RSI(Period);
If CrossUP(value, LPercent) Then
{
Buy("b");
if MarketPosition <= 0 and TotalTrades >= 1 then
{
if MarketPosition == 0 Then
var1 = (highest(H,BarsSinceEntry(1))-lowest(L,BarsSinceEntry(1)))/PriceScale;
Else
var1 = (highest(H,BarsSinceEntry(0))-lowest(L,BarsSinceEntry(0)))/PriceScale;
tx = Text_New(sdate,stime,H,NumToStr(var1,0));
Text_SetStyle(tx,2,1);
}
}
If CrossDown(value, SPercent) Then
{
Sell("s");
if MarketPosition >= 0 and TotalTrades >= 1 then
{
if MarketPosition == 0 Then
var1 = (highest(H,BarsSinceEntry(1))-lowest(L,BarsSinceEntry(1)))/PriceScale;
Else
var1 = (highest(H,BarsSinceEntry(0))-lowest(L,BarsSinceEntry(0)))/PriceScale;
tx = Text_New(sdate,stime,L,NumToStr(var1,0));
Text_SetStyle(tx,2,0);
}
}
즐거운 하루되세요
> 번성 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> RSI시스템지표에서 매매신호발생시
이전 신호에서 현재 신호까지 변화 틱 수가 표시되도록 수정 부탁합니다.
나스닥 차트를 봅니다.
감사합니다.
2019-02-01
165
글번호 125845
답변완료
수식부탁드립니다
1) 3%봉이 생기고 10일 안에 이 봉의 저가보다 낮은 저가를 형성할 떄 검색식
2) 그리고 다시 3% 봉의 저가를 돌파하는 검색식
3) 1)과2)의 조건을 합친 검색식
예를들면 1번이 일어나고 10일안에 2번이 일어남
부탁드립니다.
2019-02-01
160
글번호 125843
답변완료
문의 드립니다.
지난번에 답변주신 부분에 댓글달았는데 확인을 안하신거 같아서 다시올립니다.
첫번째 검색식 구현해주신것은 종목검색하려하니
'사용자 설정 검색기간 사용하지 않음' 이라뜨고 종목검색이 제대로되지않네요
다른 빠진부분에 대해서 보강 부탁드립니다.
그리고 또 하나 검색식 여쭤볼것이있는데
당일고가가 볼린져밴드 상단을 돌파했었고(종가아님)
당일고가가 26일전 종가보다 크거나 같고
26일전 3일선이 26일전 5일선보다 크거나 같으며
당일 2일선이 3일선보다 크거나 같다.
위에조검이 다 충족되는 조검검색식하나만더 부탁드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의 드립니다.
> 안녕하세요
예스스탁입니다.
1
1번 내용은 수식을 작성법을 모르겠습니다.
일목균형표의 후행스팬은 현재봉 종가를 과거 25봉전으로 옮긴지표입니다.
돌파시점의 값이 현재봉 종가이므로 해당 값을 다시 돌파는 나오지 않습니다.
후행스팬이 기준선을 돌파할때 검색하는 내용이면
현재봉 종가가 25봉 전의 기준선을 돌파할떄로 작성해 드릴수 있습니다.
var : 기준선(0);
기준선 = (highest(H,26)+lowest(L,26))/2;
if crossup(c,기준선[25]) Then
find(1);
2
Input : Period(20), MultiD(2);
var : BBmd(0),BBup(0),BBdn(0);
var : 기준선(0);
BBmd = ma(C,Period);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
기준선 = (highest(H,26)+lowest(L,26))/2;
if crossup(BBup,기준선) Then
var1 = (BBup+기준선)/2;
if var1 > 0 and crossup(c,var1) Then
find(1);
즐거운 하루되세요
> khs9384 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 두가지 검색식을 구현하고싶은데요
첫번째는 일목균형표의 후행스팬이 기준선을 돌파하는 자리(가격)를 수평하게 선으로 그어본다면
그자리를 주가가 돌파할때 검색되는 하나
두번째는 볼린져밴드 상단선이 기준선을 돌파하는 자리(가격)를 수평선하게 선으로 긋고
그자리를 주가가 돌파할때 검색되게하는 하나입니다.
두개다 가장최근에 기준선을 돌파하는 시점으로 보면됩니다.
2019-01-31
173
글번호 125842
카카 님에 의해서 삭제되었습니다.
2019-01-31
23
글번호 125841
답변완료
수식좀 부탁해요~~
파라볼릭 매도신호 후에 매수신호 전환시 매수진입
파라볼릭 매수진입후 매수신호 4번째 종가에 매수청산
파라볼릭 매수신호 후에 매도신호 전환시 매도진입
파라볼릭 매도진입후 매도신호 3번째 종가에 매도청산
하는 수식 부탁해요~~
2019-01-31
156
글번호 125840
회원 님에 의해서 삭제되었습니다.
2019-01-31
35
글번호 125839
동해바다01 님에 의해서 삭제되었습니다.
2019-01-31
8
글번호 125838
답변완료
연상 종목 검색
최근 N일간 상한가 연속 2일이 1회 이상 있는 종목
2연상인 종목만 검색되어야 하고 3연상, 4연상...은 검색이 안되어야 합니다.
한종목에 2연상과 3연싱 두곳이 존재한다면 2연상이 포함되어 있으니 검색이 되어야 합니다.
상한가 사용자함수는 안 올려도 됩니다.
input : 연속(2), 기간(20)
2019-01-31
161
글번호 125835
답변완료
수식문의
시스템식은 어렵네요 ㅠㅠ
그냥 아래식에 첫숫자 발생시고정으로 표시부탁드립니다
숫자와 겹치지 않게 부탁드립니다
그리고 신호발생시 소리가 나게 할수 있는지도 부탁드립니다
감사합니다
input : af(0.02), maxAF(0.2);
input : 텍스트출력(1);
var : T(0),cnt(0),count(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),day1(0),day0(0);
var : TL1(0),TL2(0),tx1(0),tx2(0),tx11(0),tx22(0);
Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0);
var1 = CSar(af,maxAF);
if bdate != bdate[1] Then
{
day0 = sdate;
day1 = day0[1];
}
if crossup(c,var1) Then
{
T = 1;
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
for cnt = 1 to 19
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
}
if LL[0] > 0 Then
{
if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD[1],HT[1],HH[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(HH[1],2));
Text_SetStyle(tx11,2,1);
Text_SetColor(tx11,BLACK);
Text_Delete(tx1);
Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,GRAY);
Condition1 = false;
for cnt = 1 to 19
{
if Condition1 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition1 = true;
TL1 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
}
}
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
for cnt = 1 to 19
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
if HH[0] > 0 Then
{
if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD[1],LT[1],LL[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(LL[1],2));
Text_SetStyle(tx22,2,0);
Text_SetColor(tx22,RED);
Text_Delete(tx2);
Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,MAGENTA);
Condition2 = false;
for cnt = 1 to 19
{
if Condition2 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition2 = true;
TL2 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
}
}
}
}
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,BLACK);
}
}
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,RED);
}
}
}
2019-01-31
184
글번호 125834