커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

옵션교차차트관련 45226번 재문의

45226번 관련해서 수식을 참고해 다음과 같은 수식을 작성한후, 양옵션들이 교차할경우 차트에 각각 표시하여야하나, 첨부파일처럼 분명 c242와 p242가 교차하고, c245와 p240이 교차하는데도, 차트에는 c242와 p242에만 2개의 교차가 표시됩니다... c242와p242, c245와p240 각각 표시되는 방법을 부탁드립니다. data1=c242 data2=p242 data3=c245 data4=p240 일 경우 아래와 같이 수식을 작성, 적용하였습니다. if crossup(data1(c),data2(C)) or crossup(data1(c),data4(C)) Then var1 = C; if CrossDown(data1(c),data2(C)) or CrossDown(data1(c),data4(C)) Then var1 = C; if crossup(data3(c),data2(C)) or crossup(data3(c),data4(C)) Then var3 = C; if CrossDown(data3(c),data2(C)) or CrossDown(data3(c),data4(C)) Then var3 = C; plot1(var1); plot2(var3);
프로필 이미지
관람자
2015-12-07
284
글번호 93131
지표
답변완료

문의드립니다.

Input : RSIP(9), Period(14),dv(2); var : RSIV(0),Mid(0),BBup(0),BBdn(0); RSIV = RSI(RSIP); Mid = ma(RSIV,Period); BBup = Mid+STD(MId,Period)*dv; BBdn = Mid-STD(MId,Period)*dv; Plot1(RSIV, "RSI"); Plot2(Mid, "BBmid"); Plot3(BBup, "BBup"); Plot4(BBdn, "BBdn"); PlotBaseLine1(30, "기준선 30", gray); PlotBaseLine2(70, "기준선 70", gray); .......................................................................... 상기 지표를 데이타2 참조지표로 가공해 주세요 2. inputs : ShowAll(true),굵기(0),상승(red),하락(blue); var : BoxTop(0), BoxBtm(0), Ctr(0), BBD(0), BBT(0), EBD(0), EBT(0), UpBand(0), DnBand(0), CurrState(1), TextId(-1), TopId(-1), TopIdP(-1), BtmId(-1), BtmIdP(-1), LSId(-1), LSIdP(-1), RSId(-1), RSIdP(-1), HiFirst(true), LoFirst(false), State1(false), State2(false), State3(false), State4(false), State5(false), DrawBox(false), ValidBox(false), HadBreak(false), NewBox(false); if index == 1 then begin BoxTop = high; BoxBtm = low; State1 = true; BBD = date; BBT = time; end; if NewBox and high > UpBand then begin BBD = date; BBT = time; TL_SetEnd(TopId, BBD, BBT, UpBand); TL_SetEnd(BtmId, BBD, BBt, DnBand); RSIdP = RSId ; RSId = TL_New(BBD, BBT, DnBand, BBD, BBT, UpBand); if ShowAll == false and RSIdP <> -1 then TL_Delete( RSIdP ) ; if HiFirst then TL_SetColor(RSId, 상승); else TL_SetColor(RSId, 하락); NewBox = false; State1 = true; LoFirst = false; HiFirst = true; end; if NewBox and low < DnBand then begin BBD = date; BBT = time; TL_SetEnd(TopId, BBD, BBT, UpBand); TL_SetEnd(BtmId, BBD, BBt, DnBand); RSIdP = RSId; RSId = TL_New(BBD, BBT, DnBand, BBD, BBT, UpBand); if ShowAll == false and RSIdP <> -1 then TL_Delete(RSIdP); if HiFirst then TL_SetColor(RSId, 상승) ; else TL_SetColor(RSId, 하락); NewBox = false; State1 = true; HiFirst = false; LoFirst = true; end; if HiFirst then begin if State4 then begin if high > BoxTop then begin BoxTop = high; State1 = true; State4 = false; CurrState = 1; end else begin if low < BoxBtm then begin State4 = false; State3 = true; BoxBtm = low; CurrState = 3; end else begin State4 = false; State5 = true; CurrState = 5; end; end; end; if State3 then begin if high > BoxTop then begin BoxTop = high; State1 = true; State3 = false; CurrState = 1; end else begin if low < BoxBtm then begin State3 = true; BoxBtm = low; CurrState = 3; end else begin State3 = false; State4 = true; CurrState = 4; end; end; end; if State2 then begin if high > BoxTop then begin BoxTop = high; State1 = true; State2 = false; CurrState = 1; end else begin State2 = false; State3 = true; BoxBtm = low; CurrState = 3; end; end; if State1 then begin if high > BoxTop then begin BoxTop = high; State1 = true; CurrState = 1; end else begin State1 = false; State2 = true; CurrState = 2; end; end; end else begin #{ Using LoFirst } if State4 then begin if low < BoxBtm then begin BoxBtm = low; State1 = true; State4 = false; CurrState = 1; end else begin if high > BoxTop then begin State3 = true; State4 = false; BoxTop = high; CurrState = 3; end else begin State4 = false; State5 = true; CurrState = 5; end; end; end; if State3 then begin if low < BoxBtm then begin BoxBtm = low; State1 = true; State3 = false; CurrState = 1; end else begin if high > BoxTop then begin State3 = true; BoxTop = high; CurrState = 3; end else begin State3 = false; State4 = true; CurrState = 4; end; end; end; if State2 then begin if low < BoxBtm then begin Boxbtm = low; State1 = true; State2 = false; CurrState = 1; end else begin State2 = false; State3 = true; BoxTop = high; CurrState = 3; end; end; if State1 then begin if low < BoxBtm then begin BoxBtm = low; State1 = true; CurrState = 1; end else begin State1 = false; State2 = true; CurrState = 2; end; end; end; #{ END IF HIFIRST OR LOFIRST } if State5 then begin DrawBox = true; EBD = date; EBT = time; end; if DrawBox then begin TopIdP = TopId; BtmIdP = BtmId; LSIdP = LSId; TopId = TL_New(BBD, BBT, BoxTop, EBD, EBT, BoxTop); BtmId = TL_New(BBD, BBT, BoxBtm, EBD, EBT, BoxBtm); LSId = TL_New(BBD, BBT, BoxBtm, BBD, BBT, BoxTop); TL_SetSize(TopId,굵기); TL_SetSize(BtmId,굵기); TL_SetSize(LSId,굵기); TL_SetSize(RSId,굵기); if ShowAll == false then begin if TopIdP <> -1 then TL_Delete(TopIdP); if BtmIdP <> -1 then TL_Delete(BtmIdP); if LSIdP <> -1 then TL_Delete(LSidP); end; if HiFirst then begin TL_SetColor(TopId, 상승); TL_SetColor(BtmId, 상승); TL_SetColor(LSId, 상승); end else begin TL_SetColor(TopId, 하락); TL_SetColor(BtmId, 하락); TL_SetColor(LSId, 하락); end; State1 = false; State2 = false; State3 = false; State4 = false; State5 = false; DrawBox = false; ValidBox = true; end; if ValidBox then begin UpBand = BoxTop; DnBand = BoxBtm; ValidBox = false; NewBox = true; BoxTop = high; BoxBtm = low; end; if HiFirst then TextId = Text_New(date, time, high * 1.0005, NumToStr(CurrState, 0)); else TextId = Text_New(date, time, low * 0.9995, NumToStr(CurrState, 0)); .............................................................................. 2번 지표를 실행하다 보면 화면에 1,2,3,4,5 라고 나타나는데 보기 너무 불편하더라구요. 숫자들 안보이게 해주세요 그리고 박스 상단 가격과 하단 가격이 챠트상에 나타날수 있게 해주세요 (박스 상하단 주위에 자동적으로 뜰수 있게) 부탁 드립니다 3. input : MACDP1(12),MACDP2(26),MACDP3(9),WmaP1(10),WMAP2(20),STo1(10),Sto2(5); var1 = macd(MACDP1,MACDP2); var2 = ema(var1,MACDP3); var3 = Wma(C,wmaP1); var4 = wma(c,wmaP2); var5 = StochasticsK(sto1,sto2); if var1 > var2 and var3 > var4 and var5 > 50 And (crossup(var1,var2) or crossup(var3,var4) or crossup(var5,0)) Then buy(); if var1 < var2 and var3 < var4 and var5 < 50 And (CrossDown(var1,var2) or CrossDown(var3,var4) or CrossDown(var5,0)) Then sell(); 상기 시스템식에 아래 지표를 결합 시키고 싶네요 지표 내용은 rsi 50이상이면 매수 50이하면 매도 입니다. 상기시스템식과 아래 지표를 결합해 주세요 Input : Period(14); var : RSIV(0); RSIV = RSI(Period); if RSIV >= 50 Then Plot1(RSIV, "RSI",RED); Else plot1(RSIV,"RSI",blue); PlotBaseLine1(50); 너무 많은 질문을 드린것 같아 죄송합니다 감사합니다
프로필 이미지
회원
2015-12-08
184
글번호 93130
지표
답변완료

지표요청 드립니다

* 월봉,주봉,일봉 직선요청드립니다.(선이 3개가 나와야 합니다. 겹치는선 있을수 있습니다) 월봉: 해당전월의 평균가 주봉: 해당전주의 평균가 일봉: 3일 펑균가 ▶ 평균가기준:싯가+종가/2 ▶ 2분봉 으로 매매 하는데요.....오늘 실적은 반영 안되고 하고 전일 실적 까지 월봉,주봉,일봉 3개의 평균봉 직선이 필요 합니다 (그래프에 기준선 직선으로 표시) ▶ 변수는 3개다 만들어주세요(월봉(3), 주봉(5), 일봉(5) 조정해가면서 쓰게요...) → 월봉(3): 3개월 평균가 모두합 / 3 → 주봉(5): 5개주 평균가 모두합 / 5 → 일봉(5): 5일간 평균가 모두합 / 5 * DataCompress 차트에 적용된 데이터의 주기를 반환 (틱봉 :0, 초봉:1, 분봉:2, 일봉:3, 주봉:4, 월봉:5,) 이걸로 써야 하나요? 아니면 * if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then 이걸로 써야 하나요? 많은 도움 고맙습니다!
프로필 이미지
요타
2015-12-07
175
글번호 93129
지표
답변완료

문의

plot1(test, "test",darkmagenta,def,2); 로 하면 에러가 납니다 plot1(test, "test",Lmagenta,def,2); 로 하면 에라가 안납니다 yes 도움말 파일에 색상예약어로 darkmagenta가 있는데 에라 나는 이유는 뭔가요??
프로필 이미지
gagamel
2015-12-07
150
글번호 93128
지표

오늘도수익 님에 의해서 삭제되었습니다.

프로필 이미지
오늘도수익
2015-12-07
11
글번호 93127
지표
답변완료

급하게 문의 하나 드립니다.

아래와 같은 내용으로 지난 주 문의 드린 적이 있었는데, 약간의 수정이 필요 할 것 같아서 번거롭지만 다시 한번 질문 드립니다. -------------------------------------------------------------------------------------- 해외선물 크루드오일 10분봉 서울시간 기준. 21:00 시가 ~ 22:00종가 까지 움직인 폭을 A라고 하였을 때, (예> 21:00 시가 -> 40.50, 22:00 종가 -> 41.00이면 움직인 폭은 0.50이므로 A=0.50) 21:00 시가 ~ 22:00종가 기준의 최고점에서 위로 변동폭 A(0.50)만큼 돌파하면 그 지점에서 매수진입 21:00 시가 ~ 22:00종가 기준의 최저점에서 아래로 변동폭 A(0.50)만큼 돌파하면 그 지점에서 매도진입 (예> 21시~22시 사이 최고점이 41.00이고 최저점이 40.00이라고 할 경우, 최고점인 41.00에서 0.50위인 41.50에 매수로 진입. 반대로 매도의 경우 최저점인 40.00에서 0.50 아래인 39.50에 매도로 진입합니다.) 이익실현과 손절은 21시~22시 사이 움직인 폭인 A(0.50P)를 기준으로 잡습니다. 매매는 하루1회. 이익실현, 손절이 되지않은 경우 밤 12시 청산입니다. 복잡하지만 최대한 풀어서 설명드렸으니 정확한 수식 좀 부탁 드리겠습니다. -------------------------------------------------------------------------------------- 아 그리고 수식 밑에 주석도 좀 달아주시면 정말 감사감사 하겠습니다.
프로필 이미지
정호열
2015-12-07
194
글번호 93126
시스템
답변완료

문의드립니다

안녕하세요. 차트속성에 설정되어 있는 전체봉개수에 대한 최고가와 최저가를 지정하는 랭게이지가 있나요? 수고하세요.
프로필 이미지
land22
2015-12-06
132
글번호 93125
지표
답변완료

옵션 수평선 문의요

옵션이 시가대비 15% 내려왔을 경우 수평선이 생기고 음성 나오게 할수잇나요?
프로필 이미지
장군777
2015-12-06
182
글번호 93124
지표
답변완료

부탁드립니다.

A지표가 먼저 발생이되고난후(유지되는상황)의 B 지표는 유효하며 B지표가 A지표보다 같거나 먼저 발생이되면 무시하는 조건문을 부탁드립니다.
프로필 이미지
vmfha
2015-12-06
134
글번호 93123
시스템