커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 부탁드립니다

var : idx(0); if date != date[1] Then{ var1 = V[1];#전일마지막봉 거래량 idx = 0; } idx = idx+1; if idx > 1 and var1 > 0 and V > var1 Then buy(); 이수식에서 진입 청산이 두번 이루어 지면 더이상 진입이 안되게 수식 부탁드립니다
프로필 이미지
미스포터
2018-01-31
181
글번호 116232
시스템
답변완료

수식 문의드립니다.

안녕하세요 특정 조건에서 Buy("1"); 로 매수 수량 4개가 진입되었습니다. "1" 로 진입 후, 50% 수익인 경우에 절반만 청산하고, 나머지는 100% 수익인 경우에 청산하고 싶습니다. 수식으로 어떻게 표현가능한지 문의드립니다. 감사합니다.
프로필 이미지
이엘성투
2018-01-31
171
글번호 116231
시스템
답변완료

수식 희망합니다.

안녕하세요 거래량 합산 수식 희망합니다. 당일 시초가부터 0에서 1번 빨강선 양봉일 때 거래량 합 2번 파랑선 음봉일 때 거래량 합 수식 가능할까요? 감사합니다.
프로필 이미지
째깍째깍
2018-01-31
184
글번호 116230
지표
답변완료

강세 약세 패턴 수식 좀 부탁드립니다.

macd 그림 첨부 파일 첨부 합니다! 첨부된 그림은 임펄스 MACD 수식과 이평 강세 약세 배경 입니다! 아래 수식은 1번 MACD / 2번 이평 강세 약세 배경입니다! 첨부 그림의 노랑과 하늘색 배경화면이 아래의 MACD 막대색과 일치 했으면 좋겠습니다! 즉, MACD 막대가 빨강색일때는 노랑색 배경이 MACD 빨간 막대와 일치하여 노랑배경으로 바뀌고 / MACD 막대가 파랑색일때는 하늘색 배경이 MACD 파란막대를 따라서 하늘색으로 바뀌길 바랍니다! 0선 기준선 상관 없이 오로지 MACD 빨강, 파랑 색상바 색만을 기준으로 동일하게 강세약세 배경색이 바뀌길 바랍니다! 1.임펄스 MACD > input: macd1(60), macd2(130), macd3(45); var : MacdV(0), MacdS(0), MacdOsc(0); MacdV = macd(macd1,macd2); MacdS = ema(MacdV,macd3); MacdOsc = MacdV-MacdS; if MacdOsc > MacdOsc[1] Then plot1(MacdOsc,"MacdOsc",RGB(255,0,0)); Else plot1(MacdOsc,"MacdOsc",RGB(1,0,255)); 2. 이평 강세 약세 배경패턴 > input : P1(1),P2(20); Var : mav1(0),mav2(0); mav1 = ma(c,P1); mav2 = ma(c,P2); if mav1 > mav2 Then{ plot1(99999999,"라인1"); plot2(0,"라인2"); } else{ plot1(0,"라인1"); plot2(99999999,"라인2"); } 부탁 드려요! 감사합니다!
프로필 이미지
qha71
2018-02-01
307
글번호 116229
지표
답변완료

56475 재문의 합니다.

안녕하세요. 수고 많으십니다. 아래 지표식에서 지표사이에 색을 채우려고 하는데, (동일한 차트의 경우 채우기 기능을 적용할 수 없습니다) 라고 문구가 뜸니다. 즉: 이평1, 이평2.로 나누어진게 아니라 이평, 이평 으로 되여있습니다. 가능 하시면 부탁드립니다........ 감사합니다. Input:n(60); Var:j(0),고가기울기(0),고가절편(0),고가예상치(0),고가표준오차(0), 저가기울기(0),저가절편(0),저가예상치(0),저가표준오차(0),trend(0), sumOH(0),sumOL(0),sumO(0),sumH(0),sumL(0),sumO²(0),sumH²(0),sumL²(0); if bDate[1] < bDate then { sumOH = 0; sumOL = 0; sumO = 0; sumH = 0; sumL = 0; sumO² = 0; sumH² = 0; sumL² = 0; for j = 1 to n { sumOH = sumOH + DayOpen(j)*DayHigh(j); sumOL = sumOL + DayOpen(j)*DayLow(j); sumO = sumO + DayOpen(j); sumH = sumH + DayHigh(j); sumL = sumL + DayLow(j); sumO² = sumO² + DayOpen(j)^2; sumH² = sumH² + DayHigh(j)^2; sumL² = sumL² + DayLow(j)^2; } #==========================================================================# # 선형회귀방정식 # #==========================================================================# # nΣxy - (Σx)(Σy) # # 기울기 a = --------------------- # # nΣx²- (Σx)² # # # # = (n*sum(xy) - sum(x)*sum(y)) / (n*sum(x^2) - sum(x)^2) # # # # (Σy)(Σx²)-(Σx)(Σxy) # # 절편 b = --------------------------- # # nΣx²- (Σx)² # # # # = (sum(y)*sum(x^2) - sum(x)*sum(xy)) / (n*sum(x^2) - sum(x)^2) # #==========================================================================# 고가기울기 = (n*sumOH - sumO*sumH) / (n*sumO²- sumO^2); 고가절편 = (sumH*sumO² - sumO*sumOH) / (n*sumO² - sumO^2); 저가기울기 = (n*sumOL - sumO*sumL) / (n*sumO² - sumO^2); 저가절편 = (sumL*sumO² - sumO*sumOL) / (n*sumO² - sumO^2); 고가예상치 = 고가기울기 * DayOpen() + 고가절편; 저가예상치 = 저가기울기 * DayOpen() + 저가절편; #==========================================================================# # 표준오차 공식 # #==========================================================================# # _______________________________________________________ # # / 1 [nΣxy - (Σx)(Σy)]² # # Sxy = / [ ------- ][nΣy²- (Σy)²- ----------------------- ] # # √ n(n-2) nΣx²- (Σx)² # # # # = sqrt((1/(n*(n-2))) * (n*sum(y^2) - sum(y)^2 - # # ((n*sum(x*y) - sum(x)*sum(y))^2 / (n*sum(x^2) - sum(x)^2)))) # #==========================================================================# 고가표준오차 = sqrt((1/(n*(n-2))) * (n*sumH² - sumH^2 - ((n*sumOH - sumO*sumH)^2 / (n*sumO² - sumO^2)))); 저가표준오차 = sqrt((1/(n*(n-2))) * (n*sumL² - sumL^2 - ((n*sumOL - sumO*sumL)^2 / (n*sumO² - sumO^2)))); } var1 = ema(h,20); var2= ema(l,20); var7=var1+(var1-ema(var1,20)); var8=var2+(var2-ema(var2,20)); if var7[2] > var7[1] and var7[1] < var7 then trend=1; if var7[2] < var7[1] and var7[1] > var7 then trend=0; plot2(round(고가예상치 + 0.5 * 고가표준오차,1),"2차 저항선"); plot3(round(고가예상치 - 0.5 * 고가표준오차,1),"1차 저항선"); plot6(round(저가예상치 + 0.5 * 저가표준오차,1),"1차 지지선"); plot7(round(저가예상치 - 0.5 * 저가표준오차,1),"2차 지지선"); plot8(dayopen,"시가"); Plot13(var7,"이평",iff(trend == 1,green, rgb(0,84,225))); Plot14(var8,"이평",iff(trend == 1,green, rgb(0,84,225)));
프로필 이미지
탐라
2018-01-31
207
글번호 116227
지표
답변완료

검색식 문의 드립니다.

타 증권사를 이용하다 이번에 옮겨타게 되었는데 타 증권사에서 사용하던 수식에 대해 문의 드립니다. '볼밴 상한선' 지표와 '일목균형표 기준선' 지표 모두를 shift함수를 이용하여 25일 이동시킨뒤, 당일 종가가 두지표를 모두 상향돌파하는 종목을 검색하는 검색식 수식 문의드립니다.
프로필 이미지
돈대크만
2018-01-31
181
글번호 116226
검색
답변완료

문의드립니다.

도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 시스템 손매매 청산용으로 만들어 보려는 식인데요. 시스템 실행시 컴퓨터 시간 5분전에 매수신호(허매수신호 만들기 위해) 청산 고가 -ATR*3 하향돌파시 매수청산 2. 지표 볼린저밴드 상하단(중단선 빼고)으로만 된 그물망 지표 부탁드립니다.
프로필 이미지
잡다백수
2018-02-01
274
글번호 116220
시스템
답변완료

고저점파동식을 응용한 지표식을 부탁드립니다

안녕하세요 아래식은 고저점을 이용한 파동식입니다 이식을 응용하여 고점과 저점의 중간값을 선으로 (이동평균선과 같은) 연속적으로 나타내게하는 지표식을 부탁드립니다 감사합니다 Input:length(2),종가사용여부(0),파동선두께(5),수치표시(1); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),tl2(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==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 { 최종고가 = 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]); TL2 = TL_New(고[2,3],고[2,4],고[2,1],고[1,3],고[1,4],고[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); PlaySound("F:₩예스트레이더소리₩띠웅.wav"); Text_SetStyle(Text1, 2, 1); Text_SetColor(Text1,BLACK); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,red); TL_SetSize(TL2,파동선두께); TL_SetColor(TL2,red); } 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]); TL_SetEnd(TL2,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = 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]); TL2 = TL_New(저[2,3],저[2,4],저[2,1],저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 2, 0); Text_SetColor(Text1,BLACK); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,blue); TL_SetSize(TL2,파동선두께); TL_SetColor(TL2,blue); } 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]); TL_SetEnd(TL2,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; }
프로필 이미지
bestkim
2018-01-31
229
글번호 116213
지표
답변완료

추가문의 드립니다.

안녕하세요 현재 예스스탁의 도움으로 아래와 같이 파라보릭 고저라인을 틱봉에서 사용하고 있습니다. 이것을 이용해서 data1은 1분봉, data2는 3분봉, data3는 5분봉으로 해서 1분봉과 3분봉, 그리고 5분봉 모두 5이평선이 (+)이고 파라보릭 고점을 돌파하면 매수, 그리고 틱봉상 하락하여 파라보릭이평을 돌파하면 청산. 그리고 하락시에도 똑같이 1분, 3분, 5분봉의 5이평선이 하락이고 파라보릭 저점을 깨면 진입, 상승해서 파라보릭이평을 돌파하면 청산하는 시스템을 부탁드립니다. 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 var1 > C Then Plot1(value1, "SAR",BLUE); Else Plot1(value1, "SAR",RED);
프로필 이미지
에헤라디야
2018-01-31
172
글번호 116209
시스템