커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의 드립니다.

안녕하십니까! 아래식의 간단한 수식설명을 부탁드립니다. input : weekP1(5),weekP2(20); var : weekcnt(0),cnt(0),count1(0),sum1(0),mav1(0),count2(0),sum2(0),mav2(0); array : WeekC[50](0); if DayOfWeek(date) < DayOfWeek(date)[1] then{ weekcnt = weekcnt+1; for cnt = 1 to 49{ WeekC[cnt] = WeekC[cnt-1][1]; } } WeekC[0] = C; sum1 = 0; if weekcnt >= weekP1 Then{ for count1 = 0 to weekP1-1{ sum1 = sum1+WeekC[count1]; } mav1 = sum1/weekP1; plot1(mav1); } 감사합니다.
프로필 이미지
아틀라스
2012-11-11
260
글번호 56393
지표
답변완료

검색식 부탁드립니다.

오늘 종가 1000원 이상이고, 오늘 거래대금 10억 이상인 종목이며 20일전부터 120일 사이에서 각각 날의 거래량이 60일 평균거래량보다 3배 많고, 전일보다 종가가 낮고 단순가격이동평균 20일선 밑에 있는 종목검색을 하고 싶습니다. 거래대금에 대한 함수는 몰라서 구현을 못했구요. 거래대금 기능을 빼더라도 아래는 제가 구현을 했는데 원하는 결과가 안 나와서 의뢰합니다. Input : StartDay(20), EndDay(120), VolumeAver(60); var : Day(0), VolumeDay(0), VolomePivot(0), ok(0); FOR Day = StartDay TO EndDay { VolumeDay = ma(V[Day], VolumeAver) * 3.0; If (C[Day] < C[Day+1]) and (VolumeDay < V[Day]) and (C[0] > 1000) and (C[Day] < ma(C[Day], 20)) Then ok = 1; Else ok = 0; Find(ok); }
프로필 이미지
회원
2012-11-11
287
글번호 56392
검색
답변완료

수식 문의 드립니다

1. 주식 스윙 매매에 사용하려고 합니다. 청산이 되고 A라는 조건이 1년 동안만 유효하도록 하는 수식 부탁드립니다. 그러닌까 1년 이후에는 A라는 조건이 유효하지 않고, 진입이 되고 또 청산이 일어났다면 A라는 조건이 1년동안만 유효하도록!!!! 예를 들면 C > Ma(C,60)이라는 조건이 청산이 이루어지고 1년간 유효하고, 1년 이후에는 C > Ma(C,60)라는 조건과 관계없이 진입하고, 또 청산이 되었다면 C > Ma(C,60)라는 조건이 1년간 유효. 2., 모든 조건이 1년간만 유효하고, 그 이후에는 초기화 되어 다시 진입되도록 수식 부탁드립니다. 3. 시스템 성과 보고서상의 수익금의 20일 이동평균선을 수식으로 부탁드립니다.
프로필 이미지
무명
2012-11-12
319
글번호 56391
시스템
답변완료

시스템식

if stime >= 90000 and stime <= 144900 then{ Input : shortPeriod(2), longPeriod(5); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); # 매수/매도청산 If CrossUP(value1, value2) Then Buy(); } ------------------------------------------- 위의 식에서 아래의 매도청산식을 써주세요 Sell: 피라미딩을 사용하여서 매수한 여러개의 매수가격의 총평균값에서 +1.3% 오를시 매도청산
프로필 이미지
erwe343
2012-11-10
305
글번호 56390
시스템
답변완료

수식 문의

1. 데일리 매매 가정 1번 매수포지션 진입 후 2번 매도포지션 진입(매수청산 및 리버스 매도 진입 가정) 전 기간 중 최고가 ..... 2번 매도포지션 진입 후 3번 매수포지션 진입(매도청산 및 리버스 매수 진입 가정) 전 기간 중 최저가 ..... 이런 식으로 직전 포지션 보유 중 최고가 및 최저가를 표시하는 수식을 부탁드립니다. 감사합니다.
프로필 이미지
쉬어가자
2012-11-10
308
글번호 56389
시스템
답변완료

날짜가 다른 같은 시간대의 종가의 지수이동평균을 구하는 지표식좀 부탁합니다.

안녕하세요. 항상 친절한 답변 감사합니다. 지표식이 필요한데, 너무 어려워서 부탁드립니다. 조건1: 이평길이(BarNumber)는 외부변수로 설정 할 수 있게 해주세요. 조건2: 선물만기일은 이평계산에서 아예 제외시켜야 합니다.(만기일에는 지표가 없어도 됩니다. 날짜의 중간에 선물만기일이 끼어 있으면, 해당일의 종가데이터는 모두 무시하고 전일로 넘어갑니다.) 조건2: 5분봉 기준으로, 서로다른 날짜의(이평수 만큼) 같은 시간(sTime)의 종가의 지수이평이 필요합니다. 즉, 시점이 11월9일 13:35 이고, 5이평이라고 한다면 11월7일 13:35분의 C 11월6일 13:35분의 C 11월5일 13:35분의 C 11월2일 13:35분의 C 11월1일 13:35분의 C 요 5개 종가(C)데이터로 계산한 지수이평이 필요합니다. 부탁드려요. 감사합니다.
프로필 이미지
coolstuf
2012-11-09
330
글번호 56388
지표
답변완료

현재 봉에서 매수주문

최근 아래와 같이 답변해주셨습니다.: [답변] 랭귀지에는 호가가 제공되지 않아 시장가를 알수 없습니다. 1385와 같이 특정 가격인 경우 현재가가 터치할 때 즉시 신호가 발생가능하지만 이평과 같이 지표값의 경우 if문으로 작성하게 되고 if 조건문은 봉완성시를 기준으로 하므로 종가가 됩니다. if H < 1385 Then buy("b",AtStop,1385,1); if MarketPosition == 1 and CrossDown(c,ma(c,7)) Then sell("s",OnClose,def,1); [재질문] 시뮬레이션 해보니 위 매수 주문은 현재가가 1385를 터치한 다음 봉에서 주문이 발생하더군요. 다음 봉이 아니라 1385 터치 신호가 발생하는 즉시, 1385에서 매수주문이 나가도록 할 수 있는지요? 답변 기다리겠습니다. 수고하세요.
프로필 이미지
ST
2012-11-09
311
글번호 56387
검색
답변완료

문의합니다.

Var1=PROC(Close, 14, Diff) Var2=Mov(Var1, 9, S) Var3= PerB(Close, 12, 2,s) Var4=Mov(Var3, 9, S) Var5=CO(3, 10) Var6=Mov(Var5, 9, S) Var7= MFI(14) Var8=Mov(Var7, 9, S) Var9= RSQR(Close, 14) Var10=Mov(Var9, 9, S) Var11= ADXR(14, 1) Var12= ADX(14, 1) Var13= LRI(Close, 28) Var14= PROC(Close, 14, Diff, 1) Var15= DIPlus(14, 1) Var16= DIMinus(14, 1) Var17= SwingIndex(1) Var18=WillPerR(14, 1) Var19=MACD(Close, 12, 26, 1) Var20=MACD(Close, 12, 26) Var21= Mov(Var20, 9, S) Var22=RSI(Close, 14) Var23=ADXR(14) Var24=DIPlus(14) Var25= AD() Var26=Mov(Var25, 9, S) Var27= ADX(14) Var28=OBV() Var29=Mov(Var28, 9, S) Var30= SwingIndex() Var31= WillPerR(14) Var32=DIMinus(14) Var33=DIMinus(14, 1) Var34= LRS(Close, 14, 1) Var35=ATR(14) Var36= TSF(Close, 14) Var37=Mov(Var34, 9, S) Var38= VHF(Close, 14) Var39=Mov(Var38, 9, S) Var40= LRI(Close, 14, 1) Var41=Mov(Var40, 9, S) Var42=Mov(Var22, 9, S) Var43=Mov(Var35, 9, S) Var44=TSI(Close, 12, 26, S) Var45=Mov(Var44, 9, S) Var46=Mov(Var36, 9, S) Var47=Mov(close, Len1, s) Var48=Mov(close, Len2, s) Var49=Mov(close, Len3, s) Var50=TSF(Close, 14) Var51=Mov(Var50, 9, S) Var52= MAO(Close, 10, 20, S, Per, 1) Var53=Mov(Var52, 9, S) Var54=MAO(Close, 10, 20, S, Per) Var55=Mov(close, Len4, s) Var56=Mov(close, Len5, s) Var57=Mov(close, Len6, s) Var58=Mov(close, Len7, s) Var59= LRI(Close, 14) Var60= Mov(Var59, 9, S) Var61=DEMA(Close, 21) Var62=TEMA(Close, 21) Var63= WillPerR(14) Var64= Mov(Var63, 9, S) Var65=TRIX(Close, 14) Var66= Mov(Var65, 9, S) Var67= Sigma(Close, 20) Var68= Mov(Var67, 9, S) Var69= SONAR(Close, 20, 5, Per, 1) Var70= Mov(Var69, 9, S) Var71= DEMA(Close, 21, 1) Var72=BBandMid(Close, 12, 2, S, 1) Var74=PSAR(0.02, 0.2) Var75=LRS(Close, 14) If 0904=<ttime And ttime< 1452 And position(0) = 0 And crossup(Var24, Var27)_ And Var4(0)-var4(2)>0 And Var8(0)-var8(1)>0 And Var68(0)-var68(1)>0 And Var7(1)-var7(2)>0And Var5(0)-var5(1)>0 And Var9(0)-var9(1)>0And Var44(0)-var44(1)>0And Var53(0)-var53(1)>0 And Var62<var59 And Var6<var5 And Var2<var1 And Var27>20And Var23>20 And Var27(1)-var27(2)>0 And Var23(0)-var23(1)>0Then Call buy("매수", Atstop, 1,close(1)) End If If 0902=<ttime And ttime< 1452 And position(0) = 0 And crossup(Var50,Var51 )_ And Var8(0)-var8(1)>0 And Var6<var5 And Var39(0)-var39(1)>0And Var1(0)-var1(1)>0And Var64(0)-var64(1)>0And Var65>0And Var3(0)-var3(1)>0 And Var6>0 And Var2<var1 And Var32<var27 And Var60<var58 And Var5(0)-var5(1)>0 And Var38(0)-var38(1)>0 And Var43(0)-var43(1)>0 And Var43<var35 And Var27(0)-var27(1)>0 And Var23(0)-var23(1)>0Then Call buy("매수", Atstop, 1,close(1)) End If If 0902=<ttime And ttime< 1452 And position(0) = 0 And crossup(Var50,Var51 )_ And Var5(1)-var5(2)>0 And Var6<var5 And Var39(0)-var39(1)>0And Var1(0)-var1(1)>0And Var64(0)-var64(1)>0And Var65>0And Var3(0)-var3(1)>0 And Var6>0 And Var2<var1 And Var32<var27 And Var60<var58 And Var5(0)-var5(1)>0 And Var38(0)-var38(1)>0 And Var43(0)-var43(1)>0 And Var43<var35 And Var27(0)-var27(1)>0 And Var23(0)-var23(1)>0Then Call buy("매수", Atstop, 1,close(1)) End If If 0902=<ttime And ttime< 1502 And position(0) = 1 And crossdn(Var24, 20) _ And Var27<var32 And Var9(0)-var9(1)<0And Var38(0)-var38(1)<0 And Var2(0)-var2(1)<0 And Var9<var10 And Var7<var8 And Var3(0)-var3(1)<0And Var35(0)-var35(1)<0Then Call exitlong("매수청산", Atmarket) End If If 0902=<ttime And ttime< 1502 and position(0) = 1 and crossdn(Var24, var32) _ And Var1<0And Var5(0)-var5(1)<0 And Var5<0 And Var10(0)-var10(1)<0 And Var38(0)-var38(1)<0And Var44(0)-var44(1)<0 Then Call exitlong("매수청산", Atmarket) End If If 0902=<ttime And ttime< 1502 and position(0) = 1 and crossdn(Var24, var32) _ And Var7(0)-var7(1)<0 and var24<var27 and var10(0)-var10(1)<0 and var44<var45 and var24<var23 and var24<20 and var34(0)-var34(1)<0 then Call exitlong("매수청산", Atmarket) End If If 0902=<ttime And ttime< 1452 And position(0) = 0 And crossdn(Var44, Var45) _ And Var10(0)-var10(1)<0 And Var59<var62 And Var1(0)-var1(1)<0And Var5(0)-var5(1)<0And Var52<var53 And Var5<var6 And Var48(0)-var48(1)<0 And Var50<var51 And Var23(1)-var23(2)>0And Var20<var21 And Var24<var23 And Var4(0)-var4(1)<0 And Var7(0)-var7(1)<0And Var30(0)-var30(1)<0And Var27(0)-var27(1)>0 And Var23(0)-var23(1)>0Then Call sell("매도", Atstop, 1, close(1)) End If If 0904=<ttime And ttime< 1452 And position(0) = 0 And crossdn(Var50, Var51) _ And Var20<0 And Var32(0)-var32(1)>0And Var1(0)-var1(1)<0And Var54(0)-var54(1)<0And Var48(0)-var48(1)<0And Var23(0)-var23(1)>0And Var44(0)-var44(1)<0And Var30<0 And Var44<var45 And Var7<var8 And Var4(0)-var4(1)<0 And Var23<var27 And Var27(0)-var27(1)>0Then Call sell("매도", Atstop, 1, close(1)) End If If 0904=<ttime And ttime< 1452 And position(0) = 0 And crossdn(Var50, Var51) _ And Var23(0)-var23(1)>0 And Var7<var8 And Var39(0)-var39(1)<0And Var32(0)-var32(1)>0And Var52(0)-var52(1)<0And Var27<var32 And Var48(0)-var48(1)<0And Var7(0)-var7(1)<0 And Var25(0)-var25(1)<0 And Var4(0)-var4(1)<0 And Var44(0)-var44(1)<0 And Var30<0 And Var23>20And Var27(0)-var27(1)>0Then Call sell("매도", Atstop, 1, close(1)) End If If 0902=<ttime And ttime< 1502 And position(0) = -1And crossup(Var37, 0) _ And Var5(0)-var5(1)>0And Var45<var44 And Var32<var27 And Var20(0)-var20(1)>0And Var39(0)-var39(1)>0Then Call exitshort("매도청산", Atmarket) End If If 0902=<ttime And ttime< 1502 And position(0) = -1And crossup(Var2, 0) _ And Var27<var24 And Var6(0)-var6(1)>0And Var39<var38 And Var1(0)-var1(1)>0 And Var39(0)-var39(1)>0Then Call exitshort("매도청산", Atmarket) End If If 0902=<ttime And ttime< 1502 and position(0) = -1And crossup(Var44, var45) _ And Var30(0)-var30(1)>0And Var6(0)-var6(1)>0And Var43<var35 And Var39(0)-var39(1)>0And Var4<var3 And Var35(1)-var35(2)>0Then Call exitshort("매도청산", Atmarket) End If If ttime = 1504 Then Call exitlong("종가청산", Atmarket) Call exitshort("종가청산", Atmarket) End If 전에 대신증권에서 영어 용어도 잘 모르고 예를든걸 짜주어서 했던 것입니다. 이것은 분봉 하나로 설정할 수 있고 2분이면 2분, 5분이면 5분 하나만 할 수 밖에 없습니다. 제가 원하는건 주 메뉴는 3분이고 10분이나 60분을 같이 적용하여 10분이나 60분이 하락추세일때는 3분에서 매수가 안 나오는것을 원합니다. 예시를 짜주시기 바랍니다. 9시 2분 시작해서 오후 3시 4분에 정리했으면 합니다. 예시를 주면 복사해서 편집 적용할 수 있게 해 주셧으면 합니다.(선물챠트원합니다.)
프로필 이미지
민정
2012-11-12
797
글번호 56386
검색
답변완료

다시한번 질문드려요!

input : P(5); if NextBarOpen >= C*(1+P/100) Then buy("b",AtMarket); if NextBarOpen <= C*(1-P/100) Then sell("s",AtMarket); 시가기준으로 전일종가대비 5%상승하면 시가에 매수 전일종가대비 5%하락하면 시가에 매도 라고해서 실행해봤는데 전혀 엉뚱한 결과가 나와서 재질문드려요! 전일종가 계산후 5%이상상승하면 다음날 매수해야되는데 연습실행해보니 엉뚱하게 10%이상 상승후 매수하고, 10%하락후 매도 하네요! input : P(5) 이 5%인것 같아 비율조절도 해봤지만 안되네요! 이 전략은 시스템으로 구현하기 어렵나요? hts전략에서는 봉차트에서도 정확히 구현되길래 한번 질문해본건데 아직 시스템트레이딩에서는 불가능한것 같아 아쉽네요!
프로필 이미지
회원
2012-11-09
326
글번호 56384
시스템