커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

질문...

분봉적용 코드 부탁합니다 1. ######################################## var1 = accumn(upvol,dayindex+1); var2 = accumn(DOWNvol,dayindex+1); VAR3 = VAR1 - VAR2 ; 이 코드에서 var3의 분봉에서 마지막값을 구하고 싶은데요 그 마지막값이 1) 전일분봉상 마지막값 : 2) 전전일분봉상 마지막값 3) 전전전일분봉상 마지막값 ..... 예를들면 dayclose(1)를 분봉에서 적용하면 전일 고가이고 dayclose(2) 이면 전전일 고가 이듯이 그런 개념입니다 괄호안에 들어가는 숫자(변수)는 최대 5까지이구요 아니면 변수화도 좋고 그런 지표를 그리고 싶습니다 ########################################################################### 2. ########################################################################### var : cnt(0),PreDate(0),PreDayV(0); if date != date[1] Then PreDate = sdate[1]; if PreDate > 0 Then{ for cnt = 1 to 1000 { if stime[cnt] <= stime and sdate[cnt] == PreDate then{ PreDayV = DayVolume[cnt]; cnt = 10000;//if조건 만족하면 for문을 빠져나감 } } } var1 = DayVolume/PreDayV*100 ; 2번 코드 역시 1번과 똑같이 마지막값들을 알고 싶습니다 ########################################################################## 부탁드립니다
프로필 이미지
9회말2아웃
2015-10-21
137
글번호 91529
지표

세발낚지 님에 의해서 삭제되었습니다.

프로필 이미지
세발낚지
2015-10-21
8
글번호 91528
지표
답변완료

수정요청드립니다.

아래수식 적용시 당일1회 진입제한인데 수익보전청산 후에도 피라미팅 진입신호가 계속 나오네요. 수정요청드립니다. 감사합니다. 안녕하세요 예스스탁입니다. 1 진입횟수제한은 진입식에만 있으면 됩니다. 청산식에는 불필요합니다. 2 올려주신 식에서 3포인트이상 수익만 수정하시면 됩니다. 진입이후(피라미딩포함) 최대 수익이 3.0이상이었다고 지정하시면 됩니다. 3. input : ma881(20); var1 = ma(c,ma881); if MarketPosition == -1 and stime >= 143000 && stime <= 150000 and #14시30분~15시 사이 MaxPositionProfit(0) >= 3.0 And #진입이후 3포인트이상 수익발생한적이 있고 CrossUp(C,Var1) and #종가가 var1을 상향돌파 dayPL > -당일손실 Then #당일손실은 ExitShort("매도MA수익PM"); if MarketPosition == 1 and stime >= 143000 && stime <= 150000 and MaxPositionProfit(0) >= 3.0 And CrossDown(C,Var1) and dayPL > -당일손실 Then Exitlong("매수MA수익PM");
프로필 이미지
dandy
2015-10-21
122
글번호 91527
시스템
답변완료

시스템식 부탁드립니다.

안녕하세요.. 항상 좋은 답변 감사드립니다. 다음과 같은 시스템식 부탁드립니다. 1. 일반사항 1) 일봉상 엔벨로프 지표를 기준으로 3분봉에서 매매하려고 합니다. 2) 3분할매수 2분할 매도 3) 외부변수는 다음과 같습니다. 2. 매수기준 - 그림1)참조 1) 일봉상 엔벨로프의 하단선에서 1차매수 "매수위치1차":"매수위치1차" 즉, 외부변수가 10인경우 엔벨로프 10:10 의 하단선에서 1차매수이나 여기에 "매수위치보정" 변수인 (1)% 위에서 1차매수 정리하면 일봉상 10:10 엔벨로프 하단선 가격의 1% 위에서 1차매수 2) 1차매수한날 엔벨로프 하단선가격에서 "매수위치2차" 즉 7% 하락시 2차매수 3) 1차매수한날 엔벨로프 하단선가격에서 "매수위치3차' 즉 14% 하락시 3차매수 4) 각분할매수 타점에서 전략총매수금액의 매수비중 %만큼 매수 5) 아래 외부변수와 같이 시작일자, 시작시간, 진입횟수도 부탁드립니다. 6) 각각의 매수타점에서 매수가 발생시 "1차매수", "2차매수", "3차매수"를 차트에 표시 3. 매도기준 1) 각타점에서 매수후 저점에서 "매도위치"변수 만큼 반등시 각각 매도 "매도위치1차(7)"인 경우 매수후 저점에서 7% 이상 반등시 매도비중만큼 1차매도 2) 각분할매도 타점에서 총매수금액의 매도비중 %만큼 매도 3) 각각의 매도타점에서 매도가 발생시 "1차매도", "2차매도"를 차트에 표시 4. 손절기준 1) 각각의 매수위치에서 매수후 타점보유일수 만큼 경과하면 해당보유일수 동안의 저점이탈시 손절 예: 1차매수시 "타점보유일수(3)" 인 경우 1차매수후 매수일 포함 3일동안 해당수익이 발생하지 못해 1차매도가 이루어지지 않았을 경우 3일동안의 최저점을 이탈시 손절 또한 같은 경우로 1차매수+2차매수가 되었을때 최종2차매수후 3일동안 1차매도가 이루어지지 않를 경우 최종 2차매수후 3일동안의 최저점을 이탈시 손절 1차매수+2차매수+3차매수가 되었을때 최종3차매수후 3일동안 1차매도도 이루어 지지않았을 경우 최종 3차매수후 3일동안으 최저점을 이탈시 손절 2) 각각의 매수후 1차매도만 이루어 지고 하락시 매수당시의 최저점 이탈하면 익절 예: 1차매수 --> 1차매도 --> 하락시 : 1차매수당시 최저점 이탈히면 익절 1차매수+2차매수 --> 1차매도 --> 하락시 : 2차매수당시 최저점 이탈하면 익절 1차매수+2차매수+3차매수 --> 1차매도 --> 하락시 : 3차매수당시 최저점 이탈하면 익절 3) 1)번항목의 손절처리가 된경우 "손절" 2)번항목의 익절처리가 된경우 "익절"로 차트에 표시 5. 일봉상 엔벨로프위치를 3분봉에 사용하도록 지표식도 부탁드립니다. 1) 매수위치1차, 매수위치2차, 매수위치3차의 지표 2) 외부변수 사용가능하도록 변수 부탁드립니다. ------------------------------------------------------------------------------------------- input : 전략식시작일자(20151007), 전략식시작시간(090000), 전략총매수금액(2000); input : 매수위치1차(10), 매수위치2차(7), 매수위치3차(14); input : 매수위치보정(1) input : 매도위치1차(7), 매도위치2차(14); input : 매수비중1차(20), 매수비중2차(30), 매수비중3차(50); input : 매도비중1차(50), 매도비중2차(50); input : 전략식진입횟수(1); input : 타점보유일수(3);
프로필 이미지
종풍화성
2015-10-21
185
글번호 91523
시스템
답변완료

질문드립니다.

질문1. 선물일봉에서 거래를 할려고 합니다. 예를들어 10ma를 이용해서 거래를 하고자 하는데, 문제는 지속적으로 변화하는 10ma를 이용하는 것이 아니라, 오늘 거래가 시작될 때의 10ma 값(이하 a)을 따로 저장하여, a값을 상회하면 매수, a값을 하회하면 매도를 하고 싶습니다. 그리고 주문은 atstop을 이용하여 a값을 몇번 건드리더라고 계속 주문을 내고 싶습니다. 요약하자면 시초가와 동시에 생성되는 10ma값을 따로 지정하여, 현재 진입된 포지션에 관계없이, a값을 밑에서 위로 뚫고 올라가면 매수, a값을 위에서 밑으로 뚤고 내려가면 매도를, 횟수에 관계없이 주문을 내고 싶습니다. (제 생각에는 atstop으로 주문을 내는 것으로 보이는데요...이것도 맞는지요?) 이렇게 주문을 내는 수식을 예시와 함께 부탁드립니다. 질문2. 질문1에서 말씀드렸던 시초가 시 형성되는 10ma값을 지표로 구현하는 수식을 부탁드립니다. 감사합니다.
프로필 이미지
yanartas
2015-10-21
120
글번호 91514
시스템
답변완료

부탁 드립니다.

언제나 만족한 수식 답변에 깊이 감사드립니다. 아래 수식은 스토캐스틱 타주기용으로 전에 작성 해주신 것입니다. 해외선물용으로 사용하고자 합니다. if dayindex == 0 or (TF1 < TF1[1] and stime > stime[1]) or stime >= 151500 Then{ 수식중 상기 부분을 그대로 사용 해도 되는 지요? // 수식// input : Atime1(60),StoPeriod(5), StoPeriod1(3), StoPeriod2(3); var : TF1(0),TF2(0),Ep1(0), EP2(0),cnt(0); var : hVal1(0), lVal1(0), StoFastK(0), StoK(0), StoD(0); var : JISU(0), DINDEX(0), PreStoK(0), PreStoD(0); Array : H1[50](0),L1[50](0); TF1 = TimeToMinutes(stime)%Atime1; Ep1 = 2/(StoPeriod1+1); Ep2 = 2/(StoPeriod2+1); if dayindex == 0 or (TF1 < TF1[1] and stime > stime[1]) or stime >= 151500 Then{ H1[0] = H; L1[0] = L; for cnt = 1 to 49{ H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; } DINDEX = DINDEX + 1; PreStoK = StoK[1]; PreStoD = StoD[1]; } if H > H1[0] Then H1[0] = H; if L < L1[0] Then L1[0] = L; hVal1 = H1[0]; lVal1 = L1[0]; for cnt = 0 to StoPeriod-1 { if H1[cnt] > hVal1 then hVal1 = H1[cnt]; if L1[cnt] < lval1 then LVal1 = L1[cnt]; } StoFastK = (C-lVal1)/(hVal1-lVal1)*100; if DINDEX <= 1 then{ StoK = StoFastK ; StoD = StoK ; } else{ StoK = StoFastK * EP1 + PreStoK * (1-EP1); StoD = StoK * EP2 + PreStoD * (1-EP2); } plot1(StoK,"k"); plot2(StoD,"d"); PlotBaseLine1(20); PlotBaseLine2(80);
프로필 이미지
yes
2015-10-21
171
글번호 91510
지표
답변완료

2번줄,3번줄,수식오류 바로잡아 주세요.

input:len1(14),len2(50),delay(4),level(0.16),s1(0.37),s2(2.7); var1=rsi(close,len1) if var1>llv(1,var1,len2) and low<=llv(1,low,len2) Then var11=1 Else var11=-1 end If if var1<hhv(1,var1,len2) and high>=hhv(1,high,len2) then var12=1 Else var12=-1 end If cond1=hhv(1,var11,delay)=1 and var1>llv(1,var1,len2) and var1<70 cond2=hhv(1,var12,delay)=1 and var1<hhv(1,var1,len2) and var1>30 if tdate<>tdate(1) Then var50=currententrynum end If if currententrynum-var50=0 Then if ttime<1500 Then if var1>30 and cond2=false Then call buy("매수1",atstop,def,opend+(highd(1)-lowd(1))*s1) end If if var1<70 and cond1=false Then call sell("매도1",atstop,def,opend-(highd(1)-lowd(1))*s1) end If end If end If if currententrynum-var50<=2 Then if ttime<1500 Then if cond1 and opend-(highd(1)-lowd(1))*level < close Then call buy("매수",atstop,def,hhv(1,high,2)) end If if cond2 and opend+(highd(1)-lowd(1))*level>close Then call sell("매도",atstop,def,llv(1,low,2)) end If end If end If if position<>0 Then call exitlong("매수추적",atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) call exitshort("매도추적",atstop,llv(1,low,barnumsinceentry+1)-atr(20)*s2)
프로필 이미지
수루지
2015-10-21
149
글번호 91508
시스템
답변완료

전환 부탁드림니다.

1:avg((c-o),8); 2:avg(avg((c-o),8),8);
프로필 이미지
수루지
2015-10-21
134
글번호 91507
지표
답변완료

종목검색식 요청

항상 감사드립니다. TSI를 이용한 종목 검색식 작성을 부탁드립니다. 다음과 같이 두개의 TSI를 설정한 검색입니다. INPUTS: R(8), S(16), U(12),R1(16), S1(32), U1(24), SMTHLEN(3),SMTHLEN1(6); VALUE1 = TSI(C, R, S, U); VALUE2 = Ema(VALUE1, SMTHLEN); VALUE3 = TSI(C, R1, S1, U1); VALUE4 = Ema(VALUE3, SMTHLEN1); 위 TSI에서 VALUE3 > VALUE4 상태에서 VALUE1 < VALUE2 상태인 종목을 검색하는 식을 부탁드립니다. 긴 수치를 이용한 TSI는 골든크로스 상태에서 짧은 수치를 이용한 TSI는 데드크로스 상태인 종목을 원합니다. 아무리 수식을 작성해도 계속 엉뚱한 종목들이 걸립니다. 미리 감사드립니다.
프로필 이미지
pareter
2015-10-21
131
글번호 91506
종목검색