커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 재문의

안녕하세요. 추석 연휴 잘 보내셨는지요. 아래와 같은 수식을 문의 드립니다. -------------- XX시 XX분 부터 ~~ AA시 AA분 까지의 최고값, 최저값, 중간값(최고+최저/2) 을 선으로 긋는 수식을 얻고 싶습니다. XX시 XX분 부터 선이 시작한 뒤 AA시 AA분이 지나면 더이상 선을 긋지 않습니다. 다음날 XX시 XX분이 되면 다시 선을 그어 줍니다. ----------- 위의 내용으로 일전, 아래와 같은 수식을 얻었는데요, 수정을 부탁드립니다. input : AA(133000); if date != date[1] Then{ var1 = H; var2 = L; } if stime < AA Then{ if H > var1 Then var1 = h; if L < var2 Then var2 = L; var3 = (var1+var2)/2; plot1(var1,"최고값"); plot2(var2,"최저값"); plot3(var3,"중간값"); } 차트에서 특정구간에만 지표를 표시하고자 하시면 점그래프나 일자그래프와 같이 이전 출력지점과 연결이 되지 않는 그래프 종류로 설정하셔야 합니다. 풍성한 한가위 되시길 기원합니다. 즐거운 하루되세요
프로필 이미지
흑수돌
2013-09-23
184
글번호 67736
지표
답변완료

식 부탁드립니다.

조건 1. 지수이동평균선 input(38) 2. 볼린저밴드(예스트레이더에서 제공되는 지표식) 3. 채널 : 25일 고점과 25일 저점으로 부터 연장되는 선 진입 위 조건 모두 돌파시 청산 1.MACD Oscillator(히스토그램) 다이버전스 2.종가가 38이평선 반대(매수포지션일 경우 38이평 CrossDown, 매도포지션의 경우 그 반대) PS : 부끄럽지만 제가 추석연휴 이틀간 씨름하다 완성 못했습니다. 부탁드립니다.
프로필 이미지
뉴휴먼
2013-09-23
205
글번호 67735
시스템
답변완료

다시 봐 주십시요.

아래 청산을 수정해 주셨는데요. 다시 봐주세요. bx1, bx2 청산은 되는데 나머지는 안되는 것 같습니다. 특히, +2일 09:40은 확실히 청산이 안됩니다. 감사합니다. ============================== *현물, 분봉사용* <청산공통> -매수가 대비 5.5% 하락시 첫봉에 청산 <매수당일에 청산> -매수가 대비 4.5% 상승시 첫봉에 청산 <매수 +1일에 청산> -매수가 대비 7.5% 상승시 첫봉에 청산 -전일종가 대비5% 상승시 첫봉에 청산 -오늘 시가대비 3.5%이상 상승 후, 당일시가를 하락시 첫봉에 청산 <매수 +2일에 청산> -매수가대비 15% 상승시 첫봉에 청산 -전일종가 대비 10% 상승시 첫봉에 청산 -09:40 이후 첫봉에 청산 ========================== input : P(5); var : cnt(0),sum(0),sum1(0),mav(0),mav1(0),dis(0),dis1(0),daycnt(0),PredayVol(0); Var : Pivot(0),R1(0),R2(0),S1(0),S2(0); Pivot = (DayHigh(1)+DayLow(1)+DayClose(1))/3; sum = 0; sum1 = 0; for cnt = 0 to P-1{ sum = sum+DayClose(cnt); sum1 = sum1+DayClose(cnt+1); } mav = sum/P; mav1 = sum1/P; dis = c/mav*100; dis1 = DayClose(1)/mav1*100; for cnt = 1 to 1000 { if stime == stime[cnt] and sdate != sdate[cnt] then{ PredayVol = DayVolume[cnt]; cnt = 1001; } } if date != date[1] Then{ Daycnt = daycnt+1; var1 = dayopen/mav*100; } if dayopen <= DayClose(1)*1.01 and dayhigh <= dayopen*1.04 and dis1 >= 103 and ExitDate(1) != sdate and DayVolume < PredayVol*1 and var1 > 100 Then{ if stime >= 90000 and stime < 100000 and dis >= 100.5 and dis < 101.5 Then buy("b1",AtMarket); if stime >= 100000 and stime < 110000 and dis >= 100.5 and dis < 102.0 Then buy("b2",AtMarket); if stime >= 110000 and stime < 120000 and dis >= 100.5 and dis < 102.5 Then buy("b3",AtMarket); if stime >= 120000 and stime < 130000 and dis >= 100.5 and dis < 103.0 Then buy("b4",AtMarket); if stime >= 130000 and stime < 140000 and dis >= 100.5 and dis < 103.5 Then buy("b5",AtMarket); if stime >= 140000 and stime < 144800 and dis >= 100.5 and dis < 104.0 Then buy("b6",AtMarket); if stime >= 143000 and stime < 144800 and c < Pivot and dis >= 100.5 and dis < 104.5 Then buy("b7",AtMarket); } if MarketPosition == 1 Then{ if C <= EntryPrice*0.945 Then ExitLong("bx1",AtMarket); if EntryDate == sdate and C >= EntryPrice*1.045 Then ExitLong("bx2",AtMarket); if EntryDate > sdate and daycnt == daycnt[BarsSinceEntry]+1 Then{ if C >= EntryPrice*1.075 Then ExitLong("bx31",AtMarket); if C >= DayClose(1)*1.05 Then ExitLong("bx32",AtMarket); if dayhigh >= Dayopen*1.035 and CrossDown(c,DayOpen) Then ExitLong("bx33",AtMarket); } if EntryDate > sdate and daycnt == daycnt[BarsSinceEntry]+2 Then{ if C >= EntryPrice*1.15 Then ExitLong("bx41",AtMarket); if C >= DayClose(1)*1.10 Then ExitLong("bx42",AtMarket); if stime >= 94000 Then ExitLong("bx43",AtMarket); } }
프로필 이미지
쌀사비팔
2013-09-23
195
글번호 67734
시스템
답변완료

지표식.재질문입니다.

만들어 주신 식은 전의캔들값을 지금 자리에 그려 주는데 이게 사실은 전 캔들의 값이니 지금 자리에 그리지 말고 상위 전 캔들 자리에 그리도록 수정 부탁드립니다. 지금 자리는 기술상으로도 그릴 수가 없는 걸 지적하신대로 알기 때문입니다. 그러면 지금자리는 다음 30분봉 캔들이 완성되어야 그려 지겠지요.... 그리고 지금 자리는 선이 안 그려 지겠지요.... 제가 원하는 것입니다. ====================================== 안녕하세요 예스스탁입니다. 2개 모두 같은 식입니다. 아래식 적용하시면 됩니다. var1 = TimeToMinutes(stime)%30; if dayindex == 0 or (var1 < var1[1] and stime > stime[1]) Then{ value1 = H; value2 = L; value11 = value1[1]; value21 = value2[1]; } if H > value1 Then value1 = H; if L < value2 Then value2 = L; plot1(value11); plot2(value21); 수식에서 봉하나의 중간의 값을 인식해서는 수식을 작성할수 없습니다. 그러므로 틱봉의 경우 하나의 봉안에 시간의 경계가 포함되는 경우가 많아 틱봉에서 분봉의 지표를 그리는 경우 약간의 오차가 있을 수 있습니다. 즐거운 하루되세요 > 무지개나날들 님이 쓴 글입니다. > 제목 : 지표식 부탁입니다 > 틱차트에서 30분 직전 캔들의 고저점을 계단처럼 수평선으로 그리는 수식과 1분차트에서 30분 직전 캔들의 고저점을 계단처럼 수평선으로 그리는 수식을 부탁드립니다.
프로필 이미지
무지개나날들
2013-09-23
189
글번호 67733
지표
답변완료

문의있습니다.

다음 수식은 제가 선물 분봉, 틱챠트에서 사용하고 있습니다. 거래 지속되면서 한번이라도 진입한 신호가 0.4%의 손해가 나면(즉 1피 손절) 손절처리해주시고 그리고 손절처리가 첫번째 나오는 순간 그날은 더이상 신호진입이 되지 않도록 수식 추가 해주십시요 감사합니다. var : ii(0); Var2=0; For ii = 0 To 20{ Var1 = close[ii]; Var2 = Var1+var2; } Var3= ma(Var2,10); Var4= ma(Var3, 5); If crossup(Var3, Var4) Then buy("매수", Atmarket); If CrossDown(Var3, Var4) Then sell("매도", Atmarket);
프로필 이미지
회원
2013-09-23
162
글번호 67727
시스템
답변완료

질문있습니다

setstoploss(1, pointstop); 과 if marketposition==1 then exitlong("loss",atstop, entryprice-1); 과 시뮬레이션 상 차이가 발생합니다 두식간에 어떤 차이가 있는지 설명부탁드립니다
프로필 이미지
공부중
2013-09-23
174
글번호 67725
시스템
답변완료

재부탁드립니다.

고맙습니다. 아래 강조식에 따라 전환선이 기준선 위 아래에서 재차 상승하거나 하락할 경우, 다시 빨강 봉이나 파란 봉이 계속 구현될 수 있도록 부탁드립니다. 1. 강조식 Var : 기준선(0), 전환선(0); 전환선 = (Highest(High, 9) + Lowest(Low, 9)) / 2; 기준선 = (Highest(High, 26) + Lowest(Low, 26)) / 2; if crossup(전환선,기준선) Then var1 = 1; if var1 == 1 and 전환선 < 전환선[1] Then var1 = 2; if CrossDown(전환선,기준선) Then var1 = -1; if var1 == -1 and 전환선 > 전환선[1] Then var1 = -2; if var1 == 1 Then PlotPaintBar(H,L,"강조",RED); if var1 == 2 Then PlotPaintBar(H,L,"강조",BLUE); if var1 == -1 Then PlotPaintBar(H,L,"강조",blue); if var1 == -2 Then PlotPaintBar(H,L,"강조",RED);
프로필 이미지
서태공
2013-09-23
176
글번호 67722
강조
답변완료

지표식질문입니다

1틱 차트에서 N분 거래량 이평선을 만들고 싶습니다
프로필 이미지
파인애플
2013-09-23
178
글번호 67720
지표
답변완료

질문드립니다.

안녕하세요? 진입 후 강제청산을 하려고 합니다. 강제청산은 손익이 -1p가 되면 청산하는 식입니다. 예를 들어 매수 진입후에 스위칭으로 매도 전환시(-0.7pt 손실 난 상황) 다시 -0.3pt 손실이 나면 강제청산 되고 그 후로는 매매가 발생하지 않는 건대요. 이럴 경우 첫번째 거래 후 누적 손익이 +3pt가 발생한 상황이라면 그다음 매매 손실이 -4pt가 되지 않는 한 계속 포지션을 가지고 있게 됩니다. 저는 누적 손익도 -1pt에 닿으면 강제청산, 그리고 각각의 진입에 따른 강제청산도 -1pt로 하고 싶습니다. 위의 예로 보면 +3pt 수익이 난 상태에서 그다음 거래로 -1pt 손실이 발생하면, 누적 손익 +2pt에서 강제청산이 되는 셈이지요 답변 부탁드립니다. 감사합니다.
프로필 이미지
크레용빠
2013-09-23
173
글번호 67714
시스템