커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

plot작성

안녕하세요. var7(전환선) 기준으로 청색plot를 구현하고자합니다. 설명) 5이평이 var7 up후 파라볼릭 처음 매도신호 발생시 직전 매수신호의 최고점 과 5이평이 var7 down후 파라볼릭 처음 매수신호 발생시 직전 매도신호의 최저점 연결 ################### Input : af(0.01), maxAF(0.1); Var : value(0); value = sar(af,maxAF); If crossup(c, value) Then { var1 = H; var2 = L; var3 = var1[1]; var4 = var2[1]; } If CrossDown(c, value) Then { var1 = H; var2 = L; var3 = var1[1]; var4 = var2[1]; } if H > var1 Then var1 = H; if L < var2 Then var2 = L; ##직전고저점 if crossUp(C, value) then var5 = var4; if CrossDown(C, value) then var6 = var3; ##직고저점 이평up/Down if crossup(ma(c,5),var6) Then var7 = var5; if crossdown(ma(c,5),var5) Then var7 = var6; plot1(var7,"전환선"); 감사합니다.
프로필 이미지
베드로
2019-06-09
418
글번호 129283
지표
답변완료

부탁드립니다

안녕하세요 아래지표 수식을 블로그에서 보았습니다 그분께 감사드립니다 제가 초보라서 아래수식 지표에 입력이 안되서 입력 가능하게 부탁드려봅니다 감사합니다 Input:length(5),목선두께(2); Var:TL1(0),TL2(0),TL3(0), TL_NewBit(0); // 1:NewLine 2:SetEndLine Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# Value1 = HiLoLineZigZag(length,0,고,저,TL_NewBit); If Value1 == 1 Then { // 고점 If TL_NewBit == 1 Then { // 신규 고점 TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 저[4,1] > 저[3,1] and 저[3,1] > 저[2,1] and 저[2,1] < 저[1,1] and 고[4,1] > 고[3,1] and abs(고[2,1] - 고[3,1])/고[3,1] <= 목선두께/100 Then { // 역머리어깨형 TL2 = TL_New(고[3,3],고[3,4],고[3,1],sDate,sTime,(고[2,1]-고[3,1])/(고[2,2]-고[3,2])*(Index-고[3,2])+고[3,1]); TL_SetColor(TL2,RED); TL_SetSize(TL2,3); } } Else { // 고점 진행 중, 즉 상승중 If 저[4,1] > 저[3,1] and 저[3,1] > 저[2,1] and 저[2,1] < 저[1,1] and 고[4,1] > 고[3,1] and abs(고[2,1] - 고[3,1])/고[3,1] <= 목선두께/100 Then { TL_SetEnd(TL2,sDate,sTime,(고[2,1]-고[3,1])/(고[2,2]-고[3,2])*(Index-고[3,2])+고[3,1]); } } If TL_NewBit == 2 Then { TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); } } Else If Value1 == -1 Then { // 저점 If TL_NewBit == 1 Then { // 신규 저점 TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 고[4,1] < 고[3,1] and 고[3,1] < 고[2,1] and 고[2,1] > 고[1,1] and 저[4,1] < 저[3,1] and abs(저[2,1] - 저[3,1])/저[3,1] <= 목선두께/100 Then { // 머리어깨형 TL3 = TL_New(저[3,3],저[3,4],저[3,1],sDate,sTime,(저[2,1]-저[3,1])/(저[2,2]-저[3,2])*(Index-저[3,2])+저[3,1]); TL_SetColor(TL3,BLUE); TL_SetSize(TL3,3); } } Else { // 저점 진행 중, 즉 하락중 If 고[4,1] < 고[3,1] and 고[3,1] < 고[2,1] and 고[2,1] > 고[1,1] and 저[4,1] < 저[3,1] and abs(저[2,1] - 저[3,1])/저[3,1] <= 목선두께/100 Then { TL_SetEnd(TL3,sDate,sTime,(저[2,1]-저[3,1])/(저[2,2]-저[3,2])*(Index-저[3,2])+저[3,1]); } } If TL_NewBit == 2 Then { TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); } }
프로필 이미지
유로정복자
2019-06-09
372
글번호 129282
지표
답변완료

트레일링 스탑 적용 관련건

제가 사용하는 수식에 트레일링 스탑을 적용하시는 식을 부탁드려요~~ 즉시익절(100) if MarketPosition == 1 then { ExitLong("즉시익절",AtLimit,EntryPrice+PriceScale*100); if BarsSinceEntry >= 3 and c[1]>c[2] Then ExitLong("봉완성익절1",AtLimit,C+PriceScale*10); ExitLong("즉시손절1",AtStop,EntryPrice-PriceScale*100); if c <= EntryPrice-PriceScale*50 Then ExitLong("봉완성손절"); SetStopProfittarget(PriceScale*120,PointStop); SetStopLoss(PriceScale*120,PointStop); } 위 수식을 보면 청산시 수익 청산 관련한 사항은 1. ExitLong("즉시익절",AtLimit,EntryPrice+PriceScale*100); 2. SetStopProfittarget(PriceScale*120,PointStop); 1번은 정상적인 목표가 도달시 청산식이고 2번은 진입하자마자 그봉안에서 목표가 도달시 청산하는식입니다. 위 둘을 트레일링을 적용하려고 합니다. 각각 목표가에(100포인트/120포인트) 상승한후 트레일링 적용시작해서 -3포인트에 청산하는 수식을 위 수식에 반영되도록 부탁드리겠습니다. 그리고 해당 수식은 시스템성능보고서에는 왜곡되게 나오겠죠?
프로필 이미지
영태통닭
2019-06-09
325
글번호 129281
시스템
답변완료

차트에서 지표 불러오는 방법

수고하십니다. 새로 만든 지표를 차트에서 어떻게 적용하는지 궁금합니다 1.예스랭귀이지에서 지표식을 작성후 검증 완료하였습니다. 2. 종목추가-종목선택의 "참조"에서 새로 만든 지표가 나타나질 않습니다. 제기 초보자이다 보니, 지표를 새로 만든후 차트에 적용하는 절차를 부탁드립니다.
프로필 이미지
마추피추
2019-06-09
327
글번호 129280
지표
답변완료

안녕하세요

안녕하세요. 수고 많으십니다. 아래수식 다시 검증 해 주세요. var : cnt(0),HH(0),LL(0); var1 = ma(C,1); if (sdate != sdate[1] and stime >= 101500) or (sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then { HH = H; LL = L; } if crossup(var1,(HH+LL)/2) Then buy(); if CrossDown(var1,(HH+LL)/2) Then sell(); var : pp(0),ll(0),tx(0); if MarketPosition == 1 Then { pp = Floor((highest(H,BarsSinceEntry)-EntryPrice)/(PriceScale*10)); if pp > pp[1] Then { tx = Text_New(sdate,stime,H+PriceScale*3,NumToStr(pp*10,0)+"틱"); Text_SetStyle(tx,2,1); } } if MarketPosition == -1 Then { pp = Floor((EntryPrice-lowest(L,BarsSinceEntry))/(PriceScale*210)); if pp > pp[1] Then { tx = Text_New(sdate,stime,L-PriceScale*3,NumToStr(pp*10,0)+"틱"); Text_SetStyle(tx,2,0); } } var : pp(0),ll(0),tx(0); 이 수식 줄수에서 ......... 이미 선언된 이름을 다시 선언하고 있 습니다. 라는 문구가 뜨네요. 감사합니다. 수고하세요.
프로필 이미지
탐라
2019-06-10
326
글번호 129279
시스템
답변완료

수식추가 부탁합니다

제가 30분봉으로 매매를 하는데 일전에 일봉의 이동평균선과 90분봉의 이동평균선을 참조할 수 있도록 수식을 작성해 주셨습니다. 추가로 90분봉의 스톡케스틱 지표를 참조할 있도록 설정부탁드립니다. 아래식은 매매에 사용하는 30분봉의 단순 스톡케스틱입니다. 90분봉의 단순스톡케스틱 설정을 부탁드립니다. # 단순스톡케스틱 설정 Lvalue = Lowest(L, sto1); Hvalue = Highest(H, sto1); FK = (Close - Lvalue) / (Hvalue - Lvalue) * 100; SK = ma(FK,sto2); SD = ma(SK,sto3); ================================================ input : ntime1(90),P1(20),P2(60),P(20),dv(2),스탑로스(2.5),손절폭(1.5),매수스톡(25),매도스톡(70),매수이격(18),매도이격(18); input : sto1(25),sto2(6),sto3(6); var : cnt(0),sum1(0),sum2(0),mav1(0),mav2(0); var : tsum1(0),tsum2(0),tmav1(0),tmav2(0); var : BBup(0),BBdn(0),BBMid(0); var : S1(0),D1(0),TM(0),TF(0); Array : C1[100](0); Var : Lvalue(0), Hvalue(0),FK(0),SK(0),SD(0); # 단순스톡케스틱 설정 Lvalue = Lowest(L, sto1); Hvalue = Highest(H, sto1); FK = (Close - Lvalue) / (Hvalue - Lvalue) * 100; SK = ma(FK,sto2); SD = ma(SK,sto3); # 분봉설정 if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime1; if Bdate != Bdate[1] or (ntime1 != 1 and Bdate == Bdate[1] and TF < TF[1]) or (ntime1 == 1 and Bdate == Bdate[1] and TF > TF[1]) Then { for cnt = 1 to 99 { C1[cnt] = C1[cnt-1][1]; } } C1[0] = C; if C1[P2] > 0 then { tsum1 = 0; tsum2 = 0; for cnt = 0 to P2-1 { if cnt < P1 then tsum1 = tsum1+C1[cnt]; if cnt < P2 then tsum2 = tsum2+C1[cnt]; } # 90분봉의 20일 이평선= tmav1, 60일 이평선= tmav2 tmav1 = tsum1/P1; tmav2 = tsum2/P2; }
프로필 이미지
뽄때
2019-06-09
363
글번호 129278
시스템
답변완료

수식전환 부탁드립니다.

수고가 많으십니다. 키움수식을 예스트레이더 수식으로 전환부탁드립니다. <1> 매수 aa=avg(c,120); shift(aa<aa(1) && aa(1)>aa(2),-1) 매수청산 aa=avg(c,120); shift(aa>aa(1) && aa(1)<aa(2),-1) 매도 aa=avg(c,120); shift(aa>aa(1) && aa(1)<aa(2),-1) 매도청산 aa=avg(c,120); shift(aa<aa(1) && aa(1)>aa(2),-1) <2> 매수 A=ma(c,120,지수); IF(A<A(1)*(1-0.1()/100),A,0) 매수청산 A=ma(c,120,지수); IF(A<A(1)*(1-0.1()/100),A,0) 매도 A=ma(c,120,지수); IF(A>A(1)*(1+0.1()/100),A,0) 매도청산 A=ma(c,120,지수); IF(A<A(1)*(1-0.1()/100),A,0)
프로필 이미지
이대표
2019-06-08
394
글번호 129277
지표
답변완료

분봉 스토캐스틱 을 틱차트에서 구현

좋은 프로그램 이용할 수 있게 해주셔서 감사합니다. 밑에 검색해보니 분봉 MACD를 틱차트에서 구현하는 것에 대해서는 내용이 있던데, 스토캐스틱은 볼 수가 없었습니다. 대략 5분봉 스토캐스틱을 100틱 차트에서 구현하는 식을 알려주시면 감사하겠습니다. 예스트레이더를 새로 접한지 몇 일 안되다 보니 직접하지 못하고, 의뢰합니다. 감사합니다.
프로필 이미지
specator
2019-06-08
357
글번호 129276
지표
답변완료

수식부탁드립니다------------------

현재선물지수에서 가장가까운 위,아래 옵션행사가를 plot으로 나타내고 싶슴니다 부탁드립니다 수고하세요
프로필 이미지
leekss1
2019-06-08
336
글번호 129275
지표