커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3738
글번호 230811
답변완료
수식부탁합니다
수고하십니다
일목 으로
21시00분부터 23시20분까지 진입청산 부탁합니다
value1 = (highest(H,9)+lowest(L,9))/2; //전환
value2 = (highest(H,26)+lowest(L,26))/2; //기준
If crossup(value1,value2) Then
{
Buy ("LE") ;
}
If crossdown(value1,value2) Then
{
Sell ("SE");
}
2020-04-26
1200
글번호 138368
답변완료
부탁드립니다.
-67093관렵니다.
-특이부분(A로 표시)을 없앨 수는 없는지요?
2020-04-26
1342
글번호 138367
신대륙발견 님에 의해서 삭제되었습니다.
2020-04-26
478
글번호 138366
답변완료
문의드립니다.
1.
tx = Text_New(sdate,stime,h,"▲");
Text_SetStyle(tx,2,1);
tx = Text_New(sdate,stime,L,"▼");
Text_SetStyle(tx,2,0);
상기식에서 "▲" ,"▼" 의 색상이 검정색으로만 나오는데
색상을 변환시킬수있는 방법을 부탁합니다.
2. 하기식을 예스수식의 강조식으로 부탁합니다.
p=input(12,title='Period')
fastend=input(0.666,step=0.001)
slowend=input(0.0645,step=0.0001)
kama(close,amaLength)=>
diff=abs(close[0]-close[1])
signal=abs(close-close[amaLength])
noise=sum(diff, amaLength)
efratio=noise!=0 ? signal/noise : 1
smooth=pow(efratio*(fastend-slowend)+slowend,2)
kama=nz(kama[1], close)+smooth*(close-nz(kama[1], close))
kama
hakamaper=1/2
Signal=input(true)
Om=sma(open,p)
Hm=sma(high,p)
Lm=sma(low,p)
Cm=sma(close,p)
vClose=(Om+Hm+Lm+Cm)/4
vOpen= kama(vClose[1],hakamaper)
vHigh= max(Hm,max(vClose, vOpen))
vLow= min(Lm,min(vClose, vOpen))
// Plots
vcolor= vOpen>vClose ?red:green
plotcandle(vOpen,vHigh,vLow,vClose,color=vcolor)
2020-04-26
997
글번호 138365
답변완료
문의드립니다
안녕하세요?
추세선에 관하여 2가지질문을 드리고싶습니다 .
수식에 지식이 적은 사람이오니 양해해주시기를 미리 당부드립니다.
감사합니다
1. 추세선이 몇번이고 변하다가 고점또는저점이 확인되어 고정추세선이 생기기까지는 일정봉갯수 이후이다
란걸 몇차례 여러분들에 대한 답변의 글을읽고 알게되었습니다 그렇다면 사진의 예처럼 확정된 추세선이 생기기전까지 몇차례고 갱신되며 예비추세선이 생겼던 흔적을 그봉에 1.2.3~숫자로써지게 된다면 가장좋고 그게안된다면? 점이나 또는 어떠한형식이든
표현할수있는 방법이있는지 궁금합니다
2.사진에서보면 현재봉의 전전봉에 가격의 차후변화에 따라 추세선의 모양이 어떻게 변할지? 모르지만, 예비추세선이 일단 만들어져서 눈으로 볼수있습니다
그렇다면 저렇게 예비추세선을 계산하여 만들어 보여주고있는 근거는
아래수식에서 어느부분인지 궁금합니다 ,혹시 plot1 ,plot2 가 아닌가? 생각되는데
만약 맞다면 plot1,plot2는 일정봉수이후 확인추세선이 생기기전(예비추세선포함)까지 계속 챠트에 형현되게 하여주는 기능을 하는것인가요?
항상 도움주심에 감사드립니다
Input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
For j = 0 To 9
{
barArr[j] = barArr[j] + 1;
}
Condition1 = Highest(H,length) == H and lastHiVal <> H;
Condition2 = Lowest(L,length) == L and lastLoVal <> L;
If Condition1 Then lastHiVal = H;
If Condition2 Then lastLoVal = L;
turnPntBit = "";
If Condition1 and Condition2 Then
{
If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then
turnPntBit = "HiLo";
Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi";
Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo";
}
Else If Condition1 Then turnPntBit = "Hi";
Else If Condition2 Then turnPntBit = "Lo";
If turnPntBit <> "" Then
{
If turnPntBit == "HiLo" Then
{
valArr[1] = IFF(turnPntArr[1] == "Hi",H,L);
barArr[1] = 0;
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
If turnPntArr[1] == "Hi" Then
turnPntBit = "Lo";
Else
turnPntBit = "Hi";
}
If turnPntBit <> turnPntArr[1] Then
{
for j = 8 downto 1
{
valArr[j+1] = valArr[j];
barArr[j+1] = barArr[j];
turnPntArr[j+1] = turnPntArr[j];
}
}
If turnPntBit <> turnPntArr[1] or
(turnPntBit == turnPntArr[1] and
((turnPntBit == "Hi" and valArr[1] < H) or
(turnPntBit == "Lo" and valArr[1] > L))) Then
{
valArr[1] = IFF(turnPntBit == "Hi",H,L);
barArr[1] = 0;
turnPntArr[1] = turnPntBit;
If turnPntArr[1][1] <> turnPntArr[1][0] Then
TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],
sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
Else
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
}
}
TL_SetSize(TL1,4);
TL_SetColor(TL1,YELLOW);
Plot1(Highest(H,length));
Plot2(Lowest(L,length));
2020-04-27
1134
글번호 138364
답변완료
수식수정부탁드립니다
input :N1(1),카운팅시작일자(20200417), 카운팅시작시간(070000);
input : n(13),x(8);
var : Tcond(false),T(0),상승량(0), 하락량(0), 이평선(0), 상승(0), 하락(0),cnt(0);
Array : V1[10](0),V2[10](0);
var : idx(0),hh(0),ll(0),dd(0),tt(0);
var : tl1(0),tl2(0),tl3(0),tl4(0);
if sdate >= 카운팅시작일자 and stime >= 카운팅시작시간 Then
Tcond = true;
if Tcond == true Then
{
if (sdate != sdate[1] and stime >= 카운팅시작시간) or
(sdate == sdate[1] and stime >= 카운팅시작시간 and stime[1] < 카운팅시작시간) Then
{
var1 = 0;
var2 = 0;
상승량 = 0;
하락량 = 0;
}
Condition1 = 상승량+V >상승량+V[1];
for cnt = 0 to N1-1{
IF O[cnt] < C[cnt] Then {
IF H[cnt]-C[cnt] >=0.15 AND
H[cnt]-C[cnt] > Abs(O[cnt]-C[cnt]) AND
H[cnt]-C[cnt] >= O[cnt]-L[cnt]
Then
하락량 = V[cnt];
ELse
상승량 = V[cnt];
}
ELse IF O[cnt] > C[cnt] Then {
IF C[cnt]-L[cnt] >=0.15 AND
C[cnt]-L[cnt] > Abs(O[cnt]-C[cnt]) AND
C[cnt]-L[cnt] >= H[cnt]-O[cnt]
Then
상승량 = V[cnt];
ELse
하락량 = V[cnt];
}
ELse {
IF H[cnt]-C[cnt] < C[cnt]-L[cnt] Then
상승량 = V[cnt];
ELse IF H[cnt]-C[cnt] > C[cnt]-L[cnt] Then
하락량 = V[cnt];
ELse{
하락량 = V[cnt];
상승량 = V[cnt];
}
}
if dayindex >= 0 Then{
if C > O or (C == O and C >= C[1]) Then
value1 =상승량;
Else
value1 = 하락량;
value13=상승량-하락량;
if value13 > value13[1] Then
T = 1;
if value13 < value13[1] Then
T = -1;
var21 = highest(H,n);
var22 = lowest(L,n);
Condition21 = C <= var21[1] and C >= var22[1];
if Condition21 == true and Condition21[1] == false Then
{
idx = 0;
hh = c;
ll = c;
dd = sdate;
tt = stime;
}
if Condition21 == true Then
{
idx = idx+1;
if c > hh Then
hh = c;
if c < ll Then
ll = c;
if idx == x Then
{
tl1 = TL_New(dd,tt,hh,dd,tt,ll);
tl2 = TL_New(dd,tt,hh,sdate,stime,hh);
tl3 = TL_New(dd,tt,ll,sdate,stime,ll);
tl4 = TL_New(sdate,stime,hh,sdate,stime,ll);
}
if idx > x Then
{
TL_SetBegin(tl1,dd,tt,hh);
TL_SetEnd(tl1,dd,tt,ll);
TL_SetBegin(tl2,dd,tt,hh);
TL_SetEnd(tl2,sdate,stime,hh);
TL_SetBegin(tl3,dd,tt,ll);
TL_SetEnd(tl3,sdate,stime,ll);
TL_SetBegin(tl4,sdate,stime,hh);
TL_SetEnd(tl4,sdate,stime,ll);
value21 = HH;
value22 = LL;
}
}
If hh <= C Then
{
TL_SetColor(TL1,WHITE);
TL_SetColor(TL2,WHITE);
TL_SetColor(TL3,WHITE);
TL_SetColor(TL4,WHITE);
}
Else
{
TL_SetColor(TL1,WHITE);
TL_SetColor(TL2,WHITE);
TL_SetColor(TL3,WHITE);
TL_SetColor(TL4,WHITE);
}
TL_SetSize(TL1,0); //좌측세로선 굵기
TL_SetSize(TL2,1); //상단가로선 굵기
TL_SetSize(TL3,1); //하측가로선 굵기
TL_SetSize(TL4,0); //우측세로선 굵기
TL_SetStyle(TL1,3); //좌측세로선 점선
TL_SetStyle(TL4,3); //우측세로선 점선
if Condition1[1]==true and T == 1 and Condition1[1]==True and crossup(value13,0) or crossup(C,value21) Then
buy();
if Condition1[1]==true and T == -1and Condition1[1]==True and crossdown(value13,0)or CrossDown(C,value22) Then
sell();
}}}
상기 수식을 실행하니 buy,sell 조건에 상이하게 표현됩니다
수식검토 부탁드립니다
2020-04-27
926
글번호 138363
답변완료
문의 드립니다.
안녕하세요
항상 빠른 답변 감사드립니다.
시스템 관련 공부를 하다 보니 사용자가 많은 영웅문 관련식 중에
괜찮은게 있어 예스식으로 차용해 보려고 하는데 어렵네요.
1. 지표식
수식1
캔들=if(v>1.5*평균(V,20) and c>o, (c+o)/2, valuewhen(1,v>1.5*평균(V,20) and c>o,(c+o)/2))
수식2
캔들=if(v>1.5*평균(V,20), (c+o)/2, valuewhen(1,v>1.5*평균(V,20), (c+o)/2));
지수평균(캔들, 기간)
2 검색식
A 시가총액:현재가기준 1000십억원 이하
B [일]0봉전 10봉 평균거래량 100000이상 999999999이하
C 신고가:[일]0봉전 고가가 59봉중 신고가에 -10%이내 근접
D [일]0봉전 Bollinger Band(52,1.8) 종가가 상한선이상
E 주가등락률:[일]1봉전(중) 종가대비 0봉전 종가등락률 6%이상
F 주가비교:[일]0봉전 종가 > 0봉전 (고가+저가)/2
G 기간내 등락률:[일]1봉전 1봉이내에서 전일종가대비종가 12% 이하
H 전일동시간대 대비 거래량비율 100%이상
I [일]거래대금(일:백만, 분:천) 5000이상 100000000이하
A and B and C and D and E and F and G and H and I
3. 검색식_혹 분봉에서 검색해야 한다면 N일 검색이 가능하게 요청드립니다.
A 시가총액:현재가기준 500십억원 이하
B [일]0봉전 10봉 평균거래량 100000이상 999999999이하
C 가격-이동평균 비교:[일]0봉전 (종가 60)이평 < 종가
D 이평이격도:[5분]0봉전(종가 90, 종가 120) 1%이내 근접 1회이상
E [5분]0봉전 Bollinger Band(80,2) 종가가 상한선이상
F 기간내 등락률:[일]0봉전 25봉이내에서 종가대비고가 15% 이상
G 이평이격도:[5분]0봉전(종가 20, 종가 120) 2%이내 근접 1회이상
A and B and C and D and E and F and G
주말동안 공부하다 보니 질문량이 많아 조심스럽습니다.
그럼 좋은 하루 되세요^^
2020-04-27
1282
글번호 138362
답변완료
수식 부탁드려요~~
쿠르드오일 분봉기준입니다.
매수진입 조건
1. DMI(14) DI+ > DI- 구간
2. 5분봉 이평 위에 있는 봉
3. ADX(14) 우상향
4. envelope(5) 저항선 0.5% 초과 상태 > EnvelopeC(4,0.5)
(4번 조건은 빈번한 신호안뜬게 하기위함)
1. 2. 3, 4 조건의 교집합시 매수 진입
매수 청산
종가가 5분봉 평균이동평균 하향 이탈시 청산
-----------------------------------------------------------------------------
매도 진입 조건
1. DMI(14) DI+ < DI- 구간
2. 5분봉 이평 아래 있는 봉
3. ADX(14) 우상향
4. envelope(5) 지지선 0.5% 하향 상태 > EnvelopeC(4,0.5)
(4번 조건은 빈번한 신호안뜬게 하기위함)
1. 2. 3, 4 조건의 교집합시 매도 진입
매도 청산
종가가 5분봉 평균이동평균 상향 돌파시 청산
2020-04-25
832
글번호 138361
답변완료
시스템 수식전환 부탁
<지표수식>
IFF(기준선_매수1단계 == 2, RED,
IFF(기준선_매수1단계 == 1, RGB(255,200,200),
IFF(기준선_1분_매도1단계 == -2, BLUE,
IFF(기준선_1분_매도1단계 == -1, RGB(130,165,255),
GRAY)))), DEF,5);
일목균형표에서 기준선을 위와 같이 표현되도록 정했을 때 아래의 경우의 시스템수식 부탁드려요.
<1>매수1단계 RED 발생시 매수진입, 매수1단계 RGB(255,200,200) 발생시 매도진입
<2>매도1단계 BLUE 발생시 매도진입, RGB(130,165,255) 발생시 매수진입
<3>매도1단계 BLUE 발생 -> 매도1단계 RGB(130,165,255) ->매수1단계 red 3개가 연달아 발생시 매수진입
매수1단계 RED 발생 -> 매수1단계 RGB(255,200,200) 발생->매도1단계 blue
3개가 연달아 발생시 매도진입
<4>위 <1>조건을 1분봉/5분봉/10분봉/30분봉 기준 동일하게 만족할 때 시스템 수식
<5>위 <2>조건을 1분봉/5분봉/10분봉/30분봉 기준 동일하게 만족할 때 시스템 수식
.<6>위 <3>조건을 1분봉/5분봉/10분봉/30분봉 기준 동일하게 만족할 때 시스템 수식
다음과 같이 전환선을 지표수식으로 표현되도록 하였을때
IFF(전환선 <기준선, GREEN, LGREEN),DEF,5);
<7>전환선이 GREEN이 발생하면 매수진입, LGREEN이 발생하면 매도진입
<8>최근 100봉이내에서 최고점과 최저점을 찾은후에 최고점과 최저점을 기준으로 피보나치 수열이 자동으로 구현되게 하는 지표수식부탁요
(피보니치 기본수열 0/25/38.2/50/61.8/75/100/125/150/200
<9>위 <8>을 변형하여 최고점과 최저점을 자기가 직접 입력했을때 피보나치 수열 자동구현하는 수식지표
2020-04-26
1052
글번호 138360