커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

추세선 지표 부탁드립니다.

수고하십니다. 1. 이동평균선 5-20 골드크로스 발생이전 이평선 5-20 역배열 당시 최저점 =>골드크로스 발생시 직전 골드크로스보다 높은 곳에서 발생한경우 두개의 저점을 연결하는 추세선을 현재시각까지 확장해서 그어주기 2. 이동평균선 5-20 데드크로스 발생 이전 이평선 5-20정배열 상태에서의 최고점 =>데드크로스 발생시 직전 데드크로스 발생위치보다 낮을 경우 두개의 최고점을 잇는 추셰선을 현재시각까지 그어주기 부탁드립니다. 감사합니다.
프로필 이미지
당일선물
2018-04-03
263
글번호 117920
지표
답변완료

관리자님 늘 감사드립니다 ^^

하나대투에서/* 수식1 a=avg(c,20); ValueWhen(1,a>=a(1),a); 수식2 a=avg(c,20); ValueWhen(1,a<a(1),a) */ Vars:a(0); a=avg(c,20); plot1(valuewhen(1,a>=a[1],a),"수식1"); plot2(valuewhen(1,a<a[1],a),"tntlr2"); 쓰는 직전고점 직전저점을 나타내는 지표인데 예스식으로 부탁드립니다 꾸벅~
프로필 이미지
불새1
2018-04-03
190
글번호 117919
지표
답변완료

시스템식에 포함시켜주세요

아래시스템식이 적용되는챠트에 전일종가라인을 챠트에 표시 전일고가라인을 챠트에 표시 전일저가라인을 챠트에 표시~~글과 숫자값을 표시 할려구 합니다 ==============================> 안녕하세요 예스스탁입니다. 특정값을 추가한다고만 언급하시면 내용판단이 되지 않습니다. 좀더 자세한 내용을 올려주시기 바랍니다. 즐거운 하루되세요 > 정밀타격수 님이 쓴 글입니다. > 제목 : 기존식에 수식추가요청 > Input : Period(10); # 매수/매도청산 If CrossUP(data1("C"), ma(data1("C"),Period)) Then { Buy("매수"); } # 매도/매수청산 If CrossDown(data1("C"), ma(data1("C"),Period)) Then { Sell("매도"); } var : RR(0),tx1(0),tx2(0); if MarketPosition == 1 Then{ rr = (C-EntryPrice)/PriceScale; Text_Delete(tx1); tx1 = Text_New(sdate,stime,H+PriceScale*1,NumToStr(RR,0)+"틱"); Text_SetStyle(tx1,2,2); } if MarketPosition == -1 Then{ rr = (EntryPrice-C)/PriceScale; Text_Delete(tx2); tx2 = Text_New(sdate,stime,L-PriceScale*1,NumToStr(RR,0)+"틱"); Text_SetStyle(tx2,2,2); } ================================================== 상기식에서 전일고가 전일종가 전일저가식을 추가할려고 합니다 수식을 부탁드립니다
프로필 이미지
정밀타격수
2018-04-03
155
글번호 117912
시스템

관리자에 의해 프로그램 사용법 QnA로 이동되었습니다

프로필 이미지
flowerme
2018-04-03
6
글번호 117910
지표
답변완료

함수요청

안녕하세요? 함수요청드립니다. B종목을 참조차트로 아래의 전략으로 신호를 잡되 전략D if MarketPosition <= 0 Then buy("b",AtStop,highest(H,10)-PriceScale); if MarketPosition >= 0 Then sell("s",AtStop,Lowest(L,10)-PriceScale); A종목을 기본차트로 아래의 전략에서 상기 B종목이 매수신호일 때만 매수를 진입하고 B종목이 매도신호일 때만 매도를 진입하고자 합니다. 전략C if MarketPosition <= 0 Then buy("b",AtStop,highest(H,5)-PriceScale); if MarketPosition >= 0 Then sell("s",AtStop,Lowest(L,5)-PriceScale); 즉, 각기 다른 두 종목에 각기 다른 두 전략을 사용하되 동일한 신호가 잡힐 경우 특정 종목을 매매하고자 합니다. A종목이 전략C에 의한 매수신호가 생성되었는데 B종목이 전략D에 매수신호가 유지되고 있다면 A종목을 매수로 진입할 것이고, A종목이 전략C에 의한 매도신호가 생성되었는데 B종목이 전략D에 매도신호가 유지되고 있다면 A종목을 매도로 진입할 것입니다. 그런 새로운 전략E를 만들고 싶습니다.
프로필 이미지
흰둥이아빠
2018-04-03
133
글번호 117909
시스템
답변완료

문의드립니다

1 기본식에서 피라미딩을 추가하고싶습니다 Var : cnt_total(0); Var : Entrycnt(0); Entrycnt = 0; for cnt_total = 0 to 100 { if sdate == EntryDate(cnt_total) Then Entrycnt = Entrycnt+1;} input : NN(2); if MarketPosition == 0 and entrycnt < NN and s1> 60 Then buy("롱"); if MarketPosition == 0 and entrycnt < NN and stok1< 40 Then sell("숏"); if MarketPosition == 1 and S1 <= 50 Then exitlong("롱청산"); if MarketPosition == -1 and S1 >= 50 Then ExitShort("숏청산"); 매수진입후 진입가 대비 N포인트 상승돌파하면 1계약추가진입 매도진입후 진입가 대비 N포인트 하락돌파하면 1계약추가진입 2 1번식은 1차트에 1시스템식을 적용하여 2계약을 운용하는것이라면 추가1계약을 다른차트에서 적용하고싶습니다 1번식 1차트 1계약 2번식 다른차트 1계약
프로필 이미지
파인애플
2018-04-03
192
글번호 117908
시스템
답변완료

시스템 수식 문의드립니다....

수고가 많으시죠... 시스템식 문의 드립니다.. 이평선 5일, 당일의 고가대비 40틱라인, 당일의 저가대비 40틱라인. 1 이평선5일이 당일의 고가40틱라인을 골든크로스에 매수 데드크로스에 매수청산 2 이평선5일이 당일의 저가40틱라인을 데드크로스에 매도 골든크로스에 매도청산 이상입니다...수고하세요..
프로필 이미지
우섭
2018-04-03
145
글번호 117907
시스템
답변완료

선 위치 문제

귀사 도움에 항상 감사합니다. 하기 수식을 적용하니 틱챠트 확대 및 축소시에 봉의 위치가 다르게 표현이 되어서 애로사항이 많습니다.Y축 봉의 위치가 고정이 되도록 해주세요. 첨부파일은 옵션 콜 같은 행사가 입니다 첨부파일 참조하여 확대 축소 할때 봉위치도 변동이 없도록 부탁드립니다, input : Length(14); var : TL(0),TH(0),cnt(0),Dcnt(0),preTRange(0),prePlusDM14(0),DMinus(0),MinusDM14(0),TRange1(0),preMinusDM14(0); Var : Counter(0), TRange(0), MyRange(Length), PlusDM14(0), PlusDM(0), MinusDM(0),Dplus(0),preADX(0); Var : CummDMI(0), Return(0); Array : HH[61](0),LL[61](0),CC[61](0),TR[61](0),DMIv[61](0),ADXv[61](0); if bdate != bdate[1] Then{ Dcnt = Dcnt+1; HH[0] = H; LL[0] = L; CC[0] = C; preTRange = TRange[1]; prePlusDM14 = PlusDM14[1]; preMinusDM14 = MinusDM14[1]; for cnt = 1 to 60{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; TR[cnt] = TR[cnt-1][1]; DMIv[cnt] = DMIv[cnt-1][1]; ADXv[cnt] = ADXv[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; if CC[1] > 0 Then{ If CC[1] > HH[0] then TH = CC[1]; else TH = HH[0]; If CC[1] < LL[0] then TL = CC[1]; else TL = LL[0]; TR[0] = TH-TL; } If Dcnt == Length+1 Then { MyRange = Length; DPlus = 0; PlusDM14 = 0; TRange = 0; DMinus = 0; MinusDM14 = 0; TRange1 = 0; For Counter = 0 To MyRange - 1 { If HH[Counter] - HH[Counter+1] < 0 Then PlusDM = 0 ; Else PlusDM = HH[Counter] - HH[Counter+1]; If LL[Counter+1] - LL[Counter] < 0 Then MinusDM = 0; Else MinusDM = LL[Counter+1] - LL[Counter]; If MinusDM >= PlusDM Then PlusDM = 0; If PlusDM >= MinusDM Then MinusDM = 0; TRange = TRange + TR[Counter]; PlusDM14 = PlusDM14 + PlusDM; MinusDM14 = MinusDM14 + MinusDM; } If TRange <> 0 Then DPlus = 100 * PlusDM14 / TRange; Else DPlus = 0 ; If TRange <> 0 Then DMinus = 100 * MinusDM14 / TRange; Else DMinus = 0; If Dplus + Dminus == 0 Then DMIv[0] = 0; Else DMIv[0] = 100 * AbsValue(Dplus - Dminus) / (Dplus + Dminus); } Else If Dcnt > Length+1 Then { If HH[0] - HH[1] < 0 Then PlusDM = 0; Else PlusDM = HH[0] - HH[1]; If LL[1] - LL[0] < 0 Then MinusDM = 0; Else MinusDM = LL[1] - LL[0]; If MinusDM >= PlusDM Then PlusDM = 0; If PlusDM >= MinusDM Then MinusDM = 0 ; If MyRange > 0 Then { TRange = preTRange - (preTRange / MyRange) + TR[0]; PlusDM14 = prePlusDM14 - (prePlusDM14 / MyRange) + PlusDM; MinusDM14 = preMinusDM14 - (preMinusDM14 / MyRange) + MinusDM; } If TRange <> 0 Then DPlus = 100 * PlusDM14 / TRange; Else DPlus = 0 ; If TRange <> 0 Then DMinus = 100 * MinusDM14 / TRange; Else DMinus = 0; If Dplus + Dminus == 0 Then DMIv[0] = 0; Else DMIv[0] = 100 * AbsValue(Dplus - Dminus) / (Dplus + Dminus); } If DMIV[Length] == 0 Then{ CummDMI = 0; for Counter = 0 To Length-1 Begin if DMiV[counter] > 0 Then CummDMI = CummDMI + DMIV[Counter]; End; ADXv[0] = CummDMI / CurrentBar; } Else ADXv[0] = (ADXv[1] * (Length - 1) + DMIv[0]) / Length; plot1(ADXv[0]); plot2(DPlus); plot3(DMinus); PlotBaseLine1(3,"매수세력선"); PlotBaseLine2(2,"기준선"); PlotBaseLine3(1,"매도세력선");
프로필 이미지
매일수익감사
2018-04-03
288
글번호 117906
지표
답변완료

예스글로벌 종목들 갯수세기

안녕하세요. 예스글로벌에서 20개로 화면을 분할한 후 20개의 해외선물종목들을 늘어놓은후(예: 나스닥, 원유, 닥스,,,등) 이들 20개 종목중 5일선이 20일선보다 높은 종목들의 갯수(예:20개중 7개 등) 실시간으로 볼수 있도록 하는 기능/방법이 있는지 여쭤봅니다. 감사합니다.
프로필 이미지
대단한콩
2018-04-03
142
글번호 117905
종목검색