커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

지표수식 부탁드립니다.

안녕하세요. 항상 도움 주셔서 감사합니다. 지표의 값을 수치로 화면에 표시하고 싶습니다. 종목 : 해선 차트 : 10분 요청1) 가령 이동평균선, RIS, MACD, ADX, CCI, ATR, TRix, 일목균형표 등 각 지표의 값들을 차트에 표시하고 싶습니다. 요청2) 각 지표의 값들을 차트 우측상단, 좌측상단, 우측하단, 좌측하단에 표시하는 방법도 같이 설명 부탁드립니다. 요청3) 각 지표값 표시할때 지표값과 함께 아래와 같이 표시하고 싶습니다. 표시 예) RSI(14) 수치 : 75, 상태 : 매수 (만약에 수치가 25이면 상태 : 매도) - 매수, 매도 기준 70,30 MACD(12,26) 수치 : 1, 상태 : 매수 (만약에 수치가 0선 아래면 상태 : 매도) - 매수, 매도 기준 0선 ADX(14) 수치 : 25, 상태 : 매수 (만약에 수치가 20보다 작으면 중립) - 매수, 매도 기준 ADX 값 20 - 매수, 매도판단은 DMI로 같이 판단 요청4) 샘플로 이평5, 이평10, RSI, MACD, ADX 총 5가지 지표를 화면에 표시 하는 수식 부탁드립니다. 이평(5) : 수치 : 25, 상태 : 매수 이평(10) : 수치 : 20, 상태 : 매수 RSI(14) : 수치 : 75, 상태 : 매수 MACD(12,26) : 수치 : -2, 상태 : 매도 ADX(14) : 수치 15, 상태 : 중립 매수(3), 매도(1), 중립(1) 요약 : 매수 (매수가 3이상이면 요약은 매수, 매도가 3이상이면 매도) 위와 같이 표시하고 싶습니다. P.S - 만약에 지표의 상태값(매수,매도)들을 var1,var2,var3,var4,var5 에 1또는 0으로 저장한다고 할때 for문을 사용하여 변수명을 변경하면서 카운팅 할수 있나요? 수식도움 부탁드립니다. 감사합니다.
프로필 이미지
양치기
2020-03-20
548
글번호 137051
지표
답변완료

번호 66516 에관련 질문입니다

지표및 시스템수식에서 시작일자및시작시간 적용 부탁드리며 지표가 오실레이터로 표시되게 해주시고 수식에대한 설명을해주시면 감사하겠습니다
프로필 이미지
수색대대
2020-03-20
410
글번호 137046
지표
답변완료

항상 고맙습니다. 코로나 조심~~

안녕하세요? 해선입니다. 1) 매수진입 조건 : 이평 120일선이 우상향 중이고, 5이평선은 120일선 아래 있고, 두 이평선의 이격 거리는 10이상이고, 두 이평선 위에서 양봉 발생시. 진입 2) 매수청산 조건. : 진입 봉 전 5봉이내, 진입후 5봉이내 최저가격을 종가가 하향 이탈시 3) 매도진입 조건 : 이평 120일선이 우 하향 중이고, 5이평선은 120일선 위에 있고, 두 이평선의 이격 거리는 10이상이고, 두 이평선 아래서 음봉 발생시. 진입 4) 매도청산 조건 : 진입 봉 전 5봉이내 , 진입후 5봉이내 최고가격을 종가가 상향 돌파시 5) 익절 조건 20틱 수익 발생시 6) 손절 조건. 20틱 손실 발생시 7) 청산 : 10틱 이상 수익발생후. 20틱 하락시 8) 하루 40틱 수익 발생시 더이상 진입 금지 9) 하루 40틱 손실 발생시 더이상 진입 금지
프로필 이미지
하늘북
2020-03-20
426
글번호 137045
시스템
답변완료

수식부탁드립니다

$,안녕하세요,관리자님 ㅡ,아래식은 월간기간 변수조절하는 로직입니다 이를 년간기간 변수조절하는 식으로 부탁드립니다 var : 고점(0),저점(0),hh(0),ll(0),hh1(0),ll1(0),oo(0); Array : Tx[38](0); input : n(3); var : month(0),TF(0),s1(0); month = Floor(FracPortion(bdate/10000)*100); TF = (Month-1)%n; if Month != month[1] and TF == 0 Then { oo = O; hh = h; ll = l; hh1 = hh[1]; ll1 = ll[1]; } if h > hh Then hh = h; if l < ll Then ll = l; if hh1 > 0 and ll1 > 0 then { 고점 = hh1; 저점 = ll1; var1 = 고점-저점; $,관리자님 건강과 행운을 기원드리며, 언제나 늘 고맙습니다.
프로필 이미지
회원
2020-03-20
456
글번호 137044
지표
답변완료

매도 청산 수식 부탁드려요

매수에 대한 청산 수식인데요.. if MarketPosition == 1 then { BuySetup = false; if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*즉시익절1 and C < O Then ExitLong("즉시익절1",OnClose); # 즉시익절값에 도달후 다음봉이 음봉일때 청산 (양봉시 계약유지) 변경요청식: 즉시익절값에 도달후 다음봉이 양봉일때 청산 (음봉시 계약유지) if highest(H,BarsSinceEntry) >= (EntryPrice+PriceScale*즉시익절1*N2) Then ExitLong("본전청산1",AtStop,EntryPrice+PriceScale*즉시익절1*N3); Else ExitLong("즉시손절1",AtStop,EntryPrice-PriceScale*즉시손절1); # (즉시익절값*N2)수치에 도달시 부터 (즉시익절1*N3)로 떨어졌을때 청산 # 즉시 손절1 값도달시 즉시 청산 변경요청식: 위와 같은 컨셉의 요청식( 매도 버전으로) if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*tr수익 Then ExitLong("tr",AtStop, highest(H,BarsSinceEntry)-PriceScale*tr하락); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*즉시손절1*N4 and C < O Then ExitLong("저점에서 올라와서 본전 청산",atlimit,EntryPrice+PriceScale*본전생각틱); # 트레일링 청산 # 하락후 본전근처에 왔을때 청산 변경요청식: 위와 같은 컨셉의 요청식( 매도 버전으로) 매도진입후 매도 청산 수식도 위와 같은 형태로 운용하고 싶습니다. 나름대로 해봤는데 오류가 생겨서 부탁드리는 사항입니다.
프로필 이미지
이형지
2020-03-20
509
글번호 137043
시스템
답변완료

부탁 드립니다.

늘 도움에 감사 드립니다. 타주기(분봉용)으로 부탁 드립니다. input : p(20),sig(5); var1=ma(c,p); var2=c-var1; var3=ma(var2,sig); 참고자료) input : ntime(10),P(20),sig(3); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : sum1(0),i1(0),sum2(0),i2(0),sum3(0),sum4(0); Array : C1[100](0),O1[100](0),v61[100](0),v51[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime;
프로필 이미지
yes
2020-03-20
473
글번호 137041
지표
답변완료

부탁드립니다.

항상 감사드립니다. 아래식은 익절시 +30, 손절시 -40씩 증가하게 카운트를 하고 있습니다. (0 이하이면 0으로 수렴) AA(300) 이상이 되면 BB(100) 도달시 까지 B1■, B2■ 와 같이 ■가 포함되게 표시하고 싶습니다. BB(100) 도달후에는 AA(300)이상이 되기 전까지 B1, B2 로 표시 그럼 부탁드립니다. input: BB(100), AA(300); Input : 손절(10),익절(10),익절하락(3); input : P1(30), P2(120), p3(240); input : StartTime(090000),EndTime(050000); var : tx(0),X(false),Tcond(false),tt(0); var1 = ma(C, P1); var2 = ma(C, P2); var3 = ma(C, P3); ######## 진입제한 if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then { Tcond = true; } if (sdate != sdate[1] and stime >= Endtime) or (sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)Then { Tcond = false; } ## 진입 if Tcond == true and marketposition == 0 and crossup(var1,var2) Then { if Condition1 == true and tt > BB then buy("B1■"); Else buy("B1"); } if Tcond == true and marketposition == 0 and crossdown(var1,var2) Then { if Condition1 == true and tt > BB then sell("S1■"); Else sell("S1"); } if Tcond == true and marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then { if Condition1 == true and tt > BB then buy("B2■"); Else buy("B2"); } if Tcond == true and marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then { if Condition1 == true and tt > BB then sell("S2■"); Else sell("S2"); } ## 청산 if MarketPosition == 1 then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } if MarketPosition == -1 Then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } if ((sdate != sdate[1] and stime >= Endtime) or (sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)) Then { if MarketPosition == 1 Then { ExitLong("BE6"); } if MarketPosition == -1 Then { ExitShort("SE6"); } } ## 카운트 if TotalTrades > TotalTrades[1] then { if IsExitName("StopLoss",1) == true then { tt = tt - 40; if tt <= 0 Then { tt = 0; Condition1 = false; } if tt < AA then ### { tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0)); Text_SetSize(tx,20); Text_Setstyle(tx,2,20); } else { Condition1 = true; tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0)+"★"); Text_SetSize(tx,20); Text_Setstyle(tx,2,20); Text_SetColor(tx,MAGENTA); } } if IsExitName("StopTrailing",1) == true then { tt = tt + 30; if tt <= 0 Then { tt = 0; X = true; Condition1 = false; } if Condition1 == true and tt < BB then ### Condition1 = false; ### if tt < AA then ### { tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0)); Text_SetSize(tx,20); Text_Setstyle(tx,2,2); } else { tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0)+"★"); Text_SetSize(tx,20); //Text_SetSize 폰트 사이즈 Text_Setstyle(tx,2,2); //Text_Setstyle 좌우상하 정렬 Text_SetColor(tx,MAGENTA); } } } // 매매시간 이후 AA(★)부터 BB(-40)까지 마지막 지정
프로필 이미지
라떼처럼
2020-03-19
436
글번호 137039
시스템
답변완료

문의 드립니다.

안녕하세요. 다름이 아니오라 생각해놓은게 있는데 구현이 잘 안되서 문의드리고자 합니다. 문의 내용은 다음과 같습니다. 1. 현재봉의 종가가 금일고가를 상항돌파하면 매수 2. 현재봉의 종가가 금일저가를 하향돌파하면 매도 3. 금일고가를 돌파한 상태(매수주문이 들어간 상황)에서 3봉이상 종가가 낮아지면 매수청산(첨부1 참조) 4. 금일저가를 돌파한 상태(매도주문이 들어간 상황)에서 3봉이상 종가가 높아지면 매도청산(첨부2 참조) 이걸 if CrossUP(C, DayHigh(0)) then Buy(); if CrossDown(C, DayLow(0)) then Sell(); 이렇게 간단하게 할수 있을것 같았는데, 문제는 이렇게 하면 차트에 신호가 아예 안뜹니다. 어떻게 해야하는지 부탁드리겠습니다.
프로필 이미지
coralre2
2020-03-19
474
글번호 137038
시스템
답변완료

문의 드립니다.

안녕하세요 5일선이 일목의 기준선을 상향으로 돌파시 배경색을 빨강색 5일선이 일목의 기준선을 하향으로 돌파시 배경색을 파랑색 수식 문의 드립니다. 수고하세요.
프로필 이미지
백두에서한라
2020-03-19
447
글번호 137037
지표