커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

지표문의

안녕하세요! 지정된 시간(분.시간)간격 소리알람 설정 지표 부탁합니다. 예시> 매 10분간격마다 알람 이렇게 시간설정 가능케 10분간격. 30분간격. 1시간간격등 임의로 설정 할수있도록 하고 싶습니다. 감사합니다!
프로필 이미지
gopang
2014-10-03
196
글번호 79064
지표
답변완료

같은방향 재진입시스템

항상 감사드립니다 아래시스템식을 수정하고싶습니다. 아래조건식에서 발생하는 신호를 기본으로하고 다음조건을 추가하고싶습니다 1-1.data1(c)>Hma13 조건이면 매수/매수청산만 1-2.data1(c)<Lma13 조건이면 매도/매도청산만 매수조건이 나와서 아래 익절신호인"eB5"가 발생한뒤 다시 매수신호발생시 매수진입 매도조건이 나와서 아래 익절신호인"eS5"가 발생한뒤 다시 매도신호발생시 매도진입 매수조건이 나와서 아래 손절신호인"bx"가 발생한뒤 다시 매수신호발생시 매수진입 매도조건이 나와서 아래 손절신호인"sx"가 발생한뒤 다시 매도신호발생시 매도진입 input : 시작시간(070000),끝시간(030000); var : Start(false),entrycnt(0),Bcond(false),Scond(false),idx(0); if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{ Start = True; entrycnt = entrycnt+1; Idx = 0; } input Idx = idx+1; if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간) Then Start = false; Bcond = V10 == 1 and data1(c)>선행1[25] and var13==1 and macdv1>macds1 and upAroon1 > DnAroon1 and data2(c)>Hma22 ; Scond = V10 == -1 and data1(c)<선행1[25] and var13==-1 and macdv1<macds1 and upAroon1< DnAroon1 And data2(c)<Lma22; if Idx >= 1 and Start == true and Bcond == true and (MarketPosition == -1 or (MarketPosition == 0 )) Then buy("B1"); if Idx >= 1 and Start == true and Scond == true and (MarketPosition == 1 or (MarketPosition == 0 )) Then sell("S1"); ##매수익절_50틱## if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*50 and data1( CrossDown(c,Lma11)) and data1(c)<var2 Then exitlong("eB5"); ##매도익절_50틱## if MarketPosition == -1 and Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*50 and data1( Crossup(c,Hma11))and data1(c)>var2 Then ExitShort("eS5"); #손절1_# if MarketPosition == 1 Then{ if (highest(H,BarsSinceEntry) <= EntryPrice+PriceScale*15) and data1(c)<Lma11 and data1(c)<var2 and data1(c)>선행1[25] Then ExitLong("bx"); } if MarketPosition == -1 Then{ if ( Lowest(L,BarsSinceEntry) >= EntryPrice-PriceScale*15) and data1(c)>Hma11 and data1(c)>var2 and data1(c)>선행1[25] Then ExitShort("sx"); } 2,아래조건식을 타주기 챠트에 적용하고 싶습니다(주챠트 data1,타주기 data2) 변환부탁드립니다 ##### 보조_1호 ##### Input: DIP(28); var : DP1(0),DM1(0),ZZ(0); DP1 = ema(iff(H-H[1]>0 && H-H[1]>L[1]-L,H-H[1],0),DIP)/ ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100; DM1 = ema(iff(L[1]-L>0 && H-H[1]<L[1]-L,L[1]-L,0),DIP)/ ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100; ZZ=ema(accum(ema(ema(DP1-DM1, 2), 2)),20); if ZZ > ZZ[1] Then var6 = 1; Else var6 = 0; if var6 == 1 and var6[2] == 1 Then var11 = 1 ; if var6 == 0 and var6[2] == 0 Then var11 = -1; ##### 보조_2호 ##### input : short1(12),long1(26),signal1(9),af(0.8),maxaf(0.2); var : XX(0),YY(0); var7 = MACD(short1,long1); var8 = ema(var7,Signal1); var9 = sar(af,maxaf); if var7 > var8 Then{ if C > var9 Then XX = 6; Else XX = 2; } Else{ if var9 > C Then XX = -6; Else XX = -2; } if var7 > 0 Then YY = 10; Else YY = -10; if (XX+YY)>0 Then var12 = 1; if (XX+YY)<0 Then var12 = -1; 감사합니다
프로필 이미지
조민철
2014-10-05
230
글번호 79063
시스템
답변완료

지표 문제해결 부탁합니다.

파라볼릭지표에 지지저항선을 표시하고자 아래와 같이 지표를 만들어 잘사용했습니다. <파라볼릭지지저항> input : af(0.02),maxaf(0.2); var1 = Sar(af,maxaf); if crossup(c,var1) Then value1 = var1; if CrossDown(c,var1) Then value1 = var1; if C > var1 Then plot1(value1,"sar",RED); if C < var1 Then plot1(value1,"sar",blue); 그런데 sar함수를 수정하여서 아래와 같이 sar1이라는 함수를 만들어서 파라볼릭지표를 작성하고 지지저항지표에서 sar함수를 sar1로 수정하여보니 지지저항선이 제대로 그려지지가 않습니다. 무엇이 문제인지를 잘 모르겠습니다. 올바르게 작동하는 지표부탁드립니다. 제대로 그려진 챠트의 모습의 파일을 첨부했습니다. 수정한 sar1 함수 내용은 아래와 같습니다.(단순히 "고가" 나 "저가" 자리를 바꾼것입니다) Input : AF(NumericSimple), AFMAX(NumericSimple); Var : Direction(0), SAR_Value(Close), AF_Value(.02), HighValue(High), LowValue(Low), EP(0); if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if low > HighValue then { HighValue = low; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if high < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = high; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if high < LowValue then { LowValue = high; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if low > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = low; } } Sar1 = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if low > HighValue then { HighValue = low; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } else { EP = LowValue; AF_Value = Af; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if high < LowValue then { LowValue = high; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } Sar1 = SAR_Value; } else { if Direction == 0 then { if Close > Close[1] then Direction = 1; else if Close < Close[1] then Direction = -1; } else { if Direction == 1 then { if Close < Close[1] then { Direction = -1; SAR_Value = HighValue; Sar1 = SAR_Value; } } if Direction == -1 then { if Close > Close[1] then { Direction = 1; SAR_Value = LowValue; Sar1 = SAR_Value; } } } LowValue = min(high, LowValue); HighValue = max(low, HighValue); } }
프로필 이미지
바쁜후니
2014-10-03
273
글번호 79062
지표
답변완료

부탁 드립니다

안녕 하세요 2분 차트 에서 종가가 상기선들과 근접 정도를 알고자 합니다 2분봉 60선 10분봉 전봉 5선 10선 20선 60선 종가 20분봉 전봉 5선 10선 20선 60선 종가 일봉 전일 5일선 10일선 20일선 60일선 종가 전일종가 당일시가 총 15개의 선과 현재가의 근접정도 현재가가 15개선들중 일부 골드 상태면 그위에 있는 가장 가까운 저항선과의 근접 정도가 0.50 이내면 회색 가장 가까운 저항선이 없거나 근접 정도가 0.50 이상이면 빨강 현재가가 15개선들중 일부 데드 상태면 그아래에 있는 가장 가까운 지지선과의 근접 정도가 0.50 이하이면 회색 가장 가까운 지지선이 없거나 근접정도가 0.50 이상이면 파랑 회색과 빨강(파랑)이 회색은 더 가늘고 빨강(파랑)은 더 굵게 처리될수 있나요 간단히 말해서 저항선과의 근접 정도 한선 지지선과의 근접 정도 한선 두선으로 된 지표 부탁 드립니다 다르게 해주셔도 됩니다. 항상 감사드립니다
프로필 이미지
starj5
2014-10-03
213
글번호 79061
지표
답변완료

재문의 드립니다

안녕하세요? 답변중 이해가 안되어 재문의 드립니다 *문의사항: 다시한번 구현하고 싶은 식은 10일선을 크로스다운된후 특정한값을 내려간적이 있고 다시 특정구간을 상승면 매수하는 식인데 10일선을 크로스업되면 이조건이 전부 초기화되는 식입니다 초기화 하지 않으면 계속영향을 받아 컴도 늦어지고 뭔가 뒤죽박죽되어 사용불가한것 같읍니다 문의1) 답변내용중 if crossdown(c, ma10) then Condition1 = false; 이것은 crossdown 이 아니고 crossup 이 아닙니까? (크로스다운이 맨 처음일어나고 그다음 c<95 이고 최종이 크로업이 되는데 크로스업이 되면 모든것이 초기화 된다는 의미입니다) 문의2)if mp==0 and Condition1 == true and crossup(c,100) then buy(); →Condition1이 c<95 인데 crossup(c,100)이면 Condition1이 false 가 되어 식이 성립되는게 맞는지요? 문의3) 문의내용중 if index>var1 and index<var2 and countif( c<95, var1)>=1 and mp==0 and crossup(c,100) then buy(); → var1 이 시작된 이후 c<95 적은것이 1개이상 있을시 "countif( c<95, var1)>=1" 이렇게 적는것이 맞는 것인 지 아니면 var1 대신에 다른것을 적어야하는지 내용을 알려 주십시요 ----------------------------------------------------------- 안녕하세요 예스스탁입니다. var : ma10(0),mp(0); ma10 = ma(C,10); mp = MarketPosition; if crossdown(c, ma10) then Condition1 = false; if C < ma10 Then{ if C < 95 Then Condition1 = true; if mp==0 and Condition1 == true and crossup(c,100) then buy(); } 즐거운 하루되세요 > 높이 님이 쓴 글입니다. > 제목 : 식문의 그립니다 > 안녕하세요? ma10 은 십일선 if crossdown(c, ma10) then var1=index; if [index> var1 and ] crossup(c, ma10) then var2=index; if index>var1 and index<var2 and countif( c<95, var1)>=1 and mp==0 and crossup(c,100) then buy(); (십일선 다운 부터 십일선 업이전까지 c가 95까지 내려간적이 있고 100을 돌파시 매수) 문의 : 위와 같이 작성하니 매수가 발생되지 않는데 무엇이 잘못된는지요? 1)index<var2 를 없애봐도 마찬가지임 또는 index>var1 and index<var1 +200 대체해도 마찬가지임 2) countif( c<95, var1)>=1 여기서 특정한숫자를 대신한 var1 은 가능한가요? 3) [index> var1 and ] 을 적어넣으면 안되는건지요? * 다시한번 구현하고 싶은 식은 10일선을 크로스다운된후 특정한값을 내려간적이 있고 다시 특정구간을 상승면 매수하는 식인데 10일선을 크로스업되면 이조건이 전부 초기화되는 식입니다 초기화 하지 않으면 계속영향을 받아 컴도 늦어지고 뭔가 뒤죽박죽되어 사용불가한것 같읍니다
프로필 이미지
높이
2014-10-02
219
글번호 79060
시스템

문의

.
프로필 이미지
hjkang철인
2014-10-02
160
글번호 79059
시스템
답변완료

첫봉

안녕하세요? 생각처럼 쉽게 안되네요 20,60,120,240 이평선이 있을때 전일 종가는 각 이평선들중에 하나만이라도 이평선 아래에 있고 당일 시가는 각 이평선보다 높은 상태에서 첫봉이 만들어지면 첫봉을 저장하고 2번재 이후 20캔들안에 첫봉의 시가 고가 저가 종가중 종가를 돌파하면 매수 조건식 (분봉 사용) 2). value5<=value6*1.05 and crossup(c,var3) then ii=H; ii로 고가저장하고 저장한 캔들로부터 10봉이내 if countif(crossup(c,var3),10)>=1 then{ if c<ii*0.95 and var8>var9 then buy("1"); 위 식에서 무엇이 잘못됐는지 저장한 캔들로 부터 10봉 까지만 조건이 만족할때 매수가 되어야 하는데 그 후로도 몇번 나옵니다. 왜그런가요? 제가 원하는 것은 ii에 어떤 조건을 저장하고 그 저장한 캔들을 기준으로 10봉 이내 저장한 가격보다 5% 하락시 매수하는 것입니다. 잘못된 부분이 있으면 수정 부탁드립니다. 수십번을 해봐도 결과가 잘 안맞아 문의 드립니다. 감사합니다.
프로필 이미지
회원
2014-10-05
200
글번호 79058
시스템

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2014-10-03
17
글번호 79057
지표
답변완료

안녕하세요***

안녕하세요 MFI 지표에 3가지추가 부탁합니다 (고가+저가+종가)1/3.적용 1.MFI 에서 시그널선 넣기 2.MFI 에기준선50추가 3.1번2번 완성 된후 볼린져벤드 추가입니다 감사합니다.
프로필 이미지
회원
2016-12-24
197
글번호 79056
지표