커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

조화이평 사용자함수 정의

안녕하세요 조화이평 harmonic moving average hma라고 이름지어서 Hma 사용자함수 정의하려 하는데 사용자함수 알려주시면 감사하겟습니다
프로필 이미지
knoll
2017-03-03
140
글번호 107447
사용자 함수
답변완료

수식 작성 부탁드립니다 ^^

전일 시가,종가,고가,저가와 당일 시가,종가,고가,저가,당일중심값 의 수식 작성 부탁드립니다 ^^
프로필 이미지
정두영
2017-03-03
127
글번호 107446
지표
답변완료

문의드립니다.

안녕하세요. 수식지왕님 블로그에서 자동고저라인 추세선 지표식을 가져와 예스에 넣어보는데 추세선이 그려지지 않습니다. 어디가 잘못되었는지 봐주실수 있나요? 수식은 아래와 같습니다. 감사합니다. Input:length(10); Var:최종고가(0),최종저가(0),최종변곡점(""),처리구분(""), sBar(0),TL1(0),TL2(0),TL3(0), 고추세기울기(0),고추세봉개수(0),고추세시작(0),고추세시작IDX(0),고추세최종(0), 저추세기울기(0),저추세봉개수(0),저추세시작(0),저추세시작IDX(0),저추세최종(0); Var:고1(0),고2(0),고3(0),고4(0),고5(0),고6(0),고7(0),고8(0),고9(0),고10(0), 저1(0),저2(0),저3(0),저4(0),저5(0),저6(0),저7(0),저8(0),저9(0),저10(0), 고1IDX(0),고2IDX(0),고3IDX(0),고4IDX(0),고5IDX(0), 고6IDX(0),고7IDX(0),고8IDX(0),고9IDX(0),고10IDX(0), 저1IDX(0),저2IDX(0),저3IDX(0),저4IDX(0),저5IDX(0), 저6IDX(0),저7IDX(0),저8IDX(0),저9IDX(0),저10IDX(0); #==========================================# Condition1 = Highest(C,length) == C and 최종고가 <> C; Condition2 = Lowest (C,length) == C and 최종저가 <> C; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종변곡점 == "저점" Then 처리구분 = "고점처리"; // 저 - 고 순으로 처리 Else 처리구분 = "저점처리"; // 고 - 저 순으로 처리 } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { 최종고가 = C; // 신규고점을 체크하기 위해 저장 If 최종변곡점 == "저점" Then { 고9 = 고8; 고9IDX = 고8IDX; 고8 = 고7; 고8IDX = 고7IDX; 고7 = 고6; 고7IDX = 고6IDX; 고6 = 고5; 고6IDX = 고5IDX; 고5 = 고4; 고5IDX = 고4IDX; 고4 = 고3; 고4IDX = 고3IDX; 고3 = 고2; 고3IDX = 고2IDX; 고2 = 고1; 고2IDX = 고1IDX; 고1 = C; 고1IDX = Index; sBar = Index - 저1IDX; // 추세선 시작점의 위치, n봉전으로 표시 TL1 = TL_New(sDate[sBar],sTime[sBar],저1,sDate[0],sTime[0],고1); TL_SetSize(TL1,2); TL_SetColor(TL1,GREEN); } Else If 고1 < C Then // 1번 고점보다 높은 고가 출현 { 고1 = C; 고1IDX = Index; TL_SetEnd(TL1,sDate[0],sTime[0],고1); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 } /* 고점추세선 */ If 고2IDX[1] <> 고2IDX Then // 고2의 Index값이 변동 없음 즉, 새로운 고점이 생기지 않았음 { 고추세최종 = 0; 고추세기울기 = 0; 고추세시작 = 0; 고추세봉개수 = 0; If 고2 < 고3 Then { 고추세기울기 = (고2 - 고3)/(고2IDX - 고3IDX); 고추세시작 = 고3; 고추세시작IDX = 고3IDX; } Else If 고2 < 고4 Then { 고추세기울기 = (고2 - 고4)/(고2IDX - 고4IDX); 고추세시작 = 고4; 고추세시작IDX = 고4IDX; } Else If 고2 < 고5 Then { 고추세기울기 = (고2 - 고5)/(고2IDX - 고5IDX); 고추세시작 = 고5; 고추세시작IDX = 고5IDX; } Else If 고2 < 고6 Then { 고추세기울기 = (고2 - 고6)/(고2IDX - 고6IDX); 고추세시작 = 고6; 고추세시작IDX = 고6IDX; } Else If 고2 < 고7 Then { 고추세기울기 = (고2 - 고7)/(고2IDX - 고7IDX); 고추세시작 = 고7; 고추세시작IDX = 고7IDX; } Else If 고2 < 고8 Then { 고추세기울기 = (고2 - 고8)/(고2IDX - 고8IDX); 고추세시작 = 고8; 고추세시작IDX = 고8IDX; } Else If 고2 < 고9 Then { 고추세기울기 = (고2 - 고9)/(고2IDX - 고9IDX); 고추세시작 = 고9; 고추세시작IDX = 고9IDX; } 고추세봉개수 = Index - 고추세시작IDX; 고추세최종 = 고추세기울기 * 고추세봉개수 + 고추세시작; If 고추세최종 > 0 Then { TL2 = TL_New(sDate[고추세봉개수],sTime[고추세봉개수],고추세시작,sDate[0],sTime[0],고추세최종); TL_SetSize(TL2,1); TL_SetColor(TL2,RED); } } Else If 고추세최종[1] > 0 Then { 고추세최종 = 고추세기울기 * (Index - 고추세시작IDX) + 고추세시작; TL_SetEnd(TL2,sDate[0],sTime[0],고추세최종); } If 저추세최종[1] > 0 Then { 저추세최종 = 저추세기울기 * (Index - 저추세시작IDX) + 저추세시작; TL_SetEnd(TL3,sDate[0],sTime[0],저추세최종); } 최종변곡점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = C; If 최종변곡점 == "고점" then { 저9 = 저8; 저9IDX = 저8IDX; 저8 = 저7; 저8IDX = 저7IDX; 저7 = 저6; 저7IDX = 저6IDX; 저6 = 저5; 저6IDX = 저5IDX; 저5 = 저4; 저5IDX = 저4IDX; 저4 = 저3; 저4IDX = 저3IDX; 저3 = 저2; 저3IDX = 저2IDX; 저2 = 저1; 저2IDX = 저1IDX; 저1 = C; 저1IDX = Index; sBar = Index - 고1IDX; TL1 = TL_New(sDate[sBar],sTime[sBar],고1,sDate[0],sTime[0],저1); TL_SetSize(TL1,2); TL_SetColor(TL1,GREEN); } Else If 저1 > C then { 저1 = C; 저1IDX = Index; TL_SetEnd(TL1,sDate[0],sTime[0],저1); } /* 저점추세선 */ If 저2IDX[1] <> 저2IDX Then { 저추세최종 = 0; 저추세기울기 = 0; 저추세시작 = 0; 저추세봉개수 = 0; If 저2 > 저3 and 저3 > 0 Then { 저추세기울기 = (저2 - 저3)/(저2IDX - 저3IDX); 저추세시작 = 저3; 저추세시작IDX = 저3IDX; } Else If 저2 > 저4 and 저4 > 0 Then { 저추세기울기 = (저2 - 저4)/(저2IDX - 저4IDX); 저추세시작 = 저4; 저추세시작IDX = 저4IDX; } Else If 저2 > 저5 and 저5 > 0 Then { 저추세기울기 = (저2 - 저5)/(저2IDX - 저5IDX); 저추세시작 = 저5; 저추세시작IDX = 저5IDX; } Else If 저2 > 저6 and 저6 > 0 Then { 저추세기울기 = (저2 - 저6)/(저2IDX - 저6IDX); 저추세시작 = 저6; 저추세시작IDX = 저6IDX; } Else If 저2 > 저7 and 저7 > 0 Then { 저추세기울기 = (저2 - 저7)/(저2IDX - 저7IDX); 저추세시작 = 저7; 저추세시작IDX = 저7IDX; } Else If 저2 > 저8 and 저8 > 0 Then { 저추세기울기 = (저2 - 저8)/(저2IDX - 저8IDX); 저추세시작 = 저8; 저추세시작IDX = 저8IDX; } Else If 저2 > 저9 and 저9 > 0 Then { 저추세기울기 = (저2 - 저9)/(저2IDX - 저9IDX); 저추세시작 = 저9; 저추세시작IDX = 저9IDX; } 저추세봉개수 = Index - 저추세시작IDX; 저추세최종 = 저추세기울기 * 저추세봉개수 + 저추세시작; If 저추세최종 > 0 Then { TL3 = TL_New(sDate[저추세봉개수],sTime[저추세봉개수],저추세시작,sDate[0],sTime[0],저추세최종); TL_SetSize(TL3,1); TL_SetColor(TL3,BLUE); } } Else If 저추세최종[1] > 0 Then { 저추세최종 = 저추세기울기 * (Index - 저추세시작IDX) + 저추세시작; TL_SetEnd(TL3,sDate[0],sTime[0],저추세최종); } If 고추세최종[1] > 0 Then { 고추세최종 = 고추세기울기 * (Index - 고추세시작IDX) + 고추세시작; TL_SetEnd(TL2,sDate[0],sTime[0],고추세최종); } 최종변곡점 = "저점"; }
프로필 이미지
한바다
2017-03-03
162
글번호 107441
지표
답변완료

시스템 수직 작성 요청합니다!!

어디서부터&nbsp;시작해야될지&nbsp;난감한데 아래&nbsp;조건으로&nbsp;시스템&nbsp;만들어주실수없으신가요&nbsp;ㅠㅠ; ★ 신규 매수 1분봉 macd가 시그널보다 위에 있고 파라볼릭sar가 상승전환시 매수 5틱 이상 수익권이고 파라볼릭 하락 전환이나 macd가 시그널 보다 아래로 돌파되면 청산 손절컷 / 1.최근60개의 1분봉중 최저값 보다 5틱 아래에서 스탑로스 2.파라볼릭 하락전환과 macd가 시그널 보다 아래로 돌파되면 손절과 동시에 신규 매도 전환 ★ 신규 매도 1분봉 macd가 시그널보다 아래에 있고 파라볼릭sar가 하락전환시 매도 5틱 이상 수익권이고 파라볼릭 상승 전환이나 macd가 시그널 보다 위로 돌파되면 청산 손절컷 / 1.최근60개의 1분봉중 최저값 보다 5틱 아래에서 스탑로스 2.파라볼릭 하락전환과 macd가 시그널 보다 아래로 돌파되면 손절과 동시에 신규 매수 전환
프로필 이미지
비월
2017-03-03
128
글번호 107437
시스템
답변완료

재요청 드립니다.

안녕하세요? 아래와 같은 답변을 받고 설명 드립니다. 기준선 설정 : 2틱이상짜리 봉나오고 다음봉이 1틱 역봉 나오면 들어가는 것인데, 1틱봉 종가가 기준선이 된다는 뜻입니다. 실례가 안된다면 제가 글로써설명이 부족하여 연락처 남겨놓겠습니다 김덕규 010-5675-5903 안녕하세요 예스스탁입니다. 문의하신 내용을 정확히 이해를 못했습니다. 기준선설정이 어떤 부분을 의미하시는지 모르겠습니다. 도움을 드리지 못해 죄송합니다. 즐거운 하루되세요 > 대구어린울프 님이 쓴 글입니다. > 제목 : 시스템식 추가 요청드립니다. > 고생하십니다. 최근 아래와 같은 답변을 받았읍니다 제가 나이가 적지가 않아 부대조건을 추가하는게 쉽지가 않네요.. 어렵게 표현한것같아서 쉽게 다시 설명드리고 아래 시스템식에 추가할수있게 부탁코저 합니다 * 추가로 입력할 부대조건 1. 기준선 설정 : 장 시작후 첫 번째 나오는 1틱 조건봉의 종가 2. 익,손절 설정 : 익절 0.50P이상,손절 -0.50 3. 손절후는 첫 조건봉 나올시 재진입 4. 제외 조건봉 : 무손실 1틱봉( 갭하락 상승 1틱 양봉,갭 상승 1틱 음봉) 5. 변수로 설정 : 주기,익손절,U-turn지점(0.20,0.70) 답변부탁드립니다. 혹여 잘 안될시에 다시 쉽게 &#48828;거빼고 재등록 하겠습니다. 감사합니다. 안녕하세요 예스스탁입니다. 진입과 청산조건으로만 작성한 내용입니다. 부대조건 중 내용은 어떻게 추가해야 할지 잘 모르겠습니다. 청산도 모두 청산식으로 작성했습니다. 해당 내용 참고하셔서 수정보완하시기 바랍니다. if C[1] <= O[1]-PriceScale*2 and C >= O+PriceScale*1 Then buy("b",AtMarket); if C[1] >= O[1]+PriceScale*2 and C <= O-PriceScale*1 Then sell("s",AtMarket); if MarketPosition == 1 Then{ ExitLong("bl",AtStop,EntryPrice-0.5); var1 = (highest(H,BarsSinceEntry)-EntryPrice); var2 = int(var1/0.5); if highest(H,BarsSinceEntry) >= EntryPrice+var2*0.5+0.3 Then ExitLong("bx",AtStop,EntryPrice+var2*0.5); } if MarketPosition == -1 Then{ ExitShort("sl",AtStop,EntryPrice+0.5); var1 = (EntryPrice-lowest(L,BarsSinceEntry)); var2 = int(var1/0.5); if Lowest(L,BarsSinceEntry) <= EntryPrice-var2*0.5+0.3 Then ExitShort("sx",AtStop,EntryPrice-var2*0.5); } 즐거운 하루되세요 > 대구어린울프 님이 쓴 글입니다. > 제목 : 시스템 작성 부탁드립니다. > 그동안 답변주신것 감사드리고,아래와 같이 전략작성을 부탁드리고자 합니다 ** 진입조건(진입 조건봉) ① 2틱이상 음봉 다음 1틱양봉 발생후 다음봉 시가에 매수 진입 ② 2틱이상 양봉 다음 1틱음봉 발생후 다음봉 시가에 매도 진입 ** 청산조건 및 역진입 ① 익 0.30P-0.50 도달후 U-turn시 0.00점 청산(설정된 기준선에 매수시는 음봉종가 접속,매도시는 양봉 종가 접속시 청산 역진) ② 익 0..80P-1.00 ( “ ”) 익 0.50점 청산 ( “ ” ) ③ 익 1.30P-1.50 ( “ ”) 익 1.00점 청산 ( “ ” ) ④ 익 1.80P-2.00 ( “ ”) 익 1.50점 청산 ( “ ” ) ⑤ 익 2.30P-2.50 ( “ ”) 익 2.00점 청산 ( “ ” ) ⑥ 익 2.80P-3.00 ( “ ”) 익 2.50점 청산 ( “ ” ) ⑦ 익 3.30P-3.50 ( “ ”) 익 3.00점 청산 ( “ ” ) ⑧ 0.50P단위로 단계적으로 확대 ** 부대조건 * 익 0.50 이상, 손절 0.50 * 상기 청산후 바로 역진입(1틱 조건봉 아니어도 됨) * 기준선 도달전 역조건봉 나올시 청산 역진입 * 손절후는 첫조건봉 나올시 진입 * 기준선 설정 : 장시작후 첫진입한 1틱봉의 종가 * 무손실 1틱은 제외(갭상승 1틱 음봉,갭하락 1틱 양봉) * 익절,손절,주기는 변수로 감사합니다..^^
프로필 이미지
대구어린울프
2017-03-03
143
글번호 107434
시스템
답변완료

수식부탁드립니다

일목균형표를 이용한 매매인데요. 후행스팬이 있는 위치에서(오늘 종가보다 26일 전이죠) 구름대를 상향돌파할 때 검색하는 식을 부탁드립니다.
프로필 이미지
sambuck
2017-03-03
121
글번호 107430
종목검색

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

프로필 이미지
sambuck
2017-03-03
0
글번호 107429
시스템

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

프로필 이미지
카카
2017-03-03
21
글번호 107421
지표
답변완료

지표수식문의합니다

수고많으세요 오실레이터 혹은 곡선화된 지표를 가로측 직선화, 일정레벨치 이상, 이하에서 색상이 변하게 만들고 싶습니다 예를들면 macd 오실레이터지표 가로 직선화 오실레이터 기준선 0레벨 이상일경우 분홍색 0레벨이상이면서 0.03이상에선 붉은색 0레벨이하 일경우 엷은 청색 0레벨이하 이면서 -0.03이하면 청색, 이런방식으로 만들려고 합니다 레벨수치는 변경이 가능토록해주세요
프로필 이미지
회원
2017-03-03
130
글번호 107420
지표