커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

지표식 문의드립니다

안녕하세요 아래 2개의 지표식은 키움에서 사용하던 것인데 1). A= MA(2*MA(C, Period/2, 가중) - MA(C, Period, 가중), Sqrt(Period), 가중); if(A>A(1),A,0) Period : 10 라인설정 이평 -> 빨강색, 유형-원, 2). HighestSince(1, CrossUp(macd(12,26),0), MA(2*MA(C, Period/2, 가중) - MA(C, Period, 가중), Sqrt(Period), 가중)) Period : 10 라인설정 이평 -> 빨강색, 유형-원, 위 2개의 지표식을 예스트레이더에서 사용 가능하도록 수정을 부탁드립니다 감사합니다 수고하세요
프로필 이미지
금보
2014-11-14
182
글번호 80386
지표
답변완료

문의드립니다.

선물차트기준으로 문의드립니다. 1 지수이평 60선과 현재가의 중간값을 수평선으로 나타내고 싶습니다. 2 현재시점의 당일의 고가와 저가의 중간값을 수평선으로 나타냈습니다. 이 선을 '중심선'이라 말한다면 당일의 저가와 '중심선'의 중간값을 수평선으로 나타내려면 어떻게 해야하는지요? 또한 당일의 고가와 '중심선'의 중간값을 수평선으로 나타내려면 어떻게 해야하는지요? 3. 위 2번에서 나온 수평선을 지수이평 14선이 골든크로스 할때를 '검색' 위 2번에서 나온 수평선을 지수이평 14선이 데드크로스 할때를 '검색'하려면 수식을 어떻게 작성해야 하는지요? 부탁드립니다. 수고하세요!!
프로필 이미지
해암
2014-11-14
142
글번호 80385
지표
답변완료

문의..

어제.. 답변. 감사드립니다.. 간단한 내용인데... 실제로 구현은 많이 어렵네요... 어제 답변해 주신 내용입니다.. 질문은 맨 아래에 있습니다... ///////////////////////////////////////////////////////////////// 안녕하세요 예스스탁입니다. 해당 내용 고민해 봤지만 상환이 여러가지로 만들어 질꺼 같은데 머리속에 잘 정리가 되지 않습니다. 식을 작성하기 위해서는 어느정도 식의 구도가 잡혀야 하는데 잡히지를 않습니다. 아래 내용이 식작성에 도움이 되셨으면 합니다. 가상손익은 기존과 같은 로직입니다. 매수나 매도조건이 발생하면 이전 가상진입의 손익과 봉수를 기준으로 진입할지 건너뛸지를 결정하고 반대방향으로 주문할지 조건과 같은 방향으로 주문을 할지 판단해 주문을 하게 됩니다. var : T(0),PL(0),PL1(0),EP(0),Bidx(0),Sidx(0),BuyPass(false),SellPass(false); var1 = data2(c); if (var1==2 or var1==5) then { #가상손익 계산 if T == -1 Then{ PL = EP-C; PL1 = PL[1]; } EP = C; T = 1; Bidx = index; BuyPass = false; if T == 1 and T[1] != 1 Then{ if Bidx < Sidx+12 and PL < 0 Then Buypass = true; //무포지션 상태이면 매수진입 if MarketPosition == 0 Then buy(); #매수상태에서 SellPass가 true였고 BuyPass가 true이면 매도로 스위칭 if MarketPosition == 1 and SellPass == true and BuyPass == true Then sell(); #매도상태에서 BuyPass가 false이면 매수로 스위칭 if MarketPosition == -1 and Buypass == false Then Buy(); } } if (var1==3 or var1==4) then { #가상손익 계산 if T == 1 Then{ PL = C-EP; PL1 = PL[1]; } EP = C; T = -1; Sidx = index; SellPass = false; if T == -1 and T[1] != -1 Then if Sidx < Bidx+12 and PL < 0 Then{ Sellpass = true; //무포지션 상태이면 매도진입 if MarketPosition == 0 Then sell(); #매도상태에서 buyPass가 true였고 SellPass가 true이면 매수로 스위칭 if MarketPosition == -1 and SellPass == true and BuyPass == true Then Buy(); #매수상태에서 SellPass가 false이면 매도로 스위칭 if MarketPosition == 1 and Buypass == false Then Sell(); } } 즐거운 하루되세요 > hjkang철인 님이 쓴 글입니다. > 제목 : 문의 > 지난번 비슷한 질문을 드렸었는데.. 좀 복잡하고 시간이 오래 걸린다고 하셔서... 환경을 조금 간단하게 마련했습니다...약간의 꼼수를 활용할수있게 도와주십시오. 다름이 아니라. 제가 시스템 식을 작성해보니 캔들이 12개 이내에서 신호가 발생하면 손실이 됩니다. 예전에는 가상으로 신호를 발생하고 그 신호가 수익이 되면 진입하게 신호를 내게 했었지만... 지금은 data2에서 신호를 받아서 매매신호를 내고 있습니다. data2 에서 발생하는 신호는 2,3,4,5 가 발생합니다. 2와 5의 데이타가 발생하면 매수. 3,4 는 매도로 진입합니다. 데이타의 빈도는 2 또는 4로 거의 이루어져 있습니다. var1=data2(c); if (var1==2 or var1==5) then buy("B"); if (var1==3 or var1==4) then sell("S"); 예를들어 제가 원하는 시스템 식은요.. 제 시스템 식은 B S B S B S 이렇게 번갈아가면서 계속 포지션을 가지고 있습니다. B발생 -> 12개 캔들이 발생하기 전에 positionprofit< 0 (현재손실) 이라면 다음 S발생(data2 가 3,4 값이라해도...)때 매도신호를 내지 않고 기존 매수신호 B 를 유지합니다.(12개 캔들이 발생하기전에 신호가 나오고 현재 손실이므로..) 그 이후 즉, data2가 3or 4로 바뀐이후 다시 12개 캔들이 지나기 전에 다시 신호가 나오면(data2가 2 or 5) 그때 매수를 매도로 강제로 바꿔서 냅니다. 계속 이렇게 12개 캔들이 발생하기 전에 신호가 나오면 반대로 신호를 낼수있게 부탁드립니다. 다시 정리하면 12개 캔들이 발생하기 전에 신호발생시 손실이라면 그 다음 신호 건너띄고 12개 캔들 발생전 신호 시 반대로 신호 나오면 됩니다. 그리고 이전 신호 진입가.. 즉 마지막에 매수를 진입했다면...직전 매도 진입가격을 넘어서서 떨어지면. 바로 매도스위칭될 수 있게, 마지막 매도신호 진입이라면 직전 매수 진입가격이 넘어서면 매수스위칭 될수있게 부탁드립니다... 부탁드립니다. ////////////////////////////////////////////////////////////////////////////////////// 신호를 반대로 하는게 어려우니.. 다른 질문드리겠습니다. 질문 1.. 제가 data2 에서 받는 신호는 2,5 매수. 3,4 매도 이었습니다.. var1=data2(c); if (var1==2 or var1==5) then buy("B"); if (var1==3 or var1==4) then sell("S"); 즉... data2를 열어보면... 222222222222224444444444442222222222444444444 이렇게 반복되어 나옵니다. 즉...2로 나오는 구간은... 매수고.. 4로 나오는 구간은 매도입니다. 여기서... 제가 원하는 것은.... 2->4로 바뀌는 캔들....4->2로 바뀌는 캔들에서만.. 신호가 발생하고... 두번째 4 나 두번째 2 인 구간은... 값은.. 매도. 매수 신호 발생또는 유지해야 하지만.. 첫번째 바뀌는 숫자가 아니므로... 그 이후에는 신호가 나오지 않게 부탁드립니다. 전체식 변경말고.. 바로 가까이 간단히..매수 매도 라고 되어있는 바로 윗식에서 변경 부탁드립니다. 질문2. 어제 안내해 주신내용에는 가상손익계산하는것이 들어가 있는데요.. 안내해주신 가상손익계산하는 것과... PositionProfit 을 이용하는것과의 차이점은 뭔가요?
프로필 이미지
hjkang철인
2014-11-14
189
글번호 80384
시스템
답변완료

검토 부탁드립니다.

아래는 시스템식을 어제 만들어 주신건데요... -전일 종가대비 -4.5%이하로 하락하여도 매수 신호가 안뜹니다. 다시 봐주세요. -그리고, 이 식을 틱 차트에서도 가능한지요? 틱으로 하려면 식이 달라지나요? 달라진다면 틱으로 가능한 식도 부탁드립니다. 감사합니다. =================================================================== if ExitDate(1) == sdate And stime >= 90000 and stime < 103000 and C <= DayClose(1)*0.955 Then buy(); if MarketPosition == 1 Then{ if C >= EntryPrice*1.045 Then ExitLong(); if highest(H,BarsSinceEntry) >= EntryPrice*1.03 and C <= highest(H,BarsSinceEntry)-(Highest(h,BarsSinceEntry)-EntryPrice)*0.2 Then ExitLong(); if C <= EntryPrice*0.955 Then ExitLong(); } 즐거운 하루되세요 > 쌀사비팔 님이 쓴 글입니다. > 제목 : 수식 부탁합니다. > -현물 1분봉 사용합니다. <매수조건> -09:00~10:30까지 -전일 종가 대비 -4.5%이하로 하락시, 첫봉에 매수 <청산조건> -매수가 대비 +4.5% 상승시, 첫봉에 청산 -매수가 대비 +3%이상 상승(100%로 가정) 후 상승가격 대비 20%이하로 하락시, 첫봉에 청산 -매수가 대비 -4.5% 이하로 하락시 청산
프로필 이미지
쌀사비팔
2014-11-14
149
글번호 80383
시스템
답변완료

종목 검색 문의 드릴께요.

안녕하세요. 주식 지표검색식 문의드리려고요. 일봉에서요 매월 1일 첫거래일에 봉이 전달 마지막 거래일 봉보다 높은 종목 검색식 부탁드립니다. 메일로 부탁드릴께요. greenade0808@daum.net
프로필 이미지
생생파생
2014-11-14
175
글번호 80382
검색
답변완료

수식 문의 드립니다.

안녕하세요..열심히 수식을 만들고 있는데 잘 되지 않네요^^ 일단 아래 수식에 RSI시그널을 넣지 못했는데 시그널(6)을 넣어서 수식1과 수식2를 수정 해주시기 바라고요, 수식1과 수식2를 합성한 것을 따로 작성해주시면 됩니다. 그리고 완성되면, 신호발생 후 다음봉 시가 또는 한호가 위 청산을 할 수 있도록 변수처리가 가능했으면 합니다. 수식1 input : RSIP(14),sto1(18),sto2(6),sto3(6); var : RSIV(0),STOK(0),STOD(0); RSIV = RSI(RSIP); STOK = StochasticsK(sto1,sto2); STOD = StochasticsD(sto1,sto2,sto3); if RSIV <= 46 and CrossDown(STOK,13) Then buy("매수"); if RSIV >= 54 and CrossUp(STOK,87) Then ExitLong("매수청산"); if RSIV >= 54 and CrossUp(STOK,87) Then Sell("매도"); if RSIV <= 46 and CrossDown(STOK,13) Then ExitShort("매도청산"); /* RSI(14,6) 지표값 46 이하, SLOW STO(18,6,6) 지표값 13 이하일때 매수 진입, RSI(14,6) 지표값 54 이상, SLOW STO(18,6,6) 지표값 87 이상일때 매수청산, RSI(14,6) 지표값 54 이상, SLOW STO(18,6,6) 지표값 87 이상일때 매도 진입, RSI(14,6) 지표값 46 이하, SLOW STO(25,6,6) 지표값 85 이상일때 매도 청산, 수식2 input : RSIP(21),sto1(25),sto2(6),sto3(6); var : RSIV(0),STOK(0),STOD(0); RSIV = RSI(RSIP); STOK = StochasticsK(sto1,sto2); STOD = StochasticsD(sto1,sto2,sto3); if RSIV <= 46 and CrossDown(STOK,15) Then buy("매수진입"); if RSIV >= 54 and CrossUp(STOK,85) Then ExitLong("매수청산"); if RSIV >= 54 and CrossUp(STOK,85) Then Sell("매도진입"); if RSIV <= 46 and CrossDown(STOK,15) Then ExitShort("매도청산"); /* RSI(21,9) 지표값 46 이하, SLOW STO(25,6,6) 지표값 15 이하 RSI(21,9) 지표값 54 이상, SLOW STO(25,6,6) 지표값 85 이상 RSI(21,9) 지표값 54 이상, SLOW STO(25,6,6) 지표값 85 이상 RSI(21,9) 지표값 46 이하, SLOW STO(25,6,6) 지표값 15 이하
프로필 이미지
하리마우
2014-11-14
163
글번호 80381
시스템
답변완료

문의좀드릴게요

이렇게 알려주셨는데 11월13일에 수평선이 잘못나오네요. 검은색부분에 있어야정상인데 왜그런거죠? 주간장차트만 실행시켜서 그런건아닌거같아요 그전날짜들은 잘나왔는데 무슨문제인지 점검 부탁드립니다~ 아 그리고 장시작하기 전에 수평선이 미리 차트에 그어지게 할순없나요? 안된다면 장시작하고난 후에 우측으로 미리 연장해서 그어져도 좋구요 input : N(1); var : cnt(0); Array : DH[10](0),DL[10](0),NH[10](0),NL[10](0); if stime == 90000 or (stime > 90000 and stime[1] < 90000) Then{ DH[0] = H; DL[0] = L; for cnt = 1 to 9{ DH[cnt] = DH[cnt-1][1]; DL[cnt] = DL[cnt-1][1]; NH[cnt] = NH[cnt-1][1]; NL[cnt] = NL[cnt-1][1]; } } if stime == 180000 or (stime > 180000 and stime[1] < 180000) Then{ NH[0] = H; NL[0] = L; } if stime >= 90000 and stime <= 151500 Then{ if H > DH[0] Then DH[0] = H; if L < DL[0] Then DL[0] = L; } if stime >= 180000 or stime < 90000 Then{ if H > NH[0] Then NH[0] = H; if L < NL[0] Then NL[0] = L; } plot1(DH[N],"N일전주간최고가"); plot2(DL[N],"N일전주간최저가"); plot3((DH[N]+DL[N])/2,"N일전주간중심가"); plot4(NH[N],"N일전야간최고가"); plot5(NL[N],"N일전야간최저가"); plot6((NH[N]+NL[N])/2,"N일전야간중심가");
프로필 이미지
국산3
2014-11-14
163
글번호 80377
지표
답변완료

질문드립니다.

손절매를 매입가 기준이 아니고, 평균매입단가 기준으로 하려면 어떻게 해야 하나요? 예를들어, 손절선을 10% 로 하고, 같은 종목을 A시스템이 3.0 에 1차 매수하고, B시스템이 2차로 4.0 에 각각 다른 시점에 분할매수했을 때, 평균매입단가는 3.5가 됩니다. 그러면 2차로 진입한 B시스템의 손절기준은 2차 매입가인 4.0 에서 계산한 3.6 이 아니라, 평균매입가인 3.5 에서부터 손절선을 계산하여 3.15가 손절선이 되는 것입니다. 그렇게 코딩하려면 어떻게 해야 하나요?
프로필 이미지
미카엘
2014-11-14
141
글번호 80376
시스템
답변완료

몇가지 질문

안녕하세요? 몇가지 질문 드립니다. 1) 어제 수능일날 10시 오픈 되었는데..제프로그램이 90분 봉 사용중인데 프로그램상에는 2:30 분에 매도 주문이 있었는데 실제로는 3시에 매도 주문이 나갔습니다. 3시면 9시 개장시에 90분봉 시작시점인데....무슨문제가 있었나요? 2) 기존진입이 Buy 일경우 동일봉에서 청산하고 새로운 sell 주문이 나가던데.. 기존진입이 Sell 일경우 동일봉에서 청산하고 새로운 Sell 이 안나가는 이유는 무었인가요? 3) 마지막으로 분봉에서 Data3의 일봉Data를 참조하여 분봉의 Data값을 반영하여 일봉의 ADX 값을 구하는 식을 작성할수 있나요? 감사합니다
프로필 이미지
대가들의매매
2014-11-14
149
글번호 80368
시스템