커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

Reverse 지표 타주기 수식 부탁드려요

안녕하세요! reverse 지표에 대한 타주기 수식 부탁드려요!! 타분봉간 60분 reverse를 1분에 표시... ** reverse 지표 ** ------------------ Input : Short(12), Long(24); value1 = accumN(C-C[1],Short); value2 = accumN(C-C[1],Long); value3 = iff(C>C[1],C-C[1],0); value4 = iff(C<C[1],C-C[1],0); If value1 > 0 Then plot1(value1*(-100)/accumN(value3,Short), "reverse1"); Else plot1(value1*100/accumN(value4,Short), "reverse1"); If value2 > 0 then plot2(value2*(-100)/accumN(value3,Long),"reverse2"); Else plot2(value2*100/accumN(value4,Long),"reverse2"); PlotBaseLine1(0, "기준선 0"); PlotBaseLine2(75, "기준선 75"); PlotBaseLine3(-75, "기준선 -75"); -----------------------------------------
프로필 이미지
단팥빵
2022-06-20
1160
글번호 160029
지표
답변완료

수식변환의뢰

각 항목별로 수식변환 부탁드립니다. [일]0봉전 윗그림자가 몸통의 50%이하고 아래그림자가 10%이하인 양봉 [일]0봉전 아래그림자가 몸통의 50%이하고 윗그림자가 10%이하 음봉
프로필 이미지
심홍
2022-06-20
1195
글번호 160027
지표
답변완료

77739 수식 재문의

도움 주셔서 항상 감사드립니다. 아래에 찍히는 점을 plot로 차트에 남길 수 있도록 수정 부탁드립니다. 파동이 확정된 뒤, 지난 파동들의 값을 가져오는거라. 쉽게 생각하고 따로 언급드리지 않았습니다.. 번거롭게 해드려 죄송합니다. 부탁드리겠습니다. 안녕하세요 예스스탁입니다. 추가된 TL24,TL25 추세선내용 참고하셔서 필요한 갯수만큼 확장하시기 바랍니다. input:length(6); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL12(0),TL13(0),TL14(0),TL15(0),T(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime var : TL24(0),TL25(0); #==========================================# HH = IFF(0==1,C,H); LL = IFF(0==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 1 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 0, 1); Text_SetColor(Text1,WHITE); } TL_SetSize(TL1,1); TL_SetColor(TL1,WHITE); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 1 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 0, 0); Text_SetColor(Text1,WHITE); } TL_SetSize(TL1,1); TL_SetColor(TL1,WHITE); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; } if T == -1 and T[1] != -1 Then { TL2 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); TL_Delete(TL3); TL3 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]); TL_SetExtRight(TL3,true); TL_SetSize(TL2,3); TL_SetColor(TL2,RED); TL_SetSize(TL3,3); TL_SetColor(TL3,RED); TL12 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); TL_Delete(TL13); TL13 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]); TL_SetExtRight(TL13,true); TL_SetSize(TL12,1); TL_SetColor(TL12,RED); TL_SetSize(TL13,1); TL_SetColor(TL13,RED); TL_Delete(TL24); TL_Delete(TL25); TL24 = TL_New(고[1,3],고[1,4],고[1,1]-abs(고[2,1]-저[2,1]),sdate,stime,고[1,1]-abs(고[2,1]-저[2,1])); TL25 = TL_New(고[1,3],고[1,4],고[1,1]-abs(고[3,1]-저[3,1]),sdate,stime,고[1,1]-abs(고[3,1]-저[3,1])); TL_SetExtRight(TL24,true); TL_SetExtRight(TL25,true); TL_SetSize(TL24,0); TL_SetStyle(TL24,3); TL_SetColor(TL24,blue); TL_SetSize(TL25,0); TL_SetStyle(TL25,3); TL_SetColor(TL25,blue); } if T == 1 and T[1] != 1 Then { TL4= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); TL_Delete(TL5); TL5= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); TL_SetExtRight(TL5,true); TL_SetSize(TL4,3); TL_SetColor(TL4,blue); TL_SetSize(TL5,3); TL_SetColor(TL5,blue); TL14= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); TL_Delete(TL15); TL15= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); TL_SetExtRight(TL15,true); TL_SetSize(TL14,1); TL_SetColor(TL14,blue); TL_SetSize(TL15,1); TL_SetColor(TL15,blue); TL_Delete(TL24); TL_Delete(TL25); TL24 = TL_New(저[1,3],저[1,4],저[1,1]+abs(고[2,1]-저[2,1]),sdate,stime,저[1,1]+abs(고[2,1]-저[2,1])); TL25 = TL_New(저[1,3],저[1,4],저[1,1]+abs(고[3,1]-저[3,1]),sdate,stime,저[1,1]+abs(고[3,1]-저[3,1])); TL_SetExtRight(TL24,true); TL_SetExtRight(TL25,true); TL_SetSize(TL24,0); TL_SetStyle(TL24,3); TL_SetColor(TL24,Red); TL_SetSize(TL25,0); TL_SetStyle(TL25,3); TL_SetColor(TL25,Red); } 즐거운 하루되세요
프로필 이미지
흑수돌
2022-06-20
1160
글번호 160022
지표
답변완료

수식변환의뢰

수식변환의뢰 각 항목별 수식변환 부탁드립니다. [예] [일]1봉전 2봉중 신저거래량 ==> V(1) < lowest(V(2), 2) 기간내 평균 거래량비율:[일]0봉전 5봉이내에서 1평균거래량대비(기준봉포함) 50%이상 1회 이상 분봉 금일 첫봉대비 거래량비율:[5분]주기 금일 첫봉 거래량대비 0봉전 거래량비율 200%이상 거래량비율:[일]5봉 평균(0봉전)거래량대비 동일주기 0봉전 100%이상 [일]0봉전 이평(단순 50) 5봉이내 박스에서 고가 1회 상한선 상향 돌파 주가등락률:[1분]65봉전(중) 고가대비 0봉전 종가등락률 -3%이하 기간내 등락률:[일]1봉전 5봉이내에서 전일종가대비종가 10% 이상 신고가:[일]1봉전 고가가 33봉이내에서 신고가 최저종가:[일]1봉전 종가가 60이내 최저종가 주가이평추세:[주]0봉전 (종가 10)이평 상승추세유지 2회 이상 상세이평비교:[일]0봉전 단순 (종가 1 )이평이 단순(종가 20)이평을 5봉이내 80이상 95이하 1회 이상 주가이평등락률:[일]1봉전(중)종가20이평대비 0봉전종가1이평 등락률 1%이상 30%이하 주가이평돌파:[일]0봉전기준 20봉이내에서 0봉전 (종가 1)이평 (종가 20)이평 데드크로스 주가비교:[월]1봉전 시가 < 1봉전 종가 연속상승하락:[일]1봉전 3봉 연속상승발생 이평이격도[일]0봉전(종가 10, 종가 40) : 98%이상 105%이하 1회이상 일봉기준 10일이내에서 1일중 첫하한가 발생 일봉기준 10일이내에서 1일간 연속상한가 발생 52주 최고가대비 -20%이상 0%이하
프로필 이미지
심홍
2022-06-20
2437
글번호 160015
지표
답변완료

수식변환의뢰

수식변환의뢰 각 항목별 수식변환 부탁드립니다. [예] [일]1봉전 2봉중 신저거래량 ==> V(1) < lowest(V(2), 2) [일]0봉전 CCI(14) 1봉 연속 추세유지 후 상승반전 [일]0봉전 CCI(12,9) Signal선 상향돌파 [일]1봉전기준 3봉이내에서 1봉전 CCI(12) 1봉 연속상승 [일]0봉전 LRL(종가,17)이 17 단순이평선 상향돌파 [일]0봉전 LRL(종가,14), 종가 > LRL [일]0봉전 MACD(12,26,9) Signal선 이상 [일]0봉전 Bollinger Band(30,2) 종가 Bollinger Band 상한선 1%이내 근접 [일]0봉전 일목균형표(9,26,52) 주가 > 기준선 [일]0봉전 일목균형표(9,26,52) 주가 > 선행스팬 2 [3분]0봉전 Envelope(20,6) 고가가 Envelope 상한선이상 [3분]0봉전 Bollinger Band(20,2) 고가가 상한선이상
프로필 이미지
심홍
2022-06-20
1470
글번호 160014
지표
답변완료

수식변환

각 항목별 수식변환 부탁드립니다. [예] [일]1봉전 2봉중 신저거래량 ==> V(1) < lowest(V(2), 2) 상장일 250일 이내 신용융자 ABCD군 시가총액:현재가기준 10십억원 이상 순이익률:최근결산 5% 이상 증거금률:증거금 20% 체결강도 100.0%이상 1000.0%이하 매도매수잔량비 100%이하 예상체결가등락률:[일주기]1봉전 종가대비 예상체결가등락률 2%이상 예상체결가 상승률(기준가 대비) 2(%, 원)이상 예상체결금액 5000 천원 ~ 999999999 천원 예상체결량 5000주 ~ 999999999주 거래량 순위 상위 200 거래량비율(n봉):[일]1봉전 거래량 대비 0봉전 거래량 비율 100%이상 거래대금 순위 상위 200 5분간 평균대비 최근1분간 거래대금 3배 이상 [일]거래대금(일:백만, 분:천) 1000이상 999999999이하 5일 평균거래대금(단위:백만) 1000이상 999999999이하 (금일포함) 5일 평균거래대금(단위:백만) 1000이상 999999999이하 (금일제외)
프로필 이미지
심홍
2022-06-20
1645
글번호 160013
지표
답변완료

수식변환의뢰

수식변환의뢰 각 항목별 수식변환 부탁드립니다. [예] [일]1봉전 2봉중 신저거래량 ==> V(1) < lowest(V(2), 2) [일]0봉전 <도지(십자)> [일]1봉전 <도지(십자)> [일]1봉전 <그레이브스톤 도지(비석형 십자)> [일]1봉전 <드래곤플라이 도지(잠자리형 십자)> [일]1봉전 <릭쇼맨 도지> [일]0봉전 <롱바디(양봉)> [일]0봉전 <롱바디(음봉)> [일]0봉전 <화이트 마루보즈(장대양봉)> [일]0봉전 <클로징 화이트 마루보즈(아랫꼬리 장대양봉)> [일]0봉전 <롱바디(양봉)> [일]0봉전 <오프닝 화이트 마루보즈(윗꼬리 장대양봉)> [일]1봉전 <숏바디(양봉)> [일]1봉전 <롱바디(양봉)> [일]0봉전 몸통길이(직전봉 종가,사용안함,사용안함) 윗그림자(50,사용안함) 아래그림자(사용안함,사용안함) 양봉 [일]0봉전 몸통길이(직전봉 종가,사용안함,사용안함) 윗그림자(사용안함,사용안함) 아래그림자(사용안함,50) 음봉 [일]0봉전 몸통길이(직전봉 종가,사용안함,사용안함) 윗그림자(사용안함,사용안함) 아래그림자(0,500) 음봉 [일]0봉전 몸통길이(직전봉 종가,사용안함,사용안함) 윗그림자(0,500) 아래그림자(0,500) 양봉
프로필 이미지
심홍
2022-06-20
1683
글번호 160012
지표
답변완료

수식 문의

시간내서 도움 주시는데 항상 감사드리고 있습니다. 복잡하다고 여겨지는 부분을 빼고 다시 문의 드립니다. 감사합니다.. ----------------------------- 아래 수식은 파동선을 긋고 고가와 저가의 값을 표시해 준 수식입니다. 아래 수식을 수정하여, 종가가 하락파동으로 전환된다면, 현재 하락파동의 고가를 기준으로, (고가) - (직전 하락파동 크기) 를 점으로 찍음 (고가) - (전전 하락파동 크기) 를 점으로 찍음 이렇게 두개의 점을 찍습니다. 종가가 상승파동으로 전환된다면, 현재 하락파동의 저가를 기준으로, (저가) - (직전 상승파동 크기) 를 점으로 찍음 (저가) - (전전 상승파동 크기) 를 점으로 찍음 이렇게 두개의 점을 찍습니다. 위와 같이 수정하고 싶습니다. 부탁드리겠습니다. 감사합니다. ====== 아 래 input:length(6); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL12(0),TL13(0),TL14(0),TL15(0),T(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(0==1,C,H); LL = IFF(0==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 1 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 0, 1); Text_SetColor(Text1,WHITE); } TL_SetSize(TL1,1); TL_SetColor(TL1,WHITE); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 1 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 0, 0); Text_SetColor(Text1,WHITE); } TL_SetSize(TL1,1); TL_SetColor(TL1,WHITE); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; } if T == -1 and T[1] != -1 Then{ TL2 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); TL_Delete(TL3); TL3 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]); TL_SetExtRight(TL3,true); TL_SetSize(TL2,3); TL_SetColor(TL2,RED); TL_SetSize(TL3,3); TL_SetColor(TL3,RED); TL12 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); TL_Delete(TL13); TL13 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]); TL_SetExtRight(TL13,true); TL_SetSize(TL12,1); TL_SetColor(TL12,RED); TL_SetSize(TL13,1); TL_SetColor(TL13,RED); } if T == 1 and T[1] != 1 Then{ TL4= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); TL_Delete(TL5); TL5= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); TL_SetExtRight(TL5,true); TL_SetSize(TL4,3); TL_SetColor(TL4,blue); TL_SetSize(TL5,3); TL_SetColor(TL5,blue); TL14= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); TL_Delete(TL15); TL15= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); TL_SetExtRight(TL15,true); TL_SetSize(TL14,1); TL_SetColor(TL14,blue); TL_SetSize(TL15,1); TL_SetColor(TL15,blue); }
프로필 이미지
흑수돌
2022-06-20
1361
글번호 160008
지표
답변완료

함수요청

안녕하세요? 국내선물 일중거래를 하고자 합니다. 특정시간마다 매매하되 오버나이트하지 않습니다. 아래의 전략에 대해 가장 유사한 스크립트 작성 부탁드립니다. 9시 1계약 매도 10시 1계약 매도 13시 2계약 매수(매도청산) 14시 1계약 매도 15시 1계약 매도 종가청산(매도청산)
프로필 이미지
흰둥이아빠
2022-06-20
1330
글번호 160006
시스템