커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식문위드립니다

plot1(dayopen+PriceScale*5); plot2(dayopen-PriceScale*5); 위에 plott1 위에 종가완성봉시에 매수신호 plot2 아래 종가완성봉시 매도신호 한번 신호가 발생하면 반대신호 나올때까지 신호는 안나오게 해주세요 해외선물입니다
프로필 이미지
이공주7
2017-01-19
159
글번호 106084
시스템
답변완료

문의드립니다

시스템이 다운되는 현상이 나타납니다. 그래서 생각한건데요~ 제가 만든 수식이 너무 복잡하거나, 단순화하지 못해서 발생되는거라면 간단히 만들고 싶습니다. 부탁드립니다. 좀더 부연설명을 드리면 맨위의 신호와 맨 아랫쪽 신호를 추가하고 시스템다운 현상이 발생 합니다. If ((sTime > 90000 and sTime < 90459)) and C > DayOpen and C > Var7 and Bids - Asks > 1000 and C>=O Then Buy("시수1", OnClose); If ((sTime > 90000 and sTime < 90459)) and C < DayOpen and C < Var7 and Asks - Bids > 1000 and C<=O Then Sell("시도1", OnClose ); If (Abs(var11-var19)<=0.8*PriceScale) and (Var11>Var19 or var11-var1>=6*PriceScale) and C>=Var1 and L<=Var1+2*PriceScale and Var11>Var1 and Var12>Var1 Then Buy("b0",OnClose); If (Abs(var11-var19)<=0.8*PriceScale) and (Var11<Var19 or var1-var11>=6*PriceScale) and C<=Var1 and H>=Var1-2*PriceScale and Var11<Var1 and Var12<Var1 Then Sell("s0",OnClose); If (Abs(var11-var19)>0.8*PriceScale and Abs(var11-var19)<=1.5*PriceScale) and (Var11>Var19 or var11-var1>=4*PriceScale) and C>=Var1 and L<=Var1+2*PriceScale and Var11>Var1 and Var12>Var1 Then Buy("b1",OnClose); If (Abs(var11-var19)>0.8*PriceScale and Abs(var11-var19)<=1.5*PriceScale) and (Var11<Var19 or var1-var11>=4*PriceScale) and C<=Var1 and H>=Var1-2*PriceScale and Var11<Var1 and Var12<Var1 Then Sell("s1",OnClose); If (Abs(var11-var19)>1.5*PriceScale and Abs(var11-var19)<=3.0*PriceScale) and C>=Var1 and Var11>Var19 and L<=Var1+3*PriceScale and Var11>Var1 and Var12>Var1 Then Buy("B2",OnClose); If (Abs(var11-var19)>1.5*PriceScale and Abs(var11-var19)<=3.0*PriceScale) and C<=Var1 and Var11<Var19 and H>=Var1-3*PriceScale and Var11<Var1 and Var12<Var1 Then Sell("S2",OnClose); If (Abs(var11-var19)>3.0*PriceScale and Abs(var11-var19)<=6.0*PriceScale) and C>=Var1 and L<=Var1+4*PriceScale and Var11>Var1 and Var12>Var1 Then Buy("B3",OnClose); If (Abs(var11-var19)>3.0*PriceScale and Abs(var11-var19)<=6.0*PriceScale) and C<=Var1 and H>=Var1-4*PriceScale and Var11<Var1 and Var12<Var1 Then Sell("S3",OnClose); If (Abs(var11-var19)>6.0*PriceScale) and C>=Var1 and L<=Var1+3*PriceScale and Var11>Var1 and Var12>Var1 Then Buy("B4",OnClose); If (Abs(var11-var19)>6.0*PriceScale) and C<=Var1 and H>=Var1-3*PriceScale and Var11<Var1 and Var12<Var1 Then Sell("S4",OnClose); If O<C and (CrossUp(H,Var3[2]) or (C>Var3[2] and Var3[3]>=Var3[2])) and C>=(Var3[2]+PriceScale) and (var11-var19)>0.8*PriceScale and abs(Var2)>=0.25 Then Buy("BT",OnClose); If O>C and (CrossDown(L,Var4[2]) or (C<Var4[2] and Var4[3]<=Var4[2])) and C<=(Var4[2]-PriceScale) and (var19-var11)>0.8*PriceScale and abs(Var2)>=0.25 Then Sell("BD",OnClose); if H[7]>Var45[8] and C[4]>Var45[5] and Var45[2]<Var45[1] and (Var1-C)>=5*PriceScale and CrossUp(C,Var5[1]) Then buy("TB"); if L[7]<Var45[8] and C[4]<Var45[5] and Var45[2]>Var45[1] and (C-Var1)>=5*PriceScale and CrossDown(C,Var6[1]) Then Sell("TS");
프로필 이미지
ceri21
2017-01-19
138
글번호 106077
시스템
답변완료

수식문위드립니다

해외 선물입니다 시가를 기준으로 위아래+-5틱으로 선을 만들어주세요
프로필 이미지
이공주7
2017-01-19
159
글번호 106076
지표
답변완료

global 변수타입 건의

한 챠트에 모든 정보를 집어넣어 결론을 내기는 어렵읍니다. 따라서 여러 챠트에서 낸 결과를 다른 챠트에서 읽을 수 있도록 하는 방법이 필요합니다. 챠트마다 주기가 다를 것이니 당연히 series가 simple 변수중 IntraBarPersist와 같은 형태가 될 수 밖에 없을 것입니다. global이라함은 모든 챠트에서 읽고 쓸 수 있다는 의미에서 global입니다. 즉 YesTrader Process 당 global 이라는 것입니다. 지표나 시스템마다 제각기 global을 생성한다면, 그 혼란을 감당하기 어려울 것입니다. 그러니, global 변수를 정의하여 생성하는 화면을 따로 만들어서 여기서만 생성하도록 하고, 지표나 시스템에서는 여기에 선언된 것을 reference하여 읽고 쓸수 있도록 하고, 여기에 선언된 것이 없는 것을 reference하는 것은 에러로 처리하여 그것을 사용자가 알수 있도록 해주면 될 것입니다. 마치 data3를 챠트에 넣지 않고 data3(close)를 쓰는 것을 처리하듯이 하면 될 것입니다. 다음 버전에 한번 고려해 주십시요.
프로필 이미지
su
2017-01-19
207
글번호 106075
시스템

천용인 님에 의해서 삭제되었습니다.

프로필 이미지
천용인
2017-01-19
14
글번호 106074
시스템
답변완료

수식 문의드립니다.

안녕하세요.초보자라 귀찮게 해드려 죄송합니다. 상황에 맞게 수정하려는데 잘안되네요 ㅠㅠ 당일 1회만 30분봉에서 60선 하향돌파시 매도진입되는 수식부탁드립니다. 매도청산은 수동으로 진행할 예정입니다. 차트상 1영업일당 한번씩 매도신호만 떠야하는데 잘 안되더라구요. 감사합니다.
프로필 이미지
mdldh75
2017-01-19
133
글번호 106072
시스템
답변완료

IntraBarPersist 변수타입 건의

한 봉이 시작하여 완성되기까지는 여러번의 데이타가 도착하며, 이것을 처리하는 지표도 여러번 계산됩니다. 다시 계산할때는 현재의 모든 변수는 봉이 시작했을 때의 값으로 리셋되어, 여러번의 계산사이에 변화하는 값을 저장하여 다음계산에 사용할 수 있는 변수타입이 현재는 없읍니다. 이것은 다음과 같은 불편함을 해결할수 없으니, 한 봉내에서 계산과 계산 사이에 값을 보존할 수 있는 변수타입을 새로운 기능으로 추가하는 것을 고려해주십시요. 예를 들어 10분봉의 지표상 어느 상태가 되면 PlaySound() 를 할 경우, 한번만 또는 처음몇번만 소리가 나면 좋겠는데, 현재로는 10분내내 데이타가 새로 들어올때마다 소리를 들어야만 됩니다. 10분봉 하나를 완성하는데 예를 들어 20번의 데이타가 들어올 경우, 처음 1번 또는 처음 3번까지만 소리가 나게하는 방법이 현재도 혹시 있다면, 어떻게 코딩을 할 수 있는지 알려주시면 감사하겠읍니다. 아래와 같은 코드로, 10분봉 챠트의 한 봉내에서 PlaySound()의 실행횟수를 제한 할 수 있도록 하면 좋겠다는 것입니다. 현재는 IntraBarPersist와 같은 변수타입은 없는 것으로 알고 있읍니다. IntraBarPersist: count_playsound(0), trace_index(-1); if (trace_index != index) then count_playsound = 0; if (count_playsound < 3) then { PlaySound("C:예스트레이더dataSoundalert.wav"); count_playsound = count_playsound + 1; } trace_index = index;
프로필 이미지
su
2017-01-19
154
글번호 106071
지표
답변완료

지표식 문의 드리겠습니다.

틱봉 사용시에 몇틱이든 상관없이 전일의 틱봉의 갯수를 계산하는 식을 알고 싶습니다. 부탁드립니다. 항상 친절한 도움 감사히 생각하고 있습니다. 추운데 감기 조심하시고 건강하세요.
프로필 이미지
자오지환웅
2017-01-19
146
글번호 106070
지표
답변완료

Covariance 그리고 variance

안녕하세요~ 함수중에 Covariance, Variance를 구하는 함수가 있나요? 없으면 구하는 식 부탁드립니다. 감사합니다.
프로필 이미지
Ttrader
2017-01-18
133
글번호 106067
지표