커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

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

프로필 이미지
erwe343
2014-12-04
0
글번호 81056
시스템

스커퓨 님에 의해서 삭제되었습니다.

프로필 이미지
스커퓨
2014-12-04
0
글번호 81052
시스템
답변완료

문의드립니다.

1분봉으로 30분, 진입횟수 제한을 두고싶습니다. 1시 에 한번 1시반에 한번 2시에 한번 이렇게 30분마다 똑같은조건을 1,0으로 읽는식이 있습니다. 1시에 조건이 안나와서 신호가나오지않았고 2시에 조건이 나와서 진입, 2시 반이 되기전에 청산이 되었다면 예를들어 2시 10분경 청산이 되었으면 2시 반까지 조건은 다시 나와도 진입하지 못하게 막고싶습니다.2시에는 한번만 진입이되는것입니다. 하루에 수익1번 손실1번 시 진입신호가 나오지 않게하는것을 하루 일봉대신 30분봉으로 1분차트에서 적용시키고싶습니다. 그리고 수수료 적용을 어떻게 해야하는지 다시 문의드립니다. 골드, 오일 수수료적용은 시스템설정에서 0.0016으로 설정하는게 맞는지요?
프로필 이미지
스커퓨
2014-12-04
163
글번호 81051
시스템
답변완료

수식문의 드립니다.

10분봉은 10분에 한개의 봉이 만들어지고 10틱차트는 10번째에 한개의 봉이 만들어지는것으로 알고있는데..맞는지..? 10분봉은 시간상 5분이니 5분후에 봉이만들어짐을 알수있는데 틱봉은 현재 몇번째인지 수치상으로 나타낼수 있는 방법은 없나요.? 엑셀로도 불가능한가요??
프로필 이미지
고구미
2014-12-04
138
글번호 81050
지표
답변완료

키움지표 변환 부탁드립니다

수식1 highestsince(1,avg(c,20)>avg(c,20,1),avg(c,20)) 수식2 lowestsince(1,avg(c,20)<avg(c,20,1),avg(c,20)) 감사합니다
프로필 이미지
길벗
2014-12-04
226
글번호 81049
지표
답변완료

시스템 진입조건 설정

항상 감사드립니다 아래 시스템식에서 1.당일 첫 진입신호는 시장가로 진입 두번째 신호부터는 현재가로 진입하되 3초내에 체결되지 않으면 시장가로 진입 2.청산은 시장가로 3.이렇게 수식을 정해놓으면 시스템매매설정과 충돌되지 않는지 궁금합니다 input : 시작시간(090000),끝시간(123000); var : Start(false),entrycnt(0),Bcond(false),Bcond1(false),Scond(false),Scond1(false),idx(0); if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{ Start = True; entrycnt = 0; Idx = 0; } Idx = idx+1; if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간) Then Start = false; Bcond = c>var66 and c<var67 and var11==1 and c>var78 and c>Hma1 and c>var48 ; Scond = c>var66 and c<var67 and var11==-1 and c<var78 and c<Lma1 and c<var48 ; Bcond1 = c>var66 and c<var67 and var12==1 and c>var78 and c>Hma1 and c>var48 ; Scond1 = c>var66 and c<var67 and var12==-1 and c<var78 and c<Lma1 and c<var48 ; Condition1 = ExitDate(1) == sdate and MarketPosition(1) == 1 and (IsExitName("eB_선행",1) == true or IsExitName("StopLoss",1) == true); Condition2 = ExitDate(1) == true and MarketPosition(1) == -1 and (IsExitName("eS_선행",1) == true or IsExitName("StopLoss",1) == true); Condition3 = ExitDate(1) == sdate and MarketPosition(1) == 1 and (IsExitName("bx",1) == true or IsExitName("StopLoss",1) == true); Condition4 = ExitDate(1) == true and MarketPosition(1) == -1 and (IsExitName("sx",1) == true or IsExitName("StopLoss",1) == true); Condition5 = ExitDate(1) == sdate and MarketPosition(1) == 1 and (IsExitName("eB_거래",1) == true or IsExitName("StopLoss",1) == true); Condition6 = ExitDate(1) == true and MarketPosition(1) == -1 and (IsExitName("eS_거래",1) == true or IsExitName("StopLoss",1) == true); if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then Entrycnt = Entrycnt+1; if Idx >= 1 and Start == true and Bcond == true and (EntryCnt == 0 or MarketPosition == -1 or (EntryCnt > 0 and MarketPosition == 0 and Condition1 == False and Condition3 == False and Condition5 == False )) Then buy("B1"); if Idx >= 1 and Start == true and Bcond1 == true and (EntryCnt == 0 or MarketPosition == -1 or (EntryCnt > 0 and MarketPosition == 0 and Condition1 == False and Condition3 == False and Condition5 == False )) Then buy("B2"); if Idx >= 1 and Start == true and Scond == true and (EntryCnt == 0 or MarketPosition == 1 or (EntryCnt > 0 and MarketPosition == 0 and Condition2 == False and Condition4 == False and Condition6 == False )) Then sell("S1"); if Idx >= 1 and Start == true and Scond1 == true and (EntryCnt == 0 or MarketPosition == 1 or (EntryCnt > 0 and MarketPosition == 0 and Condition2 == False and Condition4 == False and Condition6 == False )) Then sell("S2"); ########################## ##### 매수/매도 청산 ##### ########################## if MarketPosition == 1 and c<Cma1 and c<var48 /* and var11==-1 */ Then exitlong("eB_선행"); if MarketPosition == -1 and c>Cma1 and c>var48 /*and var11==1 */ Then ExitShort("eS_선행"); if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*8 and c<Lma1 and c<var2 and var11==-1 Then exitlong("eB_거래"); if MarketPosition == -1 and Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*8 and c>Hma1 and c>var2 and var11==1 Then ExitShort("eS_거래");
프로필 이미지
조민철
2014-12-04
169
글번호 81045
시스템
답변완료

수식문의

데이타 지표에서 거래량이든 매수금액이든 차감표시는 표현이 안될까요(물론 기존의데이타 지표는 매수금액은 차감표시가되는데 개인 이만든지표들의 차감정도 수식이필요합니다)
프로필 이미지
백진강
2014-12-04
136
글번호 81042
시스템
답변완료

안녕하세요

안녕하세요.반갑습니다 질문부탁합니다 1.볼린져 벤드 가장수축(분봉용) 2.파라볼릭(종가) 주가가 파라볼릭보다 낮게 위치하고 있다가 상향돌파 1.2항 만족시:매수 반대:매도 감사합니다.
프로필 이미지
회원
2014-12-04
139
글번호 81041
시스템
답변완료

문의드립니다

항상 친절한 응대에 감사드립니다 아래 매매식을 다음 조건으로 macd와 macd signal을 이용하여 매매식을 구현하는 방법에 대해 요청드립니다. 기준분봉(30분봉)에서 15분봉, 10분봉, 5분봉을 어떻게 적용하는 지요? 또는 기준분봉(60분봉)에서 30분봉, 15분봉, 10분봉, 5분봉을 어떻게 적용하는 지요? 1. 30분봉이 기준봉인 경우 ㅇ 30분봉에서 macd가 macd signal 상향 돌파시 매수진입 -> 15분봉기준으로 macd가 macd signal 하향 돌파시 매수청산 ㅇ 30분봉에서 macd가 macd signal 하향 돌파시 매도진입 -> 15분봉기준으로 macd가 macd signal 상향 돌파시 매도청산 2. 30분봉이 기준봉인 경우 ㅇ 30분봉에서 macd가 macd signal 상향 돌파시 매수진입 -> 10분봉기준으로 macd가 macd signal 하향 돌파시 매수청산 ㅇ 30분봉에서 macd가 macd signal 하향 돌파시 매도진입 -> 10분봉기준으로 macd가 macd signal 상향 돌파시 매도청산 3. 30분봉이 기준봉인 경우 ㅇ 30분봉에서 macd가 macd signal 상향 돌파시 매수진입 -> 5분봉기준으로 macd가 macd signal 하향 돌파시 매수청산 ㅇ 30분봉에서 macd가 macd signal 하향 돌파시 매도진입 -> 5분봉기준으로 macd가 macd signal 상향 돌파시 매도청산 4. 60분봉이 기준봉인 경우 ㅇ 60분봉에서 macd가 macd signal 상향 돌파시 매수진입 -> 30분봉기준으로 macd가 macd signal 하향 돌파시 매수청산 ㅇ 60분봉에서 macd가 macd signal 하향 돌파시 매도진입 -> 30분봉기준으로 macd가 macd signal 상향 돌파시 매도청산 5. 60분봉이 기준봉인 경우 ㅇ 60분봉에서 macd가 macd signal 상향 돌파시 매수진입 -> 15분봉기준으로 macd가 macd signal 하향 돌파시 매수청산 ㅇ 60분봉에서 macd가 macd signal 하향 돌파시 매도진입 -> 15분봉기준으로 macd가 macd signal 상향 돌파시 매도청산 6. 60분봉이 기준봉인 경우 ㅇ 60분봉에서 macd가 macd signal 상향 돌파시 매수진입 -> 10분봉기준으로 macd가 macd signal 하향 돌파시 매수청산 ㅇ 60분봉에서 macd가 macd signal 하향 돌파시 매도진입 -> 10분봉기준으로 macd가 macd signal 상향 돌파시 매도청산 7. 60분봉이 기준봉인 경우 ㅇ 60분봉에서 macd가 macd signal 상향 돌파시 매수진입 -> 5분봉기준으로 macd가 macd signal 하향 돌파시 매수청산 ㅇ 60분봉에서 macd가 macd signal 하향 돌파시 매도진입 -> 5분봉기준으로 macd가 macd signal 상향 돌파시 매도청산 너무 번거럽게 해드려 죄송합니다. 수고 하세요. <매매식> 1 매수진입-매수청산 Input : shortPeriod(12), longPeriod(26), Period(9); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { exitlong(); } 2. 매도진입-매도청산 Input : shortPeriod(12), longPeriod(26), Period(9); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); # 매수/매도청산 If CrossUP(value1, value2) Then { exitshort(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); }
프로필 이미지
민기삼촌
2014-12-04
140
글번호 81040
시스템