커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

현재가.종가

안녕하세요 전일 종가선을 p1저장 현재 종가가 종가선 상승돌파 매수 현재 종가가 종가선 하락돌파 매도 감사^^
프로필 이미지
회원
2018-06-25
195
글번호 120005
시스템
답변완료

수식 요청 드립니다.

안녕하세요. 연결선물 당일청산 시스템에서 장시작부터 완성봉의 종가 기준으로 1. 첫완성봉의 종가가 시가 위이면 매수진입, 다음 완성봉 종가부터, 매수 진입가를 기준으로 종가 하락봉 발생시 매도스위칭, 다시 종가 상승봉 발생시 매수 스위칭를 당일청산 까지 계속 스위칭 진입 2. 첫완성봉의 종가가 시가 아래이면 매도진입, 다음 완성봉 종가부터, 매도 진입가를 기준으로 종가 상승봉 발생시 매수스위칭, 다시 종가 하락봉 발생시 매도 스위칭를 당일청산 까지 계속 스위칭 진입 3. 2차 스위칭 진입부터는 마지막 진입가를 기준으로 매도 매수 계속 스위칭 진입 4. 당일 목표수익 1.2PT 달성시 당일청산하고, 미달성시 당일청산시간 15시15분 매매종료 수식 요청 드립니다. 감사합니다.
프로필 이미지
dandy
2018-06-25
179
글번호 120001
시스템
답변완료

문의드립니다~

input : 분주기(30),P(5),분주기1(15),분주기2(4); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),sum(0),mav(0),tf1(0),TFF(0),entry(false),tf2(0); Array : CC[100](0),OO[100](0),HH[100](0),LL[100](0),TT[100](0),ii[100](0),O2[100](0); Array : C1[100](0),T1[100](0); if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) Then{ S1 = TimeToMinutes(100000); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TFF = TM%60; TF = TM%분주기; if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or (TF < TF[1]) Then{ OO[0] = o; HH[0] = H; LL[0] = L; TT[0] = stime; ii[0] = 0; for cnt = 1 to 99{ OO[cnt] = OO[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; TT[cnt] = TT[cnt-1][1]; ii[cnt] = ii[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; ii[0] = ii[0]+1; TF1 = TM%분주기1; if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or (TF1 < TF1[1]) Then{ T1[0] = stime; for cnt = 1 to 99{ C1[cnt] = C1[cnt-1][1]; T1[cnt] = T1[cnt-1][1]; } } C1[0] = C; TF2 = TM%분주기2; if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or (TF2 < TF2[1]) Then{ O2[0] = o; for cnt = 1 to 99{ O2[cnt] = O2[cnt-1][1]; } } } var2 = (c+oo[0]+oo[1]+oo[2]+oo[3])/5 ; var1 = oo[4]; if c > var1 and c>var2 Then{ plot1(99999999,"라인1"); plot2(0,"라인2"); } if c < var1 and c<var2 then{ plot1(0,"라인1"); plot2(99999999,"라인2"); } /////////////////////// 틱에 적용하는 강세약세 수식인데요~ 위 조건에서 종가가 var2보다 크고 var1보다 클때 빨간색 종가가 var2보다 작고 var1보다 작을때 파란색 그리고 나머지 구간에는 노락색으로 하고 싶습니다. 위 조건만 해놓으면 전체가 빨간색 파란색으로 표현이 되더라구요. 복잡해서 도움요청드립니다.`
프로필 이미지
겐지
2018-06-25
203
글번호 119997
지표
답변완료

수식문의

30분차트에서 5일지수이동평균 20일지수이동평균을 1분봉에 구현하고 싶습니다 감사합니다
프로필 이미지
이립
2018-06-25
197
글번호 119993
지표
답변완료

문의 합니다

늘 수고하십니다 늘 감사드리고요 또 문의드립니다 1. 진입가격은 Entryprice 입니다 청산가격은 무엇인지 알고 싶습니다 2. 청산가격에서 4호가(0.2)에서 매도나 매수를 하려면 어떻게 해야 하나요 함수를 부탁드립니다 3. 슬리피지는 무엇을 나타내는 것인지 설명 좀 부탁드릴께요 감사합니다
프로필 이미지
돌아온스머프
2018-06-25
187
글번호 119992
지표
답변완료

수식 작성 부탁드립니다.

1. 당일 평균선 수식 요청 키움 차트에서는 아래와 같이 수식 적용해서 사용중인데 예스스탁에서는 에러가 뜨네요 --> (dayhigh()+daylow())/2 1)위 수식 당일 평균선 접촉시 화살표 표시 및 가격 표시 캔들 하락하여 접촉(지지)시 상향 화살표, 캔들 상승하여 접촉(저항)시 하향 화살표 표시 2) 위 수식 당일 평균선 기준으로 아래는 파란색 / 위에는 노란색 적용 2. 차트에 하기 항목 표시되게 수식 요청 1) 전일 : 고가, 저가, 종가 2) 당일 : 시가, 저가, 고가
프로필 이미지
hongka21
2018-06-24
220
글번호 119991
지표
답변완료

지표문의

돈키언 채널 보조지표를 분봉에서 보고싶습니다. 일반적으로 식을 적용하게 되면 분봉상의 고점저점을 선택하는데요 분봉에서 일봉상의 55일 최고점 20일 최저점의 라인을 보고싶습니다. --- 시스템 수식이 필요합니다. 55일 최고점돌파 매수 20일최저점 청산 55일 최저점돌파 매도 20최고정 돌파 청산 --- 지표2 전날atr값을보고싶습니닺
프로필 이미지
렉쳐
2018-06-25
207
글번호 119990
지표
답변완료

상한가질문입니다

질문1. 상한가 수식 관련된 것에보면 bp라는 거이 보이는데 이게 정확히 먼지궁금합니다. 질문2. 답변에 보면 대부분 상한가 관련되어서는 아래의 수식을 답변을 주시는데요 if date >= 19981207 then { if date < 20050328 && CodeCategory() == 2 then UpLimit = (BP[0] * 1.12); Else if date >= 20050328 and date < 20150615 Then UpLimit = (BP[0] * 1.15); Else UpLimit = (BP[0] * 1.30); if CodeCategory() == 2 then { if date >= 20030721 then { up1 = int(UpLimit/100+0.00001)*100; up2 = int(UpLimit/100+0.00001)*100; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; up7 = int(UpLimit/1+0.00001)*1; } else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/10+0.00001)*10; up7 = int(UpLimit/1+0.00001)*1; } } Else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; up7 = int(UpLimit/1+0.00001)*1; } if CodeCategory() == 1 || CodeCategory() == 2 then { if sdate < 20101004 Then{ If BP >= 500000 Then 상한가 = up1; Else If BP >= 100000 Then 상한가 = iff(up2>=500000, up1, up2); Else If BP >= 50000 Then 상한가 = iff(up3>=100000, up2, up3); Else If BP >= 10000 Then 상한가 = iff(up4>=50000, up3, up4); Else If BP >= 5000 Then 상한가 = iff(up5>=10000, up4, up5); Else If BP >= 1000 Then 상한가 = iff(up5>=5000, up5, up6); Else 상한가 = iff(up6>=1000, up6, up6); } Else{ If BP >= 500000 Then 상한가 = up1; Else If BP >= 100000 Then 상한가 = iff(up2>=500000, up1, up2); Else If BP >= 50000 Then 상한가 = iff(up3>=100000, up2, up3); Else If BP >= 10000 Then 상한가 = iff(up4>=50000, up3, up4); Else If BP >= 5000 Then 상한가 = iff(up5>=10000, up4, up5); Else If BP >= 1000 Then 상한가 = iff(up5>=5000, up5, up6); Else 상한가 = iff(up6>=1000, up6, up7); } } else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF 상한가 = up6; } } if c[N] >= 상한가[N] Then find(1); 수식에서 궁금한게 이해를 하자면 n봉전에 상한가를 갔는지 확인하는 수식인것은 알겠는데요 bp[0]라는 말은 현재 봉을 기준으로 bp라는 값을 얻어오는데 N값은 현재봉이아니라 그이전의 봉의 상한가를 찾는것인데 bp를 그때 기준으로 옮기지 않고도 상한가가 찾아지는게 신기합니다 제가 잘못이해한것인지 아님 bp에도 bp[n] 이런식으로 고쳐야하는지궁금합니다. bp가 무엇이길래 bp는 현재봉기준으로 값을 얻어도 예전 상한가를 도달한지 알수잇는지궁금합니다
프로필 이미지
여유로운투자
2018-06-23
212
글번호 119989
지표
답변완료

문의드립니다.

도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 코딩 변환부탁드립니다. Function: EhlersDSMA using elsystem ; inputs: Period( numericsimple ) ; variables: a1( 0 ), b1( 0 ), c1( 0 ), c2( 0 ), c3( 0 ), Zeros( 0 ), Filt( 0 ), ScaledFilt( 0 ), RMS( 0 ), count( 0 ), alpha1( 0 ), DSMA( 0 ) ; once begin if Period <= 0 then throw Exception.Create( "The 'Period' input to the " + "EhlersDSMA function must be greater than 0." ) ; //Smooth with a Super Smoother a1 = ExpValue( -1.414 * 3.14159 / ( .5 * Period ) ) ; b1 = 2 * a1 * Cosine( 1.414 * 180 / ( .5 * Period ) ) ; c2 = b1 ; c3 = -a1 * a1 ; c1 = 1 - c2 - c3 ; end ; //Produce Nominal zero mean with zeros in the transfer //response at DC and Nyquist with no spectral distortion //Nominally whitens the spectrum because of 6 dB //per octave rolloff Zeros = Close - Close[2] ; //SuperSmoother Filter Filt = c1 * ( Zeros + Zeros[1] ) / 2 + c2 * Filt[1] + c3 * Filt[2] ; //Compute Standard Deviation RMS = 0; For count = 0 to Period - 1 begin RMS = RMS + Filt[count] * Filt[count] ; end ; RMS = SquareRoot( RMS / Period ) ; //Rescale Filt in terms of Standard Deviations If RMS <> 0 then ScaledFilt = Filt / RMS ; alpha1 = AbsValue( ScaledFilt ) * 5 / Period ; DSMA = alpha1 * Close + ( 1 - alpha1 ) * DSMA[1] ; EhlersDSMA = DSMA ; 2. 코딩 변환부탁드립니다. Indicator: DSMA // TASC JUL 2018 // Ehlers DSMA inputs: Period( 40 ) ; variables: DSMAValue( 0 ) ; DSMAValue = EhlersDSMA( Period ) ; Plot1( DSMAValue, "DSMA" ) ; if AlertEnabled then begin if Close crosses over DSMAValue then Alert( "Price crossing over DSMA" ) else if Close crosses under DSMAValue then Alert( "Price crossing under DSMA" ) ; end ; 3. 코딩변환 + 해선용으로 n분부터 n분까지만 매매 코드 추가 부탁드립니다. inputs: FastPeriod( 40 ), SlowPeriod( 100 ) ; variables: FastDSMAValue( 0 ), SlowDSMAValue( 0 ) ; FastDSMAValue = EhlersDSMA( FastPeriod ) ; SlowDSMAValue = EhlersDSMA( SlowPeriod ) ; if FastDSMAValue crosses above SlowDSMAValue then Buy next bar at Market else if FastDSMAValue crosses below SlowDSMAValue then SellShort next bar at Market ; 4. 기타 -09:30~10:00 봉 가운데 -봉 길이가 -전일 봉 길이 평균의 2배이상인 봉이 나타났을 때 고저셋업 a-양봉이면 고가 + n틱에 매수진입 b-음봉이면 저가 - n틱에 매도 진입 a시 셋업 고가를 하향돌파할 때 매수 손절 청산 b시 셋업 저가를 상향돌파할 때 매도 손절 청산 5. 기타 4번 해선용으로
프로필 이미지
잡다백수
2018-06-23
263
글번호 119988
시스템