커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

추적후이익실현

# 추적청산 input : AtrMult(12), AtrPeriod(14); var : AtrVal(0), posHigh(0), posLow(0); # ATR 추적청산 ATRVal = ATR(AtrPeriod) * AtrMult; PosHigh = Highest(H,BarssinceEntry+1); PosLow = Lowest(L,BarsSinceEntry+1); If MarketPosition == 1 Then sell("ATR1", AtStop, PosHigh - ATRVal); If MarketPosition == -1 Then buy("ATR2", AtStop, PosLow + ATRVal); 위수식후 최대수익대비하락이익실하면 다음추적신호안됨니다 나올수있게 수식부탁합니다. 예. 6p이후3p 하락하면 이익실현하고 다음추적신호가나오게 부탁합니다.
프로필 이미지
큰바위얼굴
2015-11-19
146
글번호 92562
시스템

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

프로필 이미지
dandy
2015-11-19
0
글번호 92559
시스템
답변완료

부탁드림니다

data2 > 0 and data3 < 0 파랑 막대기 data2 < 0 and data3 > 0 빨간 막대기 지표로 쓰고 싶습니다,
프로필 이미지
djhsfg
2015-11-19
156
글번호 92553
지표
답변완료

문의 드립니다.

안녕하세요. 일전에 당일 거래로만 계산한 OBV 10, 20 이평선을 부탁 드렸습니다. 알려주신 수식이 계산한 내용과 달라서 찬찬히 살펴보고 수정을 했습니다. 당일 2번 째 봉부터 계산을 하기 때문에 idx를 -1를 줘서 1부터 시작하게 했구요. OBVv = OBVv + Volume; OBV가 계속 누적이 되길래 OBVv = OBVv[1] + Volume; 이렇게 수정했습니다. 문제는 10개의 봉이 진행하고 11번 째 봉에서 부터는 맨 앞의 obv를 탈락시키고 이평값으로 나누어야 하는데 수식을 잘 모르겠습니다. 수식 살펴보시고 수정 부탁 드립니다. input : P1(10),P2(20); var : OBVV(0),idx(0),sum(0),mav1(0),mav2(0); If date != date[1] Then{ OBVV = 0; sum = 0; idx = 0; } idx = idx+1; if date == date[1] Then{ If Close[0] > Close[1] Then OBVv = OBVv + Volume; If Close[0] < Close[1] Then OBVv = OBVv - Volume; } sum = sum+OBVv; if idx < P1 Then mav1 = sum/idx; Else mav1 = AccumN(Obvv,P1)/P1; if idx < P2 Then mav2 = sum/idx; Else mav2 = AccumN(Obvv,P2)/P2; plot1(OBVv); plot2(mav1); plot3(mav2); ============================================== input : P1(10),P2(20); var : OBVV(0),idx(0),sum(0),mav1(0),mav2(0); If date != date[1] Then{ OBVV = 0; sum = 0; idx = -1; } idx = idx+1; if date == date[1] Then{ If Close[0] > Close[1] Then OBVv = OBVv[1] + Volume; If Close[0] < Close[1] Then OBVv = OBVv[1] - Volume; } sum = sum+OBVv; if idx < P1 Then mav1 = obvv/idx; Else mav1 = AccumN(Obvv,P1)/P1; if idx < P2 Then mav2 = obvv/idx; Else mav2 = AccumN(Obvv,P2)/P2; plot1(OBVv,"OBV"); plot2(mav1,"10이평"); plot3(mav2); 3527 3527 1 3527.00 2930 6457 2 3228.50 1879 8336 3 2778.67 2274 10610 4 2652.50 -1205 9405 5 1881.00 0 9405 6 1567.50 1121 10526 7 1503.71 -1451 9075 8 1134.38 -913 8162 9 906.89 443 8605 10 860.50 834 5912 10 591.20 -886 2096 10 209.60 588 805 10 80.50 ------------------------------------------ OBV 10봉전까지 당일 OBV 10 이평 누적OBV
프로필 이미지
고운무지개
2015-11-19
192
글번호 92552
지표
답변완료

문의드려요

1. N일전에 상한가를 한번이라도 터치한 적이 있는 종목을 찾고, 각 종목의 N일전의 1분봉 차트를 얻고 싶습니다. 가능할까요? 2. N일전에 14시에서 15시 사이에 상한가를 한번이라도 터치한 적이 있는 종목을 찾고, 각 종목의 N일전의 1분봉 차트를 얻고 싶습니다. 매번 감사드립니다.
프로필 이미지
회원
2015-11-19
183
글번호 92549
종목검색
답변완료

문의

아래수식 문제점이 먼가요? sto 지표주기 100,100,40 이 매수일때 sto 지표주기 10,5 에서 매수진입 매도청산 sto 지표주기 100,100,40 이 매도일때 sto 지표주기 10,5 에서 매도진입 매수청산 sto 지표주기 10,5 에서 진입보유시 지표주기 100,100,40 신호바뀔시 무조건청산 하려고 하는데 신호가 안나오내요??? input:b_time1(000000),e_time1(240000),목표청산1(3), stoK_p11(100),stoK_p12(100),stoK_p13(40),sto1(10),sto2(5), ma_p11(35),ma_p12(15),ma_p13(25),ma_p14(300),ma_p15(50),ma_p16(30),ma_p17(55); Var:stoK(0),stoD(0),TRIXv(0),TRIXsig(0),stokk(0); stokk = StochasticsK(sto1,sto2); If b_time1 <= Time and Time <= e_time1 Then { stoK = StochasticsK(stoK_p11,stoK_p12); stoD = StochasticsD(stoK_p11,stoK_p12,stoK_p13); If countif(ma(C,ma_p11)[1] < ma(C,ma_p11),1) == 1 and (ma(C,ma_p12)[1] <= ma(C,ma_p13)[1] and ma(C,ma_p12) > ma(C,ma_p13)) and countif(ma(C,ma_p14)[1] < ma(C,ma_p14),1) == 1 and countif(ma(C,ma_p15)[1] < ma(C,ma_p15),1) == 1 and countif(ma(C,ma_p16)[1] < ma(C,ma_p16),1) == 1 and countif(ma(C,ma_p17)[1] < ma(C,ma_p17),1) == 1 Then { If !(ExitName(1) == "StopProfitTarget" and (EntryName(1) == "매수" or EntryName(1) == "매수2" or EntryName(1) == "매수3") and MarketPosition == 0) Then if countif(stokk>stokk[1],2) == 1 and stokk[1] < 10 Then buy("b매수"); if countif(stokk<stokk[1],2) == 1 and stokk[1] > 90 Then exitlong("b매도"); # Buy("매수",AtMarket); } If countif(ma(C,ma_p11)[1] > ma(C,ma_p11),1) == 1 and (ma(C,ma_p12)[1] >= ma(C,ma_p13)[1] and ma(C,ma_p12) < ma(C,ma_p13)) and countif(ma(C,ma_p14)[1] > ma(C,ma_p14),1) == 1 and countif(ma(C,ma_p15)[1] > ma(C,ma_p15),1) == 1 and countif(ma(C,ma_p16)[1] > ma(C,ma_p16),1) == 1 and countif(ma(C,ma_p17)[1] > ma(C,ma_p17),1) == 1 Then { If !(ExitName(1) == "StopProfitTarget" and (EntryName(1) == "매도" or EntryName(1) == "매도2" or EntryName(1) == "매도3") and MarketPosition == 0) Then if countif(stokk<stokk[1],2) == 1 and stokk[1] > 90 Then exitlong("s매도"); if countif(stokk>stokk[1],2) == 1 and stokk[1] < 10 Then buy("s매수"); # Sell("매도",AtMarket); } SetStopProfittarget(목표청산1); }
프로필 이미지
자라도
2015-11-19
168
글번호 92545
시스템
답변완료

문의드립니다.

지금까지 친절하게 답변해주신 식을 바탕으로 질문 드립니다. N일전의 14시 50분의 종가가 N+1일 전의 종가보다 15퍼센트 상승했으면서 상한가가 아닌 종목을, N일전의 종가의 거래량과 함께 찾고 싶습니다. 상한가폭이 30퍼센트로 확대된 20150615부터 찾으려고 합니다. 다음의 식이 맞는지 궁금합니다. 감사합니다. input : N(2); var : cnt(0); var : 상한가(0),uplimit(0),cnt(0); var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(0); Array : V1[20](0),V2[20](0); Array : upv[100](0),DD[100](0); if date != date[1] Then{ V1[0] = 0; V2[0] = 0; for cnt = 1 to 19{ V1[cnt] = V1[cnt-1][1]; V2[cnt] = V2[cnt-1][1]; } } if stime == 144500 Then V1[0] = C; if stime == 150000 Then V2[0] = m; if date >= 19981207 then { if date < 20050328 && CodeCategory() == 2 then UpLimit = (BP[0] * 1.12); Else if date >= 20050328 and date < 20150615 Then UpLimit = (BP[0] * 1.15); Else UpLimit = (BP[0] * 1.30); if CodeCategory() == 2 then { if date >= 20030721 then { up1 = int(UpLimit/100+0.00001)*100; up2 = int(UpLimit/100+0.00001)*100; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; up7 = int(UpLimit/1+0.00001)*1; } else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/10+0.00001)*10; up7 = int(UpLimit/1+0.00001)*1; } } Else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; up7 = int(UpLimit/1+0.00001)*1; } if CodeCategory() == 1 || CodeCategory() == 2 then { if sdate < 20101004 Then{ If BP >= 500000 Then 상한가 = up1; Else If BP >= 100000 Then 상한가 = iff(up2>=500000, up1, up2); Else If BP >= 50000 Then 상한가 = iff(up3>=100000, up2, up3); Else If BP >= 10000 Then 상한가 = iff(up4>=50000, up3, up4); Else If BP >= 5000 Then 상한가 = iff(up5>=10000, up4, up5); Else If BP >= 1000 Then 상한가 = iff(up5>=5000, up5, up6); Else 상한가 = iff(up6>=1000, up6, up6); } Else{ If BP >= 500000 Then 상한가 = up1; Else If BP >= 100000 Then 상한가 = iff(up2>=500000, up1, up2); Else If BP >= 50000 Then 상한가 = iff(up3>=100000, up2, up3); Else If BP >= 10000 Then 상한가 = iff(up4>=50000, up3, up4); Else If BP >= 5000 Then 상한가 = iff(up5>=10000, up4, up5); Else If BP >= 1000 Then 상한가 = iff(up5>=5000, up5, up6); Else 상한가 = iff(up6>=1000, up6, up7); } } else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF 상한가 = up6; } } upv[0] = 상한가; if date != date[1] Then{ DD[0] = sdate; for cnt = 1 to 300{ upv[cnt] = upv[cnt-1][1]; DD[cnt] = DD[cnt-1]; } } if V1[N] > 0 and upLimit[n] > 0 and V1[N] >= DayClose(N+1)*1.15 and V1[N]<upLimit[n] and dd[n] >=20150615 then find(V2[N]);
프로필 이미지
회원
2015-11-19
200
글번호 92542
종목검색
답변완료

문의

인디게이트로 실시간으로 시스탬신호발생시 발생한 위치를 엑셀 셀 위치에 실시간으로 신호가 발생한 위치를 실시간으로 표시할수있는지요 수식좀 부탁드립니다
프로필 이미지
현671
2015-11-19
161
글번호 92541
지표
답변완료

일정시간 경과 후

아래에 관련 된 수식과 함수에 대하여 도움주시면 감사 하겠습니다. 가. S & P 500 지수선물에서 !. 영업일시작(현지시각 17:00:00) 후 첫번째 진입 신호 이후 부터 발생 되는 반대방향의 진입신호는 일정시간(분) 경과후 발생 하도록 하기 위한 수식 2. 일봉차트상의 직전영업일 종가의 표시(현지시각 16:00:00) 분봉차트상의 직전영업일 종가의 표시(현지시각 16:00:00) 틱 차트상의 직전영업일 종가의 표시(현지시각 16:00:00) 나. 일봉차트의 시스템성능보고서상에는 체결시각의 표시가 없는데 일봉차트에서 체결시각을 알 수있는 방안이 있나요? 다. NO.45073 에 추가질문 있습니다. 답변 부탁 합니다.
프로필 이미지
너무조아
2015-11-19
159
글번호 92540
시스템