커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의 드립니다.

20이평선 기울기가 상향이면서 20이평 위로 돌파 하면 매수 이탈 시 매도 청산 반대로 20이평선 기울기가 하향이면서 20이평 아래로 돌파 하면 매도 위로 돌파 시 매수 청산 부탁드립니다. 20이평선 기울기와 같은 방향매매를 원합니다.
프로필 이미지
선물대장
2019-03-14
239
글번호 127052
시스템
답변완료

일중 전고점이 나온 시간을 파악하는 수식 문의드립니다.

수고하십니다. 예를 들어 12:00현재 11:00가 일중 고점이면 11:00시라는 변수를 저장하고 12:30현재 일중 고점이 12:20이면 12:00시라는 변수를 저장하고 싶습니다. 현재 시간 12:00 12:10 12:20 12:30 전고점 시간 11:00 11:00 12:20 12:20 이런식으로 일중 고점시간을 배열에 저장하고싶습니다. 또한 일중 저점시간과 현재시간사이의 고가와 나오는 시간도 변수에 저장하고 싶습니다.
프로필 이미지
제0원소
2019-03-14
255
글번호 127050
지표

요타 님에 의해서 삭제되었습니다.

프로필 이미지
요타
2019-03-14
0
글번호 127049
시스템
답변완료

문의드립니다.

도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 최근 n거래(외부변수)의 draw down 수식 만들 수 있나요?(5이면 -1,1,-1,-1,-1 , draw down은 3) 혹시 가능하다면 시스템 수식에서 쓸 수 있도록 5,20이평 돌파 수식 예제로 부탁드립니다.
프로필 이미지
잡다백수
2019-03-14
246
글번호 127048
시스템
답변완료

시스템

안녕하세요 주말 감사인사 올려요 상관성 시스템 문의 드려요 가령 data2 와 data3의 상관성을 100% 로 잡을때 상관성이 (100 - n)% 아래로 벌어지면 data1 매수 질문 2 n봉 이내의 고점 돌파시 매수 라고할때 의 함수식 이전고점 돌파시 매수 라고할때의 함수식 부탁드립니다 감사합니다
프로필 이미지
달마7
2019-03-14
242
글번호 127047
시스템
답변완료

보완수정 부탁드립니다.

안녕하세요? 아래의 수식에서 진입횟수가 똑바로 작동이 안됩니다. 하루 3번하라고 변수에 넣으면 하루3회 매매를 해야하는데, 3번진입하라고하면 2번만 진입하는 형태로 돌아갑니다. 수정부탁드리겠습니다. 감사합니다. input : n1(1),n2(2), 익절틱수(10),손절틱수(10),당일진입횟수(3); var : T1(0),entry(0); if bdate != bdate[1] Then T1 = TotalTrades[1]; if MarketPosition == 0 Then entry = TotalTrades-t1; Else entry = TotalTrades-t1+1; if MarketPosition == 0 then { if (C > O and C == C[n1] and C[n1] < O[n1]) or (C > O and C == C[n2] and C[n2] < O[n2]) Then { if entry < 당일진입횟수 Then buy(); Else ExitShort(); } if (C < O and C == C[n1] and C[n1] > O[n1]) or (C < O and C == C[n2] and C[n2] > O[n2]) Then { if entry < 당일진입횟수 Then sell(); Else ExitLong(); } } SetStopProfittarget(익절틱수*PriceScale,PointStop); SetStopLoss(손절틱수*PriceScale,PointStop);
프로필 이미지
대구어린울프
2019-03-13
244
글번호 127046
시스템
답변완료

문의 드립니다.

MDD 가 -300 이하일때 매수 MDD 가 -100 이상일때 매도 이것을 수식으로 구현하고 싶은데 MaxIDDrawDown 함수를 사용하더라도 계속 제일 마이너스가 큰 값만 사용을 하더라고요... 즉 한번 MDD 가 -300 이하를 기록하면 계속 매수만 한다는 것이죠. 그 이후에 MDD 가 -100 이상으로 회복을 하더라도 -300 이하만 참조한다는 겁니다. 무슨 좋은 방법이 없을까요? 저게 만약 불가능하다면 다른 방법으로 NetProfit 이라는 함수를 사용해서, 손익이 제일 높았던 시점에서 -300 이하로 마이너스가 된 경우 매수. 그 이후 시점부터 손익이 다시 +300 이상으로 회복한 경우 매도. 다시 그 이후의 매매결과값만을 가져와서 손익이 제일 높았던 시점에서 -300 이하로 마이너스가 된 경우 매수. 그 이후 시점부터 손익이 다시 +300 이상으로 회복한 경우 매도. 이것을 수식으로 구현이 가능할까요?
프로필 이미지
무결점
2019-03-13
270
글번호 127044
시스템
답변완료

수식부탁드립니다

#,61673 답변수식에서 시스템식 도움부탁드립니다 ###,보내주신 수식을 적용해보니 다이버젼스발생과 무관한 자리에서도 신호가 뜨거나 발생 할자리에서 신호가 없습니다,고점저점 기준을 골드나 데드로 하듯이 추세선이 완성되고 난 이후 두번째양봉 또는 지표의 MACD가 첫 골드크로스시 매수, 추세선이 완성되고 난 이후 두번째 음봉 또는 지표의 MACD가 첫 데드크로스시 매도신호로 부탁드립니다, #,고맙습니다.
프로필 이미지
회원
2019-03-14
254
글번호 127043
시스템
답변완료

시스템 점검 바랍니다

렌꼬 시스템인데요 시간제한과 목표이익및 기타 이익표시가 전혀 반영이 안되고 있습니다 잘못된곳 수정 부탁 드립니다 감사 합니다. input : vSSTIME(090000), vEETIME(150000); Vars : TCOND(False); If vSSTIME < vEETIME Then Begin IF vSSTIME <= TIME And TIME < vEETIME Then TCOND = True; Else TCOND = False; End Else Begin IF vSSTIME <= TIME Or TIME < vEETIME Then TCOND = True; Else TCOND = False; End; input:단위호가(18); var:j(0),벽돌크기(0),벽돌개수(0),방향(0),상승(100),하락(-100),저항선(0),지지선(0); array:고[20](0),저[20](0), 고Bar[20](0),저Bar[20](0); // Index 개념이 아닌 벽돌개수.지지,저항선 계산시 사용 If TCOND Then If Index == 0 || Date <= 2016 Then { 벽돌크기 = PriceScale * 단위호가; 고[1] = C; 고Bar[1] = 0; 저[1] = C; 저Bar[1] = 0; } If 방향 == 0 Then { If 저[1] - 벽돌크기 >= C Then { 벽돌개수 = Int((저[1] - C)/벽돌크기); 저[1] = 저[1] - (벽돌크기 * 벽돌개수); 저Bar[1] = 0; 방향 = 하락; } Else If 고[1] + 벽돌크기 <= C Then { 벽돌개수 = Int((C - 고[1])/벽돌크기); 고[1] = 고[1] + (벽돌크기 * 벽돌개수); 고Bar[1] = 0; 방향 = 상승; } } Else If 방향 == 하락 Then { If 저[1] - 벽돌크기 >= C Then { 벽돌개수 = Int((저[1] - C)/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } 저[1] = 저[1] - (벽돌크기 * 벽돌개수); 저Bar[1] = 0; } If 저[1] + 2*벽돌크기 <= C Then { 벽돌개수 = Int((C - 저[1])/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 저[1] + (벽돌크기 * 벽돌개수); 고Bar[1] = 0; 방향 = 상승; } } Else If 방향 == 상승 Then { If 고[1] + 벽돌크기 <= C Then { 벽돌개수 = Int((C - 고[1])/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } 고[1] = 고[1] + (벽돌크기 * 벽돌개수); 고Bar[1] = 0; } If 고[1] - 2*벽돌크기 >= C Then { 벽돌개수 = Int((고[1] - C)/벽돌크기); For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 벽돌개수; 저Bar[j] = 저Bar[j] + 벽돌개수; } For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 고[1] - (벽돌크기 * 벽돌개수); 저Bar[1] = 0; 방향 = 하락; } } If TCOND Then Begin if 방향 == 상승 then Buy("돌파"); if 방향 == 하락 and 저[0]<저항선 then ExitLong("청산"); if 방향 == 하락 then Sell("돌파"); if 방향 == 상승 and 고[0]>지지선 then ExitShort("청산"); //////////////////////////////////////////////////////////////////////////////////////// Inputs: MyProfitTargetPercent(0.3); //////////////////////////////////////////////////////////////////////////////////////// Inputs: MyPercentTrailingBefore(0.2), MyPercentTrailingAfter(10); End; SetStopEndofday(0);
프로필 이미지
vlfaud3
2019-03-13
257
글번호 127042
시스템