커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의 드립니다.

Input : Period(12), Period1(5); Var : value(0); value = StochasticsK(Period,Period1); # 매수/매도청산 If CrossUP(value, 20) Then { Buy(); } # 매도/매수청산 If CrossDown(value, 80) Then { Sell(); } 위는 스토캐스틱에서 value가 아닌 종가가 20을 크로스 종가가 80을 크로스하는 식을 알고 싶읍니다 종가가 (value)20을 크로스 종가가 (value)80을 크로스하는 식을 알고 싶읍니다
프로필 이미지
lacl
2020-03-04
322
글번호 136548
시스템

maker 님에 의해서 삭제되었습니다.

프로필 이미지
maker
2020-03-04
12
글번호 136547
시스템
답변완료

문의드립니다.

혹 이런것도 가능한지요? 예를들어 볼밴의 경우 횡보할때는 봉하나마다 상하로 움직임이 바뀌는데... 이것을 좀 부드러운 선으로 연결될순 없나요? ( 지표 수치조정 말구요. ) %로 조정이되던지(110%, 120% 등 ), 아님 다른 어떤 방법으로 보정하는 방법을 부탁합니다. 또하나 시스템식에서... value1 이 3봉이상 하락중이면 매수금지 라는 조건문을 부탁드립니다.
프로필 이미지
as8282
2020-03-04
177
글번호 136546
지표
답변완료

질문 올립니다.

안녕하세요. 늘 감사합니다. 1. 분봉과 틱봉 비교에서, 분봉은 일단 가령 1분봉이라면, 1분 경과하고 나면 1분 내의 시고저종 가격만 남고 이 것은 증권사 서버에서나 거래소 서버에서 딱딱 정각마다 그 시간에 맞춰 네 개의 정보만 저장하면 되니, 계산에 사용되는 숫자 데이터 수가 적고, 틱봉은, 가령 3틱봉 7틱봉 등등 다 한 봉 계산할 때마다 시작 시점과 끝 시점이 달라서 데이터 처리 숫자가 봉 차트에 비해서 더 많아서 혹시 컴퓨터에 계산 무리를 더 주는지 궁금합니다. 2. 가령 한국투자증권의 eFriend Global YesTrader((eFG라 하겠습니다))와 eFriend Force((eFF라 하겠습니다)) 이렇게 두 프로그램을 비교했을 때, 지표식을 이용할 때 eFG에서는 데이터를 각자의 컴퓨터로 다 받아서 연산 자체를 각자의 컴퓨터로 하고, eFF에서는 지표식들을 혹시 한국투자증권의 서버 컴퓨터에서 연산해서 결과만 각자의 컴퓨터로 보내 줘서 화면에 뿌려 주는 것인지 궁금합니다. 감사합니다!
프로필 이미지
즐겁게
2020-03-04
237
글번호 136545
시스템
답변완료

문의 드립니다

수고하십니다. 아래 지표식이 당일에 아침 09시부터 표시가 안되고 오후에도 밀려서 표시가 됩니다... 월간/주간 지표도 밀려서 표시가 됩니다.. 확인 좀 부탁드립니다.. 수고하세요 ////// var : cnt(0),d1(0),d2(0),w1(0),w2(0); Array : DOpen[10](0),DHigh[10](0),DLow[10](0),DClose[10](0); Array : WeekOpen[10](0),WeekHigh[10](0),WeekLow[10](0),WeekClose[10](0); Array : MonthOpen[10](0),MonthHigh[10](0),MonthLow[10](0),MonthClose[10](0); if (sdate != sdate[1] and stime >= 101500) or (sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then { d1 = sdate; d2 = d1[1]; w1 = DayOfWeek(sdate); w2 = W1[1]; DOpen[0] = O; Dhigh[0] = H; DLow[0] = L; for cnt = 1 to 9 { DOpen[cnt] = DOpen[cnt-1][1]; DHigh[cnt] = DHigh[cnt-1][1]; DLow[cnt] = DLow[cnt-1][1]; DClose[cnt] = DClose[cnt-1][1]; } if W1 < W2 then { WeekOpen[0] = O; Weekhigh[0] = H; WeekLow[0] = L; for cnt = 1 to 9{ WeekOpen[cnt] = WeekOpen[cnt-1][1]; WeekHigh[cnt] = WeekHigh[cnt-1][1]; WeekLow[cnt] = WeekLow[cnt-1][1]; WeekClose[cnt] = WeekClose[cnt-1][1]; } } if D1 > D2+30 Then { MonthOpen[0] = O; Monthhigh[0] = H; MonthLow[0] = L; for cnt = 1 to 9 { MonthOpen[cnt] = MonthOpen[cnt-1][1]; MonthHigh[cnt] = MonthHigh[cnt-1][1]; MonthLow[cnt] = MonthLow[cnt-1][1]; MonthClose[cnt] = MonthClose[cnt-1][1]; } } } DClose[0] = C; if H > DHigh[0] Then DHigh[0] = H; if L < DLow[0] Then DLow[0] = L; WeekClose[0] = C; if H > WeekHigh[0] Then WeekHigh[0] = H; if L < WeekLow[0] Then WeekLow[0] = L; MonthClose[0] = C; if H > MonthHigh[0] Then MonthHigh[0] = H; if L < MonthLow[0] Then MonthLow[0] = L; plot1(MonthOpen[1],"전월시가"); plot2(MonthHigh[1],"전월고가"); plot3(MonthLow[1],"전월저가"); plot4(MonthClose[1],"전월종가"); plot5(MonthOpen[0],"당월시가"); plot6(MonthHigh[0],"당월고가"); plot7(MonthLow[0],"당월저가"); plot8(MonthClose[0],"당월종가"); plot9(WeekOpen[1],"전주시가"); plot10(WeekHigh[1],"전주고가"); plot11(WeekLow[1],"전주저가"); plot12(WeekClose[1],"전주종가"); plot13(WeekOpen[0],"금주시가"); plot14(WeekHigh[0],"금주고가"); plot15(WeekLow[0],"금주저가"); plot16(WeekClose[0],"금주종가"); plot17(Dopen[1],"전일시가"); plot18(Dhigh[1],"전일고가"); plot19(Dlow[1],"전일저가"); plot20(DClose[1],"전일종가"); plot21(DOpen[0],"당일시가",lgreen); plot22(Dhigh[0],"당일고가",red); plot23(Dlow[0],"당일저가",blue); plot24(DClose[0],"당일종가",black);
프로필 이미지
오이도인
2020-03-04
214
글번호 136544
지표

파랭 님에 의해서 삭제되었습니다.

프로필 이미지
파랭
2020-03-03
11
글번호 136543
시스템
답변완료

변환요청 드립니다.

수고가 많으십니다. 아래 식을 "n일전"을 기준일로 하여 검색이 가능한 식으로 변환해 주세요.. 혼자서 해봤는데 잘 안되네요... 감사합니다. 수고하세요 ##### Input : n(3) ; ## n일전 기준 검색 input:left(6),right(6),x(0.005); var:j(0),예비고(0),예비저(0),예비고bar(0),예비저bar(0),미완성(0),미완성bar(0),고점표시(0),저점표시(0), 예비고추세기울기(0),예비저추세기울기(0),예비고추세선(0),예비저추세선(0), 고추세기울기(0),저추세기울기(0),고추세선(0),저추세선(0) ; array:고[10](0),저[10](0),고bar[10](0),저bar[10](0); #================================================# # 변곡점 계산 #================================================# if highest(h[1],left) <= h then { 예비고 = h; 예비고bar = 0; } else 예비고bar = 예비고bar + 1; if lowest(l[1],left) >= l then { 예비저 = l; 예비저bar = 0; } else 예비저bar = 예비저bar + 1; 고점표시 = (h[right] + l[right]) / 2; 저점표시 = (h[right] + l[right]) / 2; for j = 1 to 9 { 고bar[j] = 고bar[j] + 1; 저bar[j] = 저bar[j] + 1; } if 예비고bar == right and highest(h,right) <= h[right] then { for j = 9 downto 2 { 고[j] = 고[j-1]; 고bar[j] = 고bar[j-1]; } 고점표시 = 예비고 + x; 고[1] = 예비고; 고bar[1] = 예비고bar; if 저bar[1] > 고bar[2] then { for j = 9 downto 2 { 저[j] = 저[j-1]; 저bar[j] = 저bar[j-1]; } 미완성 = 0; for j = 고bar[1] + 1 to 고bar[2] - 1 { if 미완성 == 0 or 미완성 > l[j] then { 미완성 = l[j]; 미완성bar = j; } } 저[1] = 미완성; 저bar[1] = 미완성bar; } } if 예비저bar == right and lowest(l,right) >= l[right] then { for j = 9 downto 2 { 저[j] = 저[j-1]; 저bar[j] = 저bar[j-1]; } 저점표시 = 예비저 - x; 저[1] = 예비저; 저bar[1] = 예비저bar; if 고bar[1] > 저bar[2] then { for j = 9 downto 2 { 고[j] = 고[j-1]; 고bar[j] = 고bar[j-1]; } 미완성 = 0; for j = 저bar[1] + 1 to 저bar[2] - 1 { if 미완성 < h[j] then { 미완성 = h[j]; 미완성bar = j; } } 고[1] = 미완성; 고bar[1] = 미완성bar; } } #=============================================# # 자동추세선 계산 #=============================================# 예비고추세선 = 0; 예비저추세선 = 0; for j = 1 to 9 { if 예비고 < 고[j] then { 예비고추세기울기 = (예비고-고[j])/(고bar[j]-예비고bar); 예비고추세선 = 예비고추세기울기 * 고bar[j] + 고[j]; j = 9; } } for j = 1 to 9 { if 저[j] < 예비저 and 저[j] > 0 then { 예비저추세기울기 = (예비저-저[j])/(저bar[j]-예비저bar); 예비저추세선 = 예비저추세기울기 * 저bar[j] + 저[j]; j = 9; } } 고추세선 = 0; 저추세선 = 0; for j = 2 to 9 { if 고[1] < 고[j] then { 고추세기울기 = (고[1]-고[j])/(고bar[j]-고bar[1]); 고추세선 = 고추세기울기 * 고bar[j] + 고[j]; j = 9; } } for j = 2 to 9 { if 저[j] < 저[1] and 저[j] > 0 then { 저추세기울기 = (저[1]-저[j])/(저bar[j]-저bar[1]); 저추세선 = 저추세기울기 * 저bar[j] + 저[j]; j = 9; } } if c < o then If crossUP(C, 고추세선) then var1 = 1 ; else var1 = 0 ; Find(var1); //
프로필 이미지
오이도인
2020-03-03
251
글번호 136542
종목검색
답변완료

부탁드립니다.

감사합니다. 당일목표수익(100) --> 당일목표손실(100) 아래식을 당일목표수익에서 멈추는 것을 당일목표손실에서 멈추는 것으로 수정부탁드립니다. if MarketPosition == 1 then { SetStopTrailing(1,익절,PointStop); if AI == True and daypl+PositionProfit(0) >= PriceScale*당일목표수익 Then { ExitLong("BB목표",atlimit,EntryPrice+((PriceScale*당일목표수익-daypl)/CurrentContracts)); } if MarketPosition == -1 Then { SetStopTrailing(1,30,PointStop); if AI == True and daypl+PositionProfit(0) >= PriceScale*당일목표수익 Then { ExitShort("SS목표",atlimit,EntryPrice-((PriceScale*당일목표수익-daypl)/CurrentContracts)); } SetStopLoss(손절,PointStop);
프로필 이미지
라떼처럼
2020-03-03
449
글번호 136541
시스템
답변완료

문의

답변해주신 신호를 적용했을때 첨부파일과 같이 신호가 발생합니다. 월고이탈 매도신호가 가격이 6.34를 찍고 내릴때 나오게 하고 싶은데 이런건 불가능할까요? 단순히 각각의 가격보다 아래나 위에 있다고 신호가 나오기보다는 각각의 가격을 한틱이라도 찍은 후 또는 오차범위 2-3틱내에서만 신호가 나오게 부탁드릴게요. 감사합니다. Var : nday2(0,data2),week2(0,data2),Xcond2(false,data2); var : D2(0,data2),D1L(0,data2),h2(0,data2),l2(0,data2); nday2 = data2(Date - Int(Date/100)*100); week2 = data2(DayOfWeek(Date)); If nday2 >= 8 And nday2 <= 14 And week2 == 4 Then Xcond2 = true; Else Xcond2 = false; if data2(date != date[1]) Then { if Xcond2 == false and Xcond2[1] == true Then { D2 = data2(sdate); h2 = data2(h); l2 = data2(l); } } if D2 > 0 then { #data2 월물 첫날 최저가 if D2 > 0 and data2(sdate) == D2 Then D1L = data2(lowd(0)); #data2 월물 최고가 if h2 > 0 and data2(H) > h2 Then h2 = data2(h); #data2 월물 최저가 if L2 > 0 and data2(L) < L2 Then L2 = data2(L); if data1(crossup(c,H2)) Then { buy("월고돌파"); Text_New(sdate,stime,H+PriceScale*5, "월고돌파"+NumToStr(H2,2)); } if data1(CrossDown(c,H2)) Then { buy("월고이탈"); Text_New(sdate,stime,H+PriceScale*5,"월고이탈"+NumToStr(H2,2)); } if data1(crossup(c,L2)) Then { buy("월저돌파"); Text_New(sdate,stime,H+PriceScale*5, "월저돌파"+NumToStr(L2,2)); } if data1(CrossDown(c,L2)) Then { buy("월저이탈"); Text_New(sdate,stime,H+PriceScale*5,"월저이탈"+NumToStr(L2,2)); } if data1(crossup(c,D1L)) Then { buy("첫날저가돌파"); Text_New(sdate,stime,H+PriceScale*5, "첫날저가돌파"+NumToStr(D1L,2)); } if data1(CrossDown(c,D1L)) Then { buy("첫날저가이탈"); Text_New(sdate,stime,H+PriceScale*5,"첫날저가이탈"+NumToStr(D1L,2)); } if data1(crossup(c,data2(C))) Then { buy("가격돌파"); Text_New(sdate,stime,H+PriceScale*5, "가격돌파"+NumToStr(data2(C),2)); } if data1(CrossDown(c,D1L)) Then { buy("가격이탈"); Text_New(sdate,stime,H+PriceScale*5,"가격이탈"+NumToStr(data2(C),2)); } }
프로필 이미지
타이밍승부사
2020-03-03
237
글번호 136540
시스템