커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

타주기 시스템

항상 감사드립니다. 아래식을 이용하여 타주기 시스템식을 만들고 싶습니다 Input: DIP(30); var : DP1(0),DM1(0),ZZ(0); DP1 = ema(iff(H-H[1]>0 && H-H[1]>L[1]-L,H-H[1],0),DIP)/ ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100; DM1 = ema(iff(L[1]-L>0 && H-H[1]<L[1]-L,L[1]-L,0),DIP)/ ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100; ZZ=ema(accum(ema(ema(DP1-DM1, 2), 2)),24); 타주기챠트에서 dp1>dp2 이면 var10=1 dp1<dp2 이면 var10=-1 감사합니다
프로필 이미지
조민철
2016-03-28
148
글번호 96635
시스템
답변완료

이평선 막대그래프의 반전 지표 부탁드립니다

사진 첨부하였습니다~ 60일 이평선을 막대그래프로 설정해놓고 아래에서는 매도 위에서는 매수를 하려고 합니다. 캔들이 60이평선 아래로 내려가니 잘 보이지 않아서 막대 그래프가 위로 향하게 하는 수식 주탁드립니다.. 차트를 2개 띄어놓고 하나는 이평선 막대그래프가 밑으로 향하고 다른 하나는 막대그래프가 위로 향하게 해서 매매하고 싶습니다^^ 차트를 뒤집는 것은 아니구요 이평선도 그대로인 상태로 막대그래프만 그렇게 할 수 있을까요? 감사합니다~!
프로필 이미지
yagm
2016-03-28
258
글번호 96634
지표
답변완료

수식 부탁드립니다

현재 포함 5캔들 이내 바닥+1.00 선 그리기 현재 포함 5캔들 이내 천정-1.00 선 그리기 5캔들과 1.00 은 input 문으로 외부 변수 지정 감사합니다
프로필 이미지
회원
2016-03-28
206
글번호 96628
지표
답변완료

다시 문의드립니다

감사드립니다 다시문의드립니다 input : dd(0); if h[1] > h[2] and C < (H[1]+L[2])/2 Then sell(); if L[1] < L[2] and C > (L[1]+H[2])/2 Then buy(); if MarketPosition == 1 Then{ ExitLong("수손절",AtStop,L[BarsSinceEntry]);//AtStop, //매수청산 역지정가 포지션진입이루경과한바수 var1 = Floor((Highest(H,BarsSinceEntry)-EntryPrice)/0.5); //소수부분을내림한정수 포지션진입이루경과한바수 포지션진입가격 if var1 >= 1 Then ExitLong("수수익2",AtLimit,EntryPrice+0.2*var1); } if MarketPosition == -1 Then{ ExitShort("도손절",AtStop,H[BarsSinceEntry]); if var1 >= 1 Then ExitShort("도수익2",AtLimit,EntryPrice-0.2*var1); } 다시 질문드립니다 0. 매매시간을 아침9시05분 부터 오후 1시30분까지로 정하고요 1. 매수신호가 나온 봉의 저과와 1봉전에 저가를비교하여 더작은값을 기준으로 예로 둘중작은값이 250.00이면 현재가가 같다면 청산하지말고 한틱더0.05 떨어지면 손절로 부탁드립니다 매도일일 경우에도 반대로도부탁드립니다 2. 매수신호가 나온 이후에 손절또는익절 되기전에는 매수신호든 매도신호든 무시해야합 니다 매도일 경우에도요 3. 수수익2 도수익2만 다시 부탁드립니다 시뮬레이션결과가 이상합니다 예로250.00에 매수진입후에 0.50상승하면 250.50입니다 위에input: dd(0.50)설정 설정값을만족하고나서 0.30이 하락하면 250.20에 수익청산 하여야합니다 만약 0.25까지만 떨어지고 다시올라가서 250.50 돌파하여 0.05한틱 올라가면값은250.55 그러면 250.55 에서 0.30 떨어지면250.25값에 수익청산 입니다 한마디로 기준 0.50이상부터 고가를 갱신할때마다 고가에서 -0.30에 수익청산입니다 청산가0.30도 input 부탁드립니다 매도진입도 반대로 부탁드립니다 수식 설명도 부탁드립니다 항상 수고하십니다 감사합니다
프로필 이미지
파파리리
2016-03-28
136
글번호 96627
시스템
답변완료

문의

Sell(); }
프로필 이미지
sefswef
2016-03-28
135
글번호 96622
시스템
답변완료

문의 드립니다.

안녕하세요? 시스템초보입니다. ㅎㅎ 간단한 내용인데도 아직 많이 어려워서요 1.일단 눌림목 캔들을 잡아먹을때 진입하는 컨셉인데요(2번) 진입 직전봉을 참조해야 하는데 어떻게 하나요?(1번) (1번봉 저가-1틱)을 스탑로스로 지정하려고 하거든요 If MarketPosition == 1 Then { ExitLong("스탑",AtStop,L[1] - PriceScale); } If MarketPosition == -1 Then { ExitShort("스탑2",AtStop,H[1] + PriceScale); } 어렇게 하니까 엉뚱한 스탑이 걸리네요 2.2번처럼 되는 경우도 있지만 돌파하는 척하고 음봉으로 마감하는 경우가 있는데요 -(매수일경우)돌파진입했는데 음봉으로 끝날 경우 종가에 탈출 => 바로 직전포지션과 반대로 진입(즉 매도진입, targetprofit은 탈출봉의 H-L) -(매도일경우)돌파진입했는데 양봉으로 끝날 경우 종가에 탈출 => 바로 직전초지션과 반대로 진입(즉 매수진입, targetprofit은 탈출봉의 H-L) 이건 어떻게 만들면 되나요? 3.마지막으로 3,4번처럼 MACD가 '0'기준으로 전환될때 첫 2개봉의 색깔로 필터링하려는데요 (3,4번처럼 MACD양전환하면서 캔들도 양봉이면 진입신호 인정하지만 아닌경우 즉, MACD양전환인데 첫캔들 2개가 다 음봉인 경우는 다시 MACD전환될때까지 스킵) 이것도 좀 부탁드릴게요 감사합니다~
프로필 이미지
폴폴
2016-03-28
195
글번호 96617
시스템
답변완료

안녕하세요

잘 몰라서 질문합니다 1번질문 5선이동평균선하고 20선이동평균선이 골든크로스가 나면 골든난 신호가 나오고 신호나온 캔들위에 매수글자하고가격이 텍스트로 같이 캔들하고 겹치기 않게 위쪽에 이런식으로 텍스트표시 5선이동평균선하고 20선이동평균선 데드크로스 나면 데드난 신호가 나오고 나온 캔들밑에 매도글자하고가격이 같이 텍스트로 같이 캔들하고 겹치기 않게 아랫쪽에 이런식으로 숫자표시 신호하고 텍스트하고 같이 뜨게 해주시면 감사하겠습니다 캔들하고 겹치지 않게 해주세요 2번 질문 5선이동평균선하고 20선이동평균선이 골든크로스가 나면 골든난 신호가 나오고 신호나온 캔들위에 매수글자하고가격이 텍스트로 같이 캔들하고 겹치기 않게 위쪽에 이런식으로 텍스트표시 빨간색으로 텍스트 표시나오게 부탁합니다 5선이동평균선하고 20선이동평균선 데드크로스 나면 데드난 신호가 나오고 나온 캔들밑에 매도글자하고가격이 같이 텍스트로 같이 캔들하고 겹치기 않게 아랫쪽에 이런식으로 숫자표시 파란색으로 텍스트 표시나오게 부탁합니다 신호하고 텍스트하고 같이 뜨게 해주시면 감사하겠습니다 캔들하고 겹치지 않게 해주세요 3번 질문 20선이동평균선 상승돌파하는 캔들이 나오면 돌파한 캔들 위에 매수글자하고가격까지 같이 윗쪽에 텍스트로 나오게 해주세요 20선이동평균선 하락돌파하는 캔들이 나오면 하락돌파한 캔들 위에 매도글자하고가격까지 같이 윗쪽에 텍스트로 나오게 해주세요 캔들하고 겹치지 윗쪽에 나오게 해주세요 4번 질문 20선이동평균선 상승돌파하는 캔들이 나오면 돌파한 캔들 위에 매수글자하고가격까지 같이 윗쪽에 텍스트로 빨간색으로 나오게 해주세요 20선이동평균선 하락돌파하는 캔들이 나오면 하락돌파한 캔들 위에 매도글자하고가격까지 같이 윗쪽에 텍스트로 파란색으로 나오게 해주세요 캔들하고 겹치지 윗쪽에 나오게 해주세요 5번 질문 20선이동평균선 상승돌파하는 캔들이 나오면 그 다음 캔들에서 20선이동편균선을 종가상 안착하면 매수글자하고가격까지 같이 윗쪽에 빨간색으로 텍스트로 나오게 해주세요 20선이동평균선 하락돌파하는 캔들이 나오면 그 다음캔들이 20선이동평균선을 종가상 안착하면 매도글자하고가격까지 같이 윗쪽에 파란색으로 텍스트로 나오게 해주세요 캔들하고 겹치지 윗쪽에 나오게 해주세요 6번 질문 전일고가.전일저가.전일중심 당일시가.당일고가.당일저가.당일중심 캔들하고 겹치기 않게 윗쪽이든 오른쪽이든 텍스트로만 글자하고가격이 같이나오게 해주세요 잘 몰라서 질문이 많네요 1번-6번까지 질문인데요 바쁘시더라도 부탁 좀 드리겠습니다
프로필 이미지
강인함
2016-03-28
170
글번호 96616
시스템
답변완료

문위드립니다

첨부파일 대로 선이 하단부,중간,상단부 나오게해주시고요 시스템 수식도 부탁드립니다...하단선 돌파시매수,,,상단선 이탈시 매도로요 감사합니다 제가하다가 잘안돼서 도움요청합니다 RSI_BAND.yfu Inputs: Length(NumericSimple),TargetUpLevel(NumericSimple),TargetDnLevel(NumericSimple), NxtYn(NumericSimple), // 다음 봉의 값을 구하려면 1을 아니면 0을 넣어준다. oUpBand(NumericRef), // 주소전달방식임을 선언 oDnBand(NumericRef), // 값을 입력받는게 아니라 여기에 결과값을 채워서 반환한다. oMidLine(NumericRef); // 변수명 앞에 소문자를 o를 붙인 것은 output 변수입을 나타냅니다. Variables: Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0),MidLevel(0); If CurrentBar == 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = C[Counter] - C[Counter+1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / Length; DownAvg = DownSum / Length; End Else If CurrentBar > 1 AND Length > 0 Then Begin UpAmt = C[0] - C[1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then Value1 = 100 * UpAvg / (UpAvg + DownAvg); Else Value1 = 0; If nxtYn == 1 Then // 다음 봉 여부가 1일 경우 { If Value1 > TargetUpLevel Then // 상단밴드 oUpBand = (((TargetUpLevel - 100) / TargetUpLevel * UpAvg) + DownAvg) * (Length - 1) + C; Else oUpBand = ((TargetUpLevel / (100 - TargetUpLevel) * DownAvg) - UpAvg) * (Length - 1) + C; If Value1 > TargetDnLevel Then // 하단밴드 oDnBand = (((TargetDnLevel - 100) / TargetDnLevel * UpAvg) + DownAvg) * (Length - 1) + C; Else oDnBand = ((TargetDnLevel / (100 - TargetDnLevel) * DownAvg) - UpAvg) * (Length - 1) + C; MidLevel = (TargetUpLevel + TargetDnLevel) / 2; // 중간라인 If Value1 > MidLevel Then oMidLine = (((MidLevel - 100) / MidLevel * UpAvg) + DownAvg) * (Length - 1) + C; Else oMidline = ((MidLevel / (100 - MidLevel) * DownAvg) - UpAvg) * (Length - 1) + C; } Else // 다음 봉 여부가 0인 경우 { If Value1[1] > TargetUpLevel Then oUpBand = (((TargetUpLevel - 100) / TargetUpLevel * UpAvg[1]) + DownAvg[1]) * (Length - 1) + C[1]; Else oUpBand = ((TargetUpLevel / (100 - TargetUpLevel) * DownAvg[1]) - UpAvg[1]) * (Length - 1) + C[1]; If Value1[1] > TargetDnLevel Then oDnBand = (((TargetDnLevel - 100) / TargetDnLevel * UpAvg[1]) + DownAvg[1]) * (Length - 1) + C[1]; Else oDnBand = ((TargetDnLevel / (100 - TargetDnLevel) * DownAvg[1]) - UpAvg[1]) * (Length - 1) + C[1]; MidLevel = (TargetUpLevel + TargetDnLevel) / 2; If Value1[1] > MidLevel Then oMidLine = (((MidLevel - 100) / MidLevel * UpAvg[1]) + DownAvg[1]) * (Length - 1) + C[1]; Else oMidline = ((MidLevel / (100 - MidLevel) * DownAvg[1]) - UpAvg[1]) * (Length - 1) + C[1]; } RSI_BAND = 1; //사용자함수는 반환값이 있어야 한다고 했습니다. // oUpBand, oDnBand, oMidLine 는 메모리 주소이지 반환값이 아닙니다. // 그래서 마지막에 아무 값이나 넘겨 줘야 하기 때문에 그냥 1을 넣어 줬습니다. [
프로필 이미지
이공주7
2016-03-28
325
글번호 96615
지표
답변완료

도움을 청합니다

안녕하세요 첨부그림처럼를 만들려고 합니다 쉽지가 않네요 도와주세요. 비슷하게라도 나오면 좋겠습니다
프로필 이미지
시월
2016-03-28
160
글번호 96614
지표